To download the examples for Module 6, click Module_6_Examples.zip
      
      
Before starting into creating high-level models, consider the following points.
      Model Scope
         
         One of the very first model requirements is the scope of the model. Taking time to sit down and consider the following key aspects will richly reward you by saving time when actually creating the model.
         
            - Define the intended audience - what are the expectations?
 
            - Model complexity - define what behavior will be covered by the model, and what
               behavior is outside the model design.
 
            - Delivery method - will the model be delivered in hierarchical form or as symbol and
               model libraries?
 
            - Does the model contain sensitive IP? If so, you will want to distribute the model as
               encrypted ASCII text.
 
            - What parameters are required, and what kind of parameter editing dialog is
               desired.
 
            - Will this model be compatible with POP and therefore AC analysis?
 
         
       
      Divide and Conquer
         
         Once you have a good idea what the model scope is, you should start thinking about what functional blocks are required. Some points to consider:
         
            - Think about reusing key technology blocks. For example, if you need a rising edge
               time delay block in one major functional block, you will probably need that same
               block in another major block. Creating the rising edge time delay block as an
               independent subcircuit will allow you to reuse the same subcircuit in multiple
               hierarchy levels. Passing the time delay as a parameter will allow you to use a
               single subcircuit for all rising edge time delays.
 
            - Exploit parameterization. This will allow you to custom configure reusable
               technology blocks.
 
            - Consider if you need to use multi-level modeling techniques to create a model which
               has multiple schematic views for multiple test objectives. Using multi-level
               modeling, you can create models which are speed-optimized for different test
               objectives.
 
         
       
      Define PASS/FAIL Simulation Testbenches for Each Block
         
         Think about how to verify a particular technology block meets the design requirements. Time and time again users build high level models without thoroughly testing the lowest level functional blocks. Spending time testing the low level blocks will pay you back when those blocks are assembled into large models.