|   
 Verilog-AMS Design Objectives Document
    1. Introduction 
    The Design Objective Document (DOD) is a working document
    that is the basis for the analog and mixed signal extensions to Verilog95, called
    Verilog-AMS. A specification document will be produced in addition to this DOD which will
    be submitted to the Accellera Board for approval before submission to the IEEE standards
    committee. 
    The DOD contains a list of numbered Design Objectives (DO). A design objective has to
    be studied and possibly implemented in order to verify or improve its functionality. 
    The general format of a DO is: 
      <DO_number> ( <DO_classification> ) 
      <DO_formulation> 
      <DO_rationale> 
      <DO_comments> 
      
    
    where 
      DO_number 
      is of the form DOX.Y, X = chapter number, Y = number  
      DO_classification 
      is one of the keywords: must, should, or desirable. 
    
    The meaning of these keywords are: 
    must 
    The objective is a basic fundamental requirement and cannot be compromised. 
    should 
    The objective provides useful functionality beyond the basics and provides
    significant benefits if met. Unmet should objectives can be used as a basis for
    requirements in subsequent re-standardizations. 
    desirable 
    The objective will enhance the usability and/or performance of the design. However,
    if not met, overall performance will not be severely compromised. Additionally, desirable
    objectives are to be used as a basis for new requirements in subsequent
    re-standardizations. 
      DO_formulation 
      is a compact formulation of the design objective. 
      DO_rationale 
      collects some comments to explain or to highlight specific aspects of 
      the 
      design objective. More complete definitions of Verilog-A concepts and terminology will
      appear in the associated DOD Rationale document. 
      DO_comments 
      collects all the comments made about the objective. 
      
    
    The structure of the DOD is as follows: 
      1. Introduction 
      2. General Guidelines 
        2.1. Scope of the Language 
        2.2. Analog Aspects 
        2.3. Mixed Digital-Analog Aspects 
        2.4. Relationship to 1076.1 
      
      3. Analog Structures 
      4. Analog Behaviors 
      5. Interactions Between Analog and Digital 
        5.1. Analog to Digital Interactions 
        5.2. Digital to Analog Interactions 
      
      6. Simulation Mechanisms 
       
    
    2. General Guidelines 
      
    ~add in text to describe the overall MS drawing~ 
    DO2.0 (must) 
    Design objectives must ensure a reasonable degree of portability (at the source
    level...model libraries and PLI), while giving enough freedom to the implementation. 
    Rationale: 
    To move libraries between different implementations of Verilog-AMS 
    DO2.1 (must) 
    A subset of Verilog-AMS must be defined that is suitable for 
    description and simulation of continuous time systems at several levels. 
    Rationale: 
    This will provide a portable standard language for the description of complex
    continuous time models, including analog models, in a continuous time environment. 
      
    2.1. Scope of the Language 
    DO2.1.1 (must) 
    Verilog-AMS must be suitable for the description and simulation of analog, and/or mixed
    digital/analog systems at several abstraction levels. For example functional, behavioral,
    macromodel, and device levels. Verilog-AMS must not preclude any design methodology and
    must be technology independent. 
    Rationale: 
    As Verilog is primarily targeted towards the description and simulation of digital
    integrated circuits, Verilog-AMS must support the same objectives for analog and mixed
    analog-digital integrated circuits. Typical application areas of Verilog-AMS are IC
    design, ASIC design, PCB applications, mixed signal circuits and systems with emphasis on
    silicon. 
    DO2.1.2 (should) 
    Verilog-AMS should be suitable for the description and simulation of non-electrical
    (for example: mechanical, thermal, etc.) and mixed electrical/non-electrical systems. 
    Rationale: 
    In many modern systems it is not sufficient to model only the behavior of the
    electrical part. In power applications, for instance, the thermal properties must be
    considered to get an accurate picture of how a system works. Other examples are
    electro-mechanical systems, sensors etc. It is also natural to extend the scope of
    Verilog-AMS to support non-electrical systems as they are analogous to the electrical
    systems in their modeling requirements. The equations which describe state variable
    solutions of systems in the mechanical, thermal, etc. disciplines, are of the same form as
    the equations in the electrical discipline. 
    DO2.1.3 (must) 
    Verilog-AMS must be a "super-set" of Verilog95. Any description that is
    valid in Verilog95 must also be valid in Verilog-AMS, with the same simulation
    results. The only permitted exception to this is that new keywords introduced into the
    language may conflict with identifiers used in a Verilog95 description. 
      
    2.2. Analog aspects 
    DO2.2.1 (must) 
    Verilog-AMS must at least support time-domain analysis of lumped-element electronic
    systems. 
    Rationale: 
    Lumped-element time-domain analysis is one of the most frequent types used in
    electronic design. Moreover, the resulting time-domain descriptions allow the most natural
    coupling with digital Verilog. 
    DO2.2.2 (must) 
    Analog descriptions must re-use existing (Verilog95) syntax where it already
    exists. 
    Rationale: 
    The structuring mechanisms of Verilog95 and its programming facilities should
    be re-usable with little or no modifications for analog modeling with Verilog-A. 
    DO2.2.3 (should) 
    Verilog-AMS should not be restrictive in other types of analyses. 
    Rationale: 
    Verilog-AMS should let the door be open to whatever type of analysis that may
    become interesting to support in some next revision of the norm. 
    DO2.2.4 (should) 
    Definition to include the analog waveform values in $VCD_DUMP format. 
    DO2.2.5 (must) 
    Verilog-AMS must support the annotation of physical units to waveforms. 
    Rationale: 
    The annotation of simulation results with appropriate units would ease the
    interpretation of the results. The use of units may also improve the readability of the
    code. Third party waveform viewing tools will depend on consistent units for display via
    PLI. 
      
    2.3. Mixed Digital-Analog Aspects 
      
        DO2.3.1 (must) 
        Verilog-AMS must provide mechanism(s) that allow the analog and digital behavioral
        parts of a mixed description to interact. 
        
      
    
    Rationale: 
    Direct interaction of analog and digital components is not possible because they
    are not handled by the same simulation kernel. Therefore, a mechanism must be established
    to translate signals from analog-to-digital and vice versa. Translation involves, in
    general, both a value conversion and a conversion between two timing models. 
    DO2.3.2 (must) 
    The basic A/D and D/A interaction mechanisms of Verilog-AMS must be completely defined. 
    Rationale: 
      - See section 5.1 and 5.2
  
    
    
      
        D02.3.3 (must) 
        The model of the interface between the analog and digital instantiations
        of models must be customizable by the user. 
        
      
      
     
    Rationale: 
      
        a) For the mixed signal domain, the user must be able to define the A/D and the D/A
        port and signal value conversions. 
        b) The simulator must be able to insert the model automatically. 
        c) The user must be able to override this on an instance basis. 
          DO2.3.4 (must) 
          Time representation must maintain minimum loss in accuracy across mixed A/D and D/A
          interfaces. 
          
        
      
    
    Rationale: 
    Verilog 1364 specifies 64 bit integer TIC time, scaled by time scale, as the
    smallest event. This must be taken into account in the conversions to continuous time for
    both minimum resolvable events and the maximum run time. 
      
    2.4. Relationship to 1076.1 
    DO2.4.1 (desirable) 
    It is desirable that all Verilog extensions covered in Verilog-AMS be inter-operable
    with all extensions to VHDL covered in 1076.1. If differences exist between digital
    Verilog (Verilog95) and digital VHDL (VHDL93) that are inconsistent with this
    objective, fixing this is not included in this objective. 
    Rationale: 
    For users and EDA vendors, the ability to move easily between Verilog-AMS and
    1076.1 is desirable. 
    3. Analog Structures 
      
        DO3.1 (must) 
        Descriptions of components of analog behaviors must observe conservation-law or
        signal-flow semantics at continuous time. 
        
      
    
    Rationale: 
    Conservation-law semantics is required for the structural description of
    lumped-element systems (either electronic or from other disciplines). Signal-flow
    semantics is required by the need to describe analog systems at the system-level. 
    DO3.2 (must) 
    Verilog-AMS must provide a migration path for SPICE based libraries and netlists. 
    Rationale: 
    Prospective users of Verilog-AMS are likely to have a large investment in SPICE
    libraries and netlists that they want to re-use. This does not require SPICE syntax to be
    included in, or understood by, Verilog-AMS, but forces it to allow a mechanism dealing
    with backward compatibility (i.e. how all the SPICE concepts can be translated into
    Verilog-AMS). 
      
        a) Spice structural concepts must exist in Verilog-AMS. 
        b) A PLI-A mechanism must exist to load model equation. 
        c) Mechanism must exist to declare externally defined modules as built in primitives or
        as foreign language modules. 
        d) Establish standard for common model names and equations. 
         
      
    
    4. Analog Behaviors 
    DO4.1 (must) 
    Verilog-AMS must support behavioral specifications of an analog system by a set of
    linear/nonlinear differential/algebraic equations and/or by a sequence of assignments. 
      
        DO4.2 (must) 
        Verilog-AMS must support the description of continuous time behavior both by explicit
        and by implicit equations described explicitly. 
        
      
    
    Rationale: 
    Although many examples of analog behavior specification can be formulated as
    explicit equations, there are cases where this is not possible, for instance roots of
    transcendental equations. 
      
        Explicit example: y=F(x) 
        Implicit example: F(x)=0 ; G(x)=F(x) ; x=F(x) 
         
      
    
    DO4.4 (must) 
    Verilog-AMS must provide a mechanism to access quantities that are used inside a module
    but not associated with ports (i.e. connection points satisfying the KCL/KVL semantics)
    from outside of the module. 
    Rationale: 
    The port list may be used by other netlist oriented programs such as ERC and other
    Verilog tools. Additional ports used only for some analysis or abstraction could cause
    problems. Thermal analysis, for example, might require additional ports to be added to
    module definitions. This would not allow pre-compiled libraries to be shipped independent
    of analysis. 
    DO4.5 (must) 
    Verilog-AMS must support the description of analog behavior that depends on time. 
    Rationale: 
    Time dependent models are used at higher levels of abstraction. This means that it
    must be possible to write time dependent equations. This feature is also needed to
    implement a time-dependent source. 
    DO4.6 (must) 
    Verilog-AMS must support simulation in terms of time steps and time points. 
    Rationale: 
    At higher levels of abstraction system behavior appears as discontinuous such as
    the bouncing ball and the friction example. Another point is the handling of discontinuous
    input stimuli (e.g. piece-wise linear). Three proposed bounding functions are: breakpoint,
    bound step, and threshold. 
      
        DO4.7 (must) 
        Verilog-AMS must provide a time derivative operator. 
        
      
    
    Rationale: 
    A time derivative operator is obviously needed to write analog behavior with
    differential equations. 
      
        DO4.8 (must) 
        Verilog-AMS must provide an integral operator. It must allow specification of optional
        DC solution or initial condition. 
        
      
    
    Rationale: 
    The integral form of a behavioral equation can always be transformed 
    into a form using only time derivatives. Moreover, the integral operator is 
    not always defined (e.g. in DC analysis). 
      
        DO4.9 (must) 
        Verilog-AMS must provide pre-defined mathematical functions (such as sine, cosine, exp,
        log, ln, etc.).  
        
      
    
    Rationale: 
    The default math functions will be defined by the choice of C runtime
    math libraries. 
      
        DO4.10 (desirable) 
        It is desirable for Verilog-AMS to accept transfer functions described as rational
        polynomials (in s and z). 
        
      
    
    DO4.11 (desirable) 
    It is desirable for Verilog-AMS to accept table descriptions of behavior. 
      
    5. Interactions Between Analog and Digital 
    DO5.0 (must) 
    Default conversions between analog and digital connection points must be provided. 
    Rationale: 
    This would make the direct connection between analog and digital connection points
    legal without additional syntax. This might be required when analog-to-digital conversions
    are needed for the simulation and do not correspond to any physical component in the
    system. 
      
    5.1. Analog to Digital Interactions 
    DO5.1.1 (must) 
    A system-supplied thresholding function must be accessible to the user in defining
    customized thresholding functions. The user must be able to define what a
    "significant change" is that defines thresholds within the analog system. 
    Rationale: 
    Thresholding is a common way to define analog to digital interactions. A
    system-supplied thresholding function should satisfy most of the needs, provided that the
    user is able to change the threshold values.  
    DO5.1.2 (must) 
    Verilog-AMS must support at least the following analog to digital interaction
    mechanisms: 
      
        a) a digital process must be able to read an analog value 
        b) it must be possible to make a digital process sensitive to an analog value. 
        
      
    
    Rationale: 
    One primary goal of Verilog-AMS is to allow the description and the simulation of
    mixed digital-analog circuits. To that end, it is necessary to allow analog objects to be
    read within the digital description. 
      
    5.2. Digital to Analog Interactions 
    DO5.2.1 (must) 
    Verilog-AMS must support at least the following digital to analog interaction
    mechanisms: 
      
        a) an analog behavioral model must be able to read a digital signal. 
        b) it must be possible to make an analog behavioral model sensitive to a digital
        signal. In particular, it must be possible to enforce an analog time step in response to
        an event on a digital signal. 
        
      
    
    Rationale: 
    One primary goal of Verilog-AMS is to allow the description and the simulation of
    mixed digital-analog circuits. To that end, it is necessary to allow digital objects to be
    read within the analog description. 
      
        DO5.2.2 (must) 
        Verilog-AMS must address the problem of discontinuities that the digital part may
        produce due to the intrinsic properties of digital signals. 
        
      
    
    Rationale: 
    The instantaneous change of a digital signals value is likely to produce numerical
    difficulties when computing the state of the analog part in reaction to this change. This
    DO is a special case of the problem described in DO4.1. 
    6. Simulation Mechanisms 
    DO6.1 (must) 
    Verilog-AMS must be implementable using a wide variety of simulation algorithms. 
      DO6.2 (must) 
      Verilog-A must define the mechanism related to the simulation of the analog part of a
      Verilog-A description. 
      
    
    Rationale: 
    The analog simulation mechanism (or analog simulation cycle) refers to the way the
    analog behavior described in the Verilog-A model (i.e. equations) must be handled during
    simulation, or, more specifically, must be handled for each of the available analyses
    (e.g. DC, transient, or small-signal frequency analyses).  
      DO6.2.1 (must) 
      Verilog-AMS must define the mechanism related to the simulation of the mixed
      digital-analog descriptions. 
      
    
    Rationale: 
    The mixed analog-digital simulation mechanism (or mixed analog- digital simulation
    cycle) refers to the synchronization between the analog and the digital simulation
    kernels. This aspect aspects is very important to ensure a reasonable degree of
    portability for the models written in Verilog-AMS. 
      DO6.3 (must) 
      Verilog-AMS must support the specification of user-defined initial conditions. It must
      also provide a way to start the simulation in a consistent state. 
      
    
    Rationale: 
    The specification of initial conditions is inherent to the formulation of analog
    behavior with differential equations. For electronic circuits, they are voltages across or
    currents through some branch in the circuit. Another aspect is the need to be able to
    compute the static (DC) operating point of the description, since a lot of analyses do
    rely on it to perform successfully (e.g. transient or small-signal frequency analyses). 
    DO6.4 (must) 
    A communication mechanism must be provided to pass information back and forth between
    the Verilog-A model and the analog simulation kernel. Only the communication mechanisms
    must be defined, not the way the simulator will handle them. 
    Rationale: 
    Simulation control is needed in some form because analog simulation methods may use
    various numerical algorithms. The accuracy of the solution is usually related to a set of
    numerical tolerances, in order to decide whether the solution has converged or not, and
    also to the actual implementation of the numerical algorithms, because they are optimized
    towards this specific usage (e.g. limiting schemes to avoid numerical overflow). Another
    point related to simulation control is to allow to perform statistical simulations, where
    the same model is simulated several times for different values of some specific
    parameters. 
      
      
    Revision History of
    Design Objectives Document
      Kim Hailey/Ira Miller 7/13/95 Version 2.0 
      Committee 8/16/95 Version 3.0 
      Edited by Vivek Sagdeo for the Committee 
      discussions on 8/17/95 8/21/95 Version 4.0 
      discussions on 8/31/95 9/01/95 Version 4.1 
      Committee Review 10/1/98 11/20/98 Version 5.0 
      note: 
      Verilog95 means Verilog IEEE 1364  
      Verilog-AMS means this extension to Verilog95 
      "~" means "needs more work" 
      
     
     |