Home
        SmartModel Library User`s Manual
         Contents
1.                                     TSBUF2                         Figure 12  Sample SmartModel Circuit    SmartCircuit Model Pin Mapping    Place and route tools assign physical pin numbers to nodes in your design  schematic or  HDL   When connecting a SmartCircuit model symbol in a schematic  or netlist   you  must know which pins on the symbol correspond to the nodes in the design  Use the  model   s pin map file   pmp  as a cross reference between pin names and numbers     The pin map file generated by using the  p switch with the ccn_report tool is a duplicate  of the pin map file generated by the smartccn compiler  Pin map files contain cross   references between model port names  package pin numbers  and the design netlist   Figure 13 illustrates this relationship     92 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Design Netlist Package Pins Model Ports    IO_MC28  IO_MC13  IO_MC1    o    Vendor Place  amp  Route Tools SmartCircuit Model Pin Mapping       Figure 13  SmartCircuit Pin to Port Mapping  T  Note    Pin naming conventions are detailed in the datasheets for individual  SmartCircuit models  For information on finding model datasheets using  the Browser tool  refer to    SmartModel Datasheets    on page 27     Tracing Events In Your Design    When you encounter problems with a design during a simulation run  it is often helpful  to be able to trace events to see where the problem is occurring or to 
2.          When a PLD model with a JEDEC programming file is loaded for simulation  the model  performs a series of error checks  The model checks the order of the fields in the file  and then compares the character types and number of digits against the field type  The  model also checks that all fuse links are specified  and that all the addresses are legal for  the device  Finally  the model computes the checksum and checks it against the  checksum in the JEDEC file     September 2001 Synopsys  Inc  83    Chapter 5  PLD Models SmartModel Library User   s Manual    The following example shows the kind of information message that the model generates  after going through the error checking sequence     Info  Loading the JEDEC file    U31 jed        n U31   comp PAL16R4   loc B1 8   lai mmi_1l6r4   at t 0  0 0 ns          Invalid numeric character  L  on line 23   A hexadecimal digit is expected            The checksum value    3056    on line 63 does  not match the calculated value    3543                   Not all of the fuses have been defined  Th  first undefined fuse is at address    4            1036 fuses have been blown                                Using PLD Models    To make PLD models easier and more efficient to use  follow these guidelines   e Key JEDEC file names to your instance name     Use the instance name as part of your JEDEC file name  This is a handy way to pair  PLD models with their programming files because each model has a unique instance  name     e P
3.         set bus bitOrder little   Set bus to little endian  set bus delimiter       Bus numbering is between   s  assign window net data 0   gt  databus    This set of commands finds all nets of the form data     with data 0  as the most  significant  and buses them together to form a window element called databus     Using SmartBrowser Commands    The SmartBrowser tool recognizes a large set of commands  all of which are described  in    SmartBrowser Command Reference    on page 113  To make the command set easier  to work with  the SmartBrowser tool supports abbreviation  aliasing  and automatic  completion of interactive commands     Scope of Commands    The output produced by many of the SmartBrowser commands depends on the amount  of your design that is visible to the command  this view is referred to as the scope  Your  current location is the current scope  As you traverse through a design  your current  scope changes  as does the information that is displayed by commands     At the top level of a design  the scope encompasses the entire design  As you travel  deeper into the design  the scope becomes more and more focused  Some commands  can traverse a design and produce reports that contain information outside the current  scope  while other commands are limited to seeing only what is in the current scope     Abbreviating Interactive Commands    You can abbreviate any interactive command  using the shortest string that uniquely  identifies the command  In most cases 
4.      Arguments    modelName  The SWIFT model name     port_map  Consists of one or more port name mapping statements  It maps SWIFT port names  to port names in the SDF file  The syntax for a port_map is       PORTMAP   SWIFTName DesignName        SWIFTName  The model   s SWIFT port name     DesignName  The port name used by the delay calculator to generate the SDF  Unspecified ports  are assumed to have identical names  In the case of duplicate entries  the last entry  is used     The DesignName is used when the model   s port name doesn   t match the SDF  generated by the IC vendor   s delay calculator  This can occur when     o HDL compiler technology is used to generate a model   o The design   s port name is changed to create an HDL independent model   o The delay calculator has not been updated     instance_list  Enumerates each model instance to have timing annotated and consists of one or  more entries  The syntax is      INSTLIST   Unstance Component         186 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 9  Back Annotating Timing Files    Instance  The full hierarchical instance name of the model instance in the circuit     Component  The SWIFT    Timing Version    attribute  selects the base  unannotated  timing  values shipped with the model     ANNOTATE Section    The Annotate section consists of one or more individual SDF annotator entries  There is  an SDF annotator entry for each SDF file that is to be parsed and applied to the 
5.     Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    bus_name  The name of the bus alias     namel  The name of a net  state  external port  or previously defined bus that is to be  mapped to the bus_name alias  You must provide at least one name     name2    namen  Optional additional names to be mapped to the bus_name alias     The bus command must appear in the MCF file after the load command  In addition   you must define a bus name before you can use that bus name in another command     do Command  do filename    Executes the file specified by filename  A do command can appear anywhere in an  MCF file     filename  The name of a script file to be executed by the model     echo Command  echo string    Echoes the specified string to the simulation session transcript  An echo command can  appear anywhere in an MCF file     string  The string to be echoed to the simulation transcript window     help Command  help  Displays a help message for the MCF file     load Command  load   source  filename   nocheck    scale factor   smartcnn switches     Loads either a compiled configuration netlist  CCN  file  if the  source switch is not  used  or a design source file  if the  source switch is used   The load command must  appear in the MCF file after the set range command  You can specify the  source  the   nocheck  and the  scale switches on the same command line     122 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCi
6.     the output depends on the D input  For the    Smart Flip   Flop     if D is 0 as in Row 3  then newQ is known to be 0  This situation leads to  either CLR  being asserted  or the 0 at D being captured by the clock  CLK    Conversely  if D is 1 as in Row 4  then newQ is truly unknown  In this case  if  CLR  is asserted  then newQ is 0  However  if CLR  is not asserted  then the 1 at  D is captured by the clock  which makes newQ a 1     Case 4  Rows 5 and 6 show what happens when both the CLR  and D are unknown  and  the clock has not changed while Q has been at a steady state  In the    not smart     flip flop the output is unknown  However  in the    Smart Flip Flop    the output  depends on the previous state of the Q output     For the    Smart Flip Flop     if Q is 0 as in Row 5  then newQ remains at 0 either  because CLR  is asserted or no clock has occurred to change the output   Conversely  if Q is 1 as in Row 6  then newQ is truly unknown  In this case  if  CLR  is asserted then newQ is 0  However  if CLR  is not asserted  then the  output remains the same     Modeling Changing or Uncertain States    SmartModel Library models simulate all the timing parameters and logic states  specified by the device manufacturer  but in some situations the states of some pins are  uncertain  In most memory parts  for example  the data input output lines can be either  high  low  high impedance  or changing from one state to another  The models simulate  each known state according
7.    Set your environment variables and search paths by following the setup instructions  provided in the SmartModel Library Installation Guide  You are now ready to use the  Browser     September 2001 Synopsys  Inc  47    Chapter 3  Browser Tool SmartModel Library User   s Manual    Starting the Browser  At the command line prompt  enter the following command to start the Browser      SLMC_HOME bin sl_browser  You can also customize some Browser features by creating an initialization file called an  sl_browser ini file  Features that you can customize include creating a custom user  menu  displaying by model at startup  and disabling the display of user defined timing     UDT  files  Following are procedures that you can follow to accomplish any of these  tasks     Creating a Custom User Menu    If you have your own custom programs that operate on a specific model  and you want  to integrate these programs with the Browser  you can customize the Browser interface  to create a User menu that invokes these programs     In the current working directory or in  HOME  for access by you only   or in   LMC_HOME data  for access by all who use the same  LMC_HOME   create a file  named sl_browser ini     Enter the following lines in the file      USER TOOLS    menu text l commandl to execute  menu text 2 command2 to execute  menu text 3 command3 to execute  menu text n commandn to execute    Note that you must enter the string  USER TOOLS  literally   The following example sl_browser in
8.    dialog box closes and the selection pane displays the corresponding set of timing  versions     Status Area    The status area displays the path to the model library that appears in the Selection Pane   the number of models and timing versions found  and various status messages     The status area also displays tool tips for the toolbar buttons as you move the pointer  over them     Model Filters Dialog Box    The Filter function opens the Model Filters dialog box  Use it to specify filter options  for displaying a subset of the model library  You can select one or more of the four filter  options by checking the appropriate check box  The dialog box fields are as follows     68    String Search field   Contains a string that specifies a model name or timing  version name to search for  The search field is initially set to display all models or  timing versions  By default  this field is selected  checked  when the dialog box  opens     Vendors list box   Contains a list of vendors to select as filter options  Use this  field if you want to narrow the display to models of devices from specific vendors     Function Subfunction list box   Contains a list of functions and subfunctions to  select as filter options  Use this field if you want to confine the display to models  that have specific functions or subfunctions     Licensed Packages list box   cContains a list of licensed packages to select as filter  options  Use this field if you want to confine the display to models
9.    e Model   Only some models support Windows  Typically  these are processor   CPLD  FPGA  and memory models  Refer to the model   s datasheet to find out if it  supports Windows     e Simulator   Currently  SmartModel Windows is supported by many simulators   including  but not limited to  Synopsys VCS  Cadence Verilog XL and RapidSim   IBM AUSSIM  Mentor Graphics QuickSim I  ViewLogic ViewSim  MTI Verilog   Lucent ATTSIM  and Synopsys VSS  Refer to your simulator documentation for  information about Windows support     e Authorization   SmartModel Windows is automatically enabled if you have one of  these license features     o simmodel ultra   o simmodel prem   o simmodel sw all   o simmodel std   o simmodel base   o simmodel sw model_name  e g   simmodel sw ttl00     o simmodel sw model_family   e g   simmodel sw xc40000     24 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 1  SmartModel Library Features    Predefined Window Elements    For SmartModels that support Windows  Synopsys provides window elements with  names  dimensions  and read write features that correspond to registers specified by the  manufacturer for the modeled device  These predefined window elements are  documented in each model   s datasheet     Table 1 shows examples of predefined window elements taken from specific model  datasheets     Table 1  Examples of Predefined Windows from Model Datasheets                               Number  of Window  Model Elements Element 
10.   00 000 000 000 000 000 000 100 X00 000 001 Binary  0 o0 0 0 0 0 0 1 X 0 1 Octal  o 0 0 0 0 0 0 1 0 0 1 PCl conversion          The PCL program converts the octal value of X to 0  so the number in octal becomes  04001     September 2001 Synopsys  Inc  139    Chapter 7  Processor Models SmartModel Library User   s Manual    PCL Constructs    PCL syntactical constructs include the following     Identifiers  Data types  Variables  Constants  Comments  Operators  Expressions  Statements    Function definitions    Following are details on how to use each of these constructs in PCL programs     Identifiers    In PCL  the names that reference variables  named constants  macros  and functions are  called identifiers  An identifier can be any sequence of alphanumeric characters and  underscores  but must begin with an alphabetic character  The PCL compiler is  case sensitive  the identifiers    ABC    and    abc    are distinct     Keywords are reserved by the PCL compiler for statements  data types  and other  elements of the language  Using a keyword as an identifier causes a syntax error   however  note that the PCL keywords are defined to be in lower case  Table 10 lists the                               PCL keywords   Table 10  PCL Keywords  break case continue  default do else  for if int  return switch while  140 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Data Types    The only valid data types in PCL are integers  arrays
11.   215  SmartModel browser 45  swiftcheck 47  50  51  59  209  210  versions  selecting 47  VSB  Virtual SmartBrowser  47  VSB  Visual SmartBrowser  90  trace fin command 119  trace fout command 119  trace instances command 119  Trace messages  debugging designs with 153  trace nets command 119  trace objs command 119  trace pkgPin command 119  trace ports command 119  trace scvInstances command 120  trace symbolPin command 120  trace topNet 120  trace topNet command 120  Tracing  causal  analysis reports 94  causal  commands 94  Types  SmartModels 22    U    UDT  see also User defined timing files 49  unalias command 120  Unknowns 34  approaches for using 40  Unprogrammed states  in memory models 37  Unsupported devices  using 100  Usage  error checking 33  User defined timing files  disabling display 49       September 2001    Index    Values  logic 32  returned 138  unknown 139   Variables  PCL 141   Vendor models  displaying 56   Versions  MDL version numbers 28  216  model  determining most recent 54  model  finding 57  model  selecting 22  timing 23  timing  adding new 164  timing  creating new 162  timing  custom 53  timing  displaying for one model 55  tool  selecting 47   Violations  constraints  scope 97   vsb command 47    W    WDF  window definition files 98  while statement 153  window command 124  Windows  AutoWindows 130  Browser 61  Browser  displaying model name 49  creating 98  definition files 98  elements  using 27  memory 25  Memory Address 26  Memory Arra
12.   Inc  29    Chapter 1  SmartModel Library Features SmartModel Library User   s Manual    SystemC SWIFT Support    Synopsis provides a SystemC SWIFT interface that supports Flex Models  SystemC is a  C   class library used for creating cycle accurate models of software algorithms   hardware architecture  and interfaces for System on Chip  SoC  and system level  designs  As part of its class library  SystemC provides a cycle simulation environment   is designed to work with event driven logic simulators  and provides extensive support  for modeling device timing accurately  For more details see the SmartModel Products  Application Notes Manual     30 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    2    About the Models    Introduction    SmartModel Library models are behavioral simulation models of integrated circuits   This chapter provides information about standard and model specific SmartModel  features in the following major sections     e Features Common to Most Models  e Implementation Specific Model Features  e Modeling Assumptions    e Modeling Changing or Uncertain States    Features Common to Most Models    SmartModel Library models have many features in common  This bedrock technology  helps give models from the library a similar look and feel that makes them easier to use   Common features include 64 bit time  supported logic values  status reporting  error  checking  unknown handling  user defined timing  and sel
13.   Ne oNe Ne pe Ne                        ON                            D   GOGGOGGOGOOGO GDO       OOO  O S OOo oS  OOOO CCCCOO  Ne Ne Ne Ne         oN          Figure 18  Assumed Propagation Delays    You can change any of the delay values by creating a custom timing version of the  model     Models With Vendor Supplied Delay Ranges    When an IC manufacturer specifies a delay range for a part  the data is always modeled   Occasionally a manufacturer does not supply all three delay values for every parameter   in which case  the model uses derived values as shown in Table 15  If a manufacturer  specifies a single propagation delay  then the specification is entered for all three values  in the model     Table 15  Derived Propagation Delay Values                         Given MIN TYP MAX  ALL MIN TYP MAX  MIN  amp  TYP MIN TYP 3 2  TYP  TYP  amp  MAX 1 5 TYP TYP MAX                      168 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    Chapter 8  User Defined Timing    Table 15  Derived Propagation Delay Values  Continued                                               Given MIN TYP MAX  MIN  amp  MAX MIN 2 3 MAX MAX  TYP 1 5 TYP TYP 3 2 TYP  MAX 1 5 TYP 2 3 MAX MAX   gt  Note    A device is never specified with just a MIN spec  so that case does not  appear in the table     Calculated Propagation Delays    Occasionally  device manufacturers do not supply all three propagation delay values for  every delay parameter  In such cases  Logic Modeling calcul
14.   Same as the Display  Datasheet toolbar button      64 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Filter      Opens the Model Filter dialog box  where you can select filtering criteria for displaying  a subset of the model list   Same as the Filter toolbar button     Copy Customizable Files  timing         Opens the Copy Customizable Files dialog box  where you can copy timing files or  other customizable files for the selected model or timing version to a specified directory  for customization   Same as the Copy Customizable Files toolbar button      Model Detail       Opens the Model Detail dialog box  which provides version  platform  and other  information about the selected model or timing version   Same as the Model Detail  toolbar button      Report       Opens the Report dialog box  which displays environment information and allows you  to perform consistency checks on the installed library   Same as the Report toolbar  button      User Menu    A custom User menu appears only if you create one using the optional sl_browser ini  file  Clicking on the dashed line lets you    tear off    the User menu and drag it to a  convenient spot on your desktop for easy reference as you work  The following  example menu entries invoke the external commands as specified in the sl_browser ini  file  You must select a model before choosing one of these entries     Optional User Command 1    Optional User Command 2    Optional User C
15.   SmartCircuit FRGA Models    106    PIN    PAD94       PIN    PAD96       PIN    PAD98    109  107  101       PIN    PAD99          PAD100       PAD101       PAD102       PAD103       PAD104       PAD105       PAD106       PAD107    100    99  98  97  96  95  94  93  92       PIN    PAD108  PAD109       PAD110       PAD111                            PAD112       PAD113  PAD114  PAD11       PAD11       PAD11       onda uo    PAD11    911 C    88          PAD119       PAD120       PAD122       PAD123                            PAD124       PAD125  PAD126  PAD127       PAD128    914 C  915       73  72       PAD129       PAD130       PAD131       PAD132       PIN    PAD133  PAD134       PAD135       PAD136       PAD137    70  69  68  67    916 C       PAD138       PAD140          PAD        PAD        PAD        PAD                                SNS  OMDIANE    PAD           I CE CECE O A EGE EE E    C    GEPRE ann   Hae a qgqaQggaqaaqantan      gt  CEEE EEIE Pe   CE GEGE E    Synopsys  Inc     SmartModel Library User   s Manual    September 2001    SmartModel Library User   s Manual    PAD150          PAD151  PAD152          PAD153  PAD154           COR ar a en SNS  OOFRNWA  Ce EY OF Cs    PAD155       PIN PAD156    PAD157 37 C       PAD158 36 C       PAD159 35 C                            PAD160 34 C       PIN PAD161  PIN PAD162    PAD163 32       PAD164 31       PAD165 30       PAD166 29       PAD167 28       PAD168 27       PAD169 24       PAD170 23       PAD171 22       P
16.   The following assign commands can also be used issued through the SWIFT command  channel  except the assign timing command    assign monitor instance name  Assigns a monitor to all nets attached to the specified instance     assign monitor net namel      nameN     bus_name    Defines a monitor definition for the specified net  The optional   bus_name  parameter lets you bus the specified elements together     114 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    assign monitor net name  gt  bus_name  Defines a monitor for the specified net  looks for all elements related to the  specified net  and buses the found elements together     assign monitor state namel     nameN      bus_name    Defines a monitor definition for the specified state  The optional   bus_name  parameter lets you bus the specified elements together     assign monitor state name  gt  bus_name  Defines a monitor for the specified state  looks for all elements related to the  specified state  and buses the found elements together     assign timing timing_label   port_name   min_val   typ_val max_val    Modifies the min  typ  and max values of the specified timing label  If the timing  label is port specific  you must specify the port name  If only the min_val is  specified  then all values are set to min_val  Note that this command cannot be  issued through the SWIFT command channel     assign window auto  Automatically windows all nets in the curren
17.   When used this way  SmartBrowser trace commands must be shortened to    tr     to prevent them from being misinterpreted as standard SmartModel command channel  trace commands     118 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    trace fin instance_name   max_level    Traces and displays a connection tree of all inputs to the specified instance cell  scope  The max_level parameter specifies how many levels of logic to trace   Here   s an annotated example for a trace fin command issued for the TSBUF2  instance shown in Figure 12       In this example  the input port    IN    of TSBUF2 is connected to net    N8        TSBUF2  TRI  in  IN net  N8         The previous net    N8    is connected to the output    Q    of the DFF instance   which is driven by the    D    input  The    D    input is connected to the net    N5          This notation    lt   indicates that the signal is connected to the net on the  previous level of hierarchy      lt   DFF  DFF  out  Q in  D net  N5    lt   BUF3  AND1  out   amp 1 in   amp 2 net  A2      lt  lt   lt A2 gt    lt   DFF  DFF  out  Q in  CLK net  N6    lt   BUF4  AND1  out   amp 1 in   amp 2 net  CLK      lt  lt   lt CLK gt    lt   DFF  DFF  out  Q in  CLRN net  VCC   lt   DFF  DFF  out  Q in  PRN net  VCC TSBUF2  TRI  in  OE net  N3   lt     BUF1  AND1  out   amp 1 in   amp 2 net  OE    lt  lt   lt OE gt                    trace fout instance_name   max_level    Traces and dis
18.   e    Debugging Tools Overview    on page 91  Procedure e    Tracing Events In Your Design    on page 93  e    Viewing Internal Nodes During Simulation    on page 97  e    Browsing Your Design Using SmartBrowser    on page 108  Reference e    SmartBrowser Command Reference    on page 113    e    Model Command File  MCF  Reference    on page 121  e    smartccn Command Reference    on page 124    e    ccn_report Command Reference    on page 127          September 2001    Synopsys  Inc     85    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    For a detailed application note that discusses how to use the various SmartCircuit  debugging tools to verify an FPGA design  refer to the SmartModel Products  Application Notes Manual     Using SmartCircuit Models    SmartCircuit models integrate smoothly with the software tools from leading CPLD and  FPGA device vendors and third party vendors that produce netlist or JEDEC files  back annotated with package pin and or timing information     SmartCircuit models must be configured and initialized before they will operate  The  model configuration phase consists of attaching SWIFT parameters to a model instance  via the simulation environment  The software assigns default names to these parameters   With SmartCircuit models  you must set the SCFFile parameter to point to the location  of the model command file  MCF  for the model     If the model cannot find the specified MCF file at initialization  it issues an er
19.   is 12  the column address is 34     As another example  we use a 256 KB memory and a MIF file address of 2405   Written as an 18 bit value  the address is     00 0010 0100 0000 0101  Divide the 18 bit address into two 9 bit segments and translate back to hex   0 0001 0010 0 0000 0101    In hex  the row address is 12  and the column address is 05     Memory Image File  MIF  Format Checks    When a model configured with a MIF file is loaded for simulation  the model performs  error checks to validate that the following conditions are true     e Valid memory locations for the device were specified   e Legal specifications were used   e Data values do not exceed the memory width     If a model   s MIF file loads correctly  you will see a message similar to the following  example     Info  Loading the memory image file  U2 mem     n U2   comp lai_cy7c128 14 0 8   loc A1 48   lai CY7C128 25    at t 0  0 0 ns               17 values have been initialized           78 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 4  Memory Models    If a model   s MIF file does not load correctly  the resulting message will be similar to the  following example        Info  Loading the memory image file  U2 mem      n U2   comp lai_cy7c194 14 0 8   loc A1 48   lai CY7C194 25     at t 0  0 0 ns            Invalid data value  DB  on line 2    It must be less than or equal to F  The line will  be ignored          Invalid data value  18  on line 3   It must be less than or 
20.   mhz megahertz  ghz gigahertz   comments  comments               comment_text     Comments begin with   or   and continue to the end of the line     Using the Timing Compiler    You use the timing compiler to compile timing data files for models  The timing  compiler produces a timing file named model tf in the current working directory  The  tool also looks for the specified timing data file in the current directory  If the timing  data file that you want to compile is not in the current working directory you must  specify a full path name to the file     In addition to producing a model tf file that a model reads at simulator startup  the  timing compiler also performs a series of checks on your timing data file     Timing Compiler Checks  The timing compiler performs the following checks on the specified input source file     e Source Grammar Checks  Verifies that the source file is written correctly   Ensures sensible source organization  For example  nested cases are not allowed     180 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    e Complete Source Checks  Verifies that the timing source for a given model is  completely specified  Partial timing specifications are not allowed  The timing  statements in the source file must exactly match the template     e Global Value Checks  Checks timing source values  While negative values are  allowed in the timing source  they are not manageable in the model  Because  negativ
21.   name  Note that the new SDF file may have certain SDF constructs commented out  to account for timing data that was extracted and back annotated to the  tf files     September 2001 Synopsys  Inc  191    Chapter 9  Back Annotating Timing Files SmartModel Library User   s Manual    e SDF files that have the extracted timing values commented out     Copying the Resulting Timing Files   tf     You can copy the new  tf files to the appropriate model directories or change your   LMC_PATH environment variable so that the correct  tf files are picked up by the  simulator     TS Note  If you copy back annotated  tf files into the model directories  all users of  the models will be using the back annotated  tf files  whether that is their  intent or not  If instead you place your back annotated  tf files into a  directory that you then reference with  LMC_PATH  only you are affected     Replacing the Original SDF Files    To run your simulation with the back annotated  tf files  replace the original SDF files in  your design with the new SDF files  listed in the SDFFILES LST      If you use Verilog XL HDL you can use Verilog XL preprocessor directives to switch  between your original SDF file and the new SDF file as follows        ifdef USE_BA   Ssdf_annotate     mySdf sdf new         else  Ssdf_annotate     mySdf sdf            endif                        When you want the new    mySdf sdf new    to be active  add the following to your  original simulation command line      define 
22.   on page 68     To display the list by model name  choose the Display by Model Name command from  the View menu  The selection pane displays an ordered list of models by model name   In the View menu  the Expand Model  Collapse Model  Expand All  and Collapse All  commands are no longer grayed out     To toggle the hierarchical display of timing versions for a single model     1  With the selection pane displaying an ordered list of models by model name  click  on the folder icon of the desired model  The selection pane displays the model and  its timing files as a hierarchical tree     2  Click again on the folder icon of the same model  The timing files disappear       Note  You can also toggle the hierarchical display using the Expand Model     Collapse Model  Expand All  and Collapse All commands     September 2001 Synopsys  Inc  67    Chapter 3  Browser Tool SmartModel Library User   s Manual    To toggle the hierarchical display of timing versions for all models     l     Select the Expand All command from the View menu  The selection pane displays  all models and their timing files as hierarchical trees     2  Choose the Collapse All command from the View menu  The timing files disappear     To display a list of timing versions from a single configuration  LMC  file     1     From the File menu  choose Open Specific Configuration  LMC   The Open  Configuration File dialog box opens     2  Select the desired configuration file and click OK  The Open Configuration File 
23.   the list can  be derived from more than one configuration  LMC  file  as indicated by the designation      LMCs     following the Use Environment Settings menu entry  If there are no custom  configuration  LMC  files  then the list is derived entirely from the default configuration   LMC  file     For each model called by the design  the software searches first for model versions  specified in the custom configuration files listed in  LMC_CONHIG  in the order in  which they are listed  If a model is not found  the software next searches for it in the  default configuration  LMC  file   LMC_HOME data platform lmc     58 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    For example  if   e LMC_HOME  d IsI latest  and  e LMC_CONFIG  user me my_platform lmc  user joe joes_platform lmc  for each model  the model version is obtained as follows     1  The software first searches for the model in  user me my_platform lmc  If the  model is found  that model version is used and the software stops searching for the  model even though it might also be present in subsequent files     2  If the software does not find the model in the first file  it searches   user joe joes_platform lmc  As before  if the model is found  that model version is    used and the software stops searching for that model     TS Note    If the first model encountered is a version that is not in the library  the  selection pane does not display that model at all  even t
24.   variables that you create will override    System     variables set up by the system administrator at your site     If the NT machine where you installed the SmartModel Library is to be used by multiple  users it is probably best to set basic environment variables such as  LMC_HOME as     System    variables  To do this you need administrator privileges  First  highlight an  existing entry in the System Variables portion of the System Properties window  Then  enter the variable name and value and click Set     Running Console Applications on NT Platforms    Many SmartModel Library user procedures assume that you have access to a UNIX  shell such as the C shell  For example  instructions and examples for using SmartModel  Library command line tools assume that you have access to a C shell  If you are  running on an NT platform  use the Console Application to run these tools  To access  the Windows NT Console Application  select Start  gt  Programs  gt  Command Prompt     References to environment variables on the NT command line must be delimited by the  percent sign      This differs from the way environment variables are typed on the  UNIX command line where the variable is simply introduced with the dollar sign       For example   LMC_HOME bin mytool works on UNIX platforms  but must be typed  as  LMC_HOME     bin mytool on NT     Selecting Models in  LMC_ HOME    You can install and maintain multiple versions of the same model can in the same   LMC_HOME  You select a spe
25.  0x20    write_register 0x2A  0x0006        write Priority Mask Register           156 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    break     timer will be masked through priority     default     break          September 2001 Synopsys  Inc  157    Chapter 7  Processor Models SmartModel Library User   s Manual    158 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    8    User Defined Timing    Introduction    The SmartModel Library includes standard  component based timing files that have  identical functionality  but different timing characteristics   For example  the timing  characteristics of the 74LSO0 component differ from those of the 74F00 component   In  addition to these standard timing files  you can create custom  component based timing  files through user defined timing  UDT   UDT is possible because a model s timing file  is loaded at simulation startup  You can use UDT to     Create new timing versions that are not yet available in the SmartModel Library    Develop a custom timing model using specifications from several possible  manufacturers    Represent your own custom timing or a special binding  Scale timing to accommodate different design requirements  Modify models to turn off their timing checks    Modify memory models to turn off the access delay feature    You can also use UDT for instance based timing  that is  you can specify timing  characteristi
26.  138  help command 122   HV models    September 2001    Index    PCL  using to configure 134  see also Models  hardware verification    Identifiers  PCL 140  if statement 151  Initial state  resetting to 35  Installation  integrity  checking 209  Interface files  formats 102  Interfaces  Browser  graphical user 61  graphical user  Browser 61  SWIFT  connection for SmartModels 19  Interrupts 137    JEDEC files  format checks 83  JEDEC standard  fields  table of 82  JTAG 86    Keywords  PCL 140    L    LD_LIBRARY_PATH  for SunOS 218  on SunOS 209  Libraries  SmartModel  browser 45  list all command 116  list cells command 116  list instances command 116  list mcf command 116  list nets command 116    Synopsys  Inc  225    Index    list pin Interface command 116  list ports command 116  list states command 116  list timing command 117  Lists  model  locating in 55  LM_LICENSE_FILE  checking with swiftcheck 209  glossary definition 218  setting on NT 218  LMC files  configuration 50  custom configuration 51  environment settings 58  LMC_COMMAND  checking with swiftcheck 209  glossary definition 218  setting message verbosity 59  LMC_CONFIG  defining configuration files 58  glossary definition 218  loading custom configuration files 58  multiple entries on NT 52  58  selecting model versions 46  setting on NT 218  using custom LMC files 52  LMC_HOME  checking with swiftcheck 209  glossary definition 218  installing models on NT 46  locating CMD files 138  locating default LMC file
27.  1h g 1 0    th  th_I_CLK_1h s ALO 7  th  tpd_CLK_lh_Y  1h  2 4   12 0  21 0   tpd  tpd_CLK_lh_    hl  2 4   12 0  22 0   tpd  tpd_OE_Y  hz  2 4   6 0  2 0   tdis  tpd_OE_Y  1z  2 4   6 0  2 0   tdis  tpd_OE_Y  zh  2 4   9 0  5 0   tena  tpd_OE_Y  z1    2 6   9 0  15 0  tena  tpd_S_Y 2 4   7 lt 0  13 0   tpdsel    September 2001 Synopsys  Inc  165    Chapter 8  User Defined Timing SmartModel Library User   s Manual    ts_DIN_CLK_lh  ts_I_CLK_lh  end case   end model    oo  O       Creating Custom Timing Versions    In this example  a custom timing version of a model is created and placed in its own  timing data file  This new file removes all specific component cases  replacing them  with a single set of values  These values represent the minimums and maximums for all     commercial    timing in the timing data file created in the preceding example  that is  the  original timing plus the Integrated Device Technology timing      The timing component case in this file is named    29520    to differentiate it from any  specific manufacturer   s values  As before  the process is  copy the file to the  user defined timing directory  edit it  compile it  and place it in a directory for use by the     am29520    model at simulation time  The directory where you place the file must be in  the timing file search path     Example Timing Data File with Custom Component    The following example shows a timing data file for the am29520 model that includes a  custom component       Timing 
28.  File  MIF  ics ss cecavesacenes de kavibusd eed fi    Using a Memory Image Fle  MIF  2nsace eee o5se4e dua ete ch aeeeGNbeed 75   Memory Image File  MIF  Format 4g ccsaricedeanwencavivwsusavecbenss 75   Memory Image File  MIF  Address Mapping                cee cee e ee eeees 77   Memory Image File  MIF  Format Checks  s0se vehi cee suness paw awes onsen 78   Dumping Memory Data ide in ek Keir SOs Rede AHS LEE RR ROR wR EES T9  Chapter 5   PED Models   64860 4iveshense ckkie hs eeu sane cde aE  1   Confisnring PLD Models 6 64  ncdoccn dn desta keeddednder tad eunds sekaeds 81   Pree rs PLD Models seriero eri Er EEE anes eee Nea ee 82   JEDEC File Fone Checks  sicrscrirsirirsirseridrorsdri ribbidserii ta 83    September 2001 Synopsys  Inc  5    Contents SmartModel Library User   s Manual    Usine PLO MGS  tciweswndew eee cue takies ers ied tuhi n Eiser iNi 84  Chapter 6  SmartCircuit FPGA Models 6664466 66466405 WAS RTE TEAR H HERS R14 04S  85  I he oie oy ed ee hh ee eee 85  Using Sman icut MES ssrcsscricporsor cset pintrar r cher NDER REE 86  Quick Start for SmartCircuit Models  5  05004 465 a  4ob0es pens hades bwehed 87  SmartCircuit Technology OVervieWw 4 65 bead hd e ee ee ERROR REE EEE O 88  User Defined Timing for JEDEC based Models              00e eee eeeee 90  Debugging Tools Oyerview garish sae ol noes  4eo 10655  455  4es tb enedes 91  ST AIO 4 E E E EET E E E E E EE E E E 92  SmartCircuit Model Pin Mapping 22ccivbvecdures esi abdadaeeneendeens 92  Ties Fees In Y
29.  Intel Hex and Motorola S record    formats     mi_ trans    As a convenience  Synopsys supplies a command line tool called mi_trans  memory   image translator  that you can use to convert Intel Hex and Motorola S record memory  image files into the MIF format  The mi_trans tool replaces an earlier translator that you  may have used in the past called mkmemimage  The mi_trans tool offers the following    features     e Intel Hex     For Intel Hex translations  mi_trans handles both extended segment  address records and extended linear address records     e Motorola S record     For Motorola S record translations  mi_trans can process  input files containing mixed data lengths in different records  The tool recognizes  S0  S5  S7  S8  and S9 records anywhere in the file     TS Note    Although mi_trans is currently provided for backward compatibility  it has  been replaced by an enhanced tool  cnvrt2mif  Use cnvrt2mif instead of  mi_trans  for new designs  For syntax and usage  see    cnvrt2mif       on    page 202     200    Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools       Syntax    mi_trans input_file output_image_width   be    single    h   Arguments  input_file Specify a single input file either in Intel Hex or  Motorola S record format   output_ image_width Specify the desired width of data in the output file in  terms of the number of nibbles  where each nibble  equals four bits  The output data width must be less  than 
30.  NT Platforms    on page 46     Syntax    smartbrowse ccn_filename   b    1 log_file    m model_name    r run_file     re log_file    help     September 2001 Synopsys  Inc  109    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual     gt  Note    The ccn_filename must be the first argument on the command line  but  switches can appear in any order     Argument    ccn_filename    Switches   b     l log_file     m model_name     r run_file     re log_file    110    Use this required argument to specify the name of the  compiled configuration netlist   ccn  for the model     Starts the SmartBrowser tool in batch mode  Use this  switch in conjunction with the  l   r  and  re switches   When you invoke the SmartBrowser tool in batch  mode  the tool runs silently and never enters interactive  mode  Batch mode enables you to use the  SmartBrowser tool in shell scripts     Causes the SmartBrowser tool to write out a transcript  of the SmartBrowser session to a file with the name  specified by the  og_file argument  You can also  generate a log file by using the interactive log  command     Specifies the name of the model  required if the CCN  file is in an old format  or if the SmartBrowser tool is  invoked without the ccn_filename argument     Causes the SmartBrowser tool to run the specified file  before entering interactive mode  If you use this switch  with the  b switch  the SmartBrowser tool will not enter  interactive mode  All SmartBrowser interactive  com
31.  PCL to Configure HV Models caeciaw se scdienendenee seed eewes 134  PCL Program SUCHE 6 06 ka gay ee denesdantantonaledetansneeeeals a iS  Iitermapis RULE  nin hha air E  440b 4 hae ee 137  The Command Header File aces a cnesedeicueseduten ceteneeecaseaues 138    6 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Contents    Remed VAI    24 ct4akt en eee eeee eae beeen ee eredi ei 138  Unknown VAINES a pont tak ree beserinn ene tos cleo ian a 139  PL I  cg on see ak t4 bees ode 1S SEAS 6A EGA DERE KES 140  PELER T reirse snes eeetees debra detesesices chess 148  PCL Program Control Statements  c ok deta nee aw ered dad tewieewwess 150  Debugging Designs with Trace Messages  lt 4     46ssesasdasdcacscusavases 153  Poms he PCL Compil  r epee cdvseneetesccadat eee eenianeedsneeeess 154  Example PCL Program 265 5c cicawle verdes het ede tives tant weer sends 155  Chapter 8  User Defined Timing ih 660605 SOS SRK ERNE SEO ORES SURES ERO ERS eS 159  TRIB ON goose 0ed di pt EI ed beta weed sh hee eee ede EET ann 159  Sg 6 555 5 Os Be a a 4 a 160  Die Based TIMINE srporeiris p dEr a ee es 160  Timing File Set Rules scrssiicnirrerity ttiu sanecebaabeeaewes 160  Creatine New Timing Versions cecreorciasriaid kasteen tondin aaa 162  User Dened Timing Examples 4 co boned ea he ee bee hae kenita es 163  Adding a New Timing Version ig cc cote encdcaeads cases canesanecages 164  Creating Custom Timing Versions  c554 0s eases bie ndace iudi nee knees 166  Timme Data File Fo
32.  SmartBrowser tool  described on page 108  does not allow you to read or  write to internal nodes  it does provide the complementary capability to view overall  design topology and properties     SmartModel Windows    SmartModel Windows is a feature that allows you to access internal net and state  information during simulations  SmartModel Windows is especially useful with  SmartCircuit models because it enables you to monitor and change design element  values     With SmartModel Windows  you can create windows for two types of design elements   states and nets  When you force a window element to some value  it remains at that  value until a normal event occurs that changes the state of that element or until you  apply a new forced value     You define windows by placing statements in the MCF file  You can also place these  statements in a separate file that is referred to by a    do    command in the MCF file     September 2001 Synopsys  Inc  97       Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Creating Buses and Windows    Sometimes it is useful to combine a number of design elements into a bus and then  window the bus  You can also create a bus to rename a single design element  In some  simulators  such as Cadence Verilog XL  you need to use the bus command to alias a net  or state name  because the net or state name contains illegal characters     For example  you cannot window the net name  Block1 Net1 in the Verilog XL  environment becaus
33.  Specifies the base filename of the MIF format output file  the  extension  mif is automatically appended to the name   Multiple output files are named out_file_name_00 mif   out_file_name_01 mif  and so on  By default  the output file is  named    mem mif    if this option is omitted     Synopsys  Inc  203    Chapter 10  Library Tools     ml     devwidth device_width     gt  Note    SmartModel Library User   s Manual    Indicates that ASCII hex values in the output file are to be  lower case   The letters    ml    stand for MIF Lowercase   By  default  upper case is used     A positive nonzero integer that specifies the bit width of each  memory device  and therefore the bit width of each output file   The default is 16     Only byte aligned widths  that is  multiples of 8 bits  are currently  supported  for example  8  16  24  32 bit widths      devs num_devices     flip16     flip32     flip64     range lo_adr hi_adr     baseadr base_adr     noxsum    204    A positive nonzero integer that specifies the number of  memory devices for which data files are to be generated  The  default is 1     Indicates that a two byte endian swap is to be performed on  each 16 bit data word  Endian adjustments are made before  splitting data into output size words  By default  no endian  adjustment is performed     Indicates that a four byte endian swap is to be performed on  each 32 bit data word  Endian adjustments are made before  splitting data into output size words  By default  no end
34.  User Defined Timing  UDT  Files                49  Configuration  LMC  Files noi ccnecvacien See saeevad wea OeGe wen ee dene ee 50  Contiguration File Syntax s cssecipcrsor erisia t tri rE EE E EDENDE 50  Custom Configuration  LMC  Files  c 0 ec8s cesudeodas bah aeee he odaeees 51  Creating a Custom Configuration  LMC  File                    00 enn 52  Creating a Custom Model Filter sia s0den cae eud ae kee cb Rs eek KO eee ws 53  Creating a Custom Timing Version 2o  ccosckdeevaestaseeuessaessseeoes 53  Determining the Most Recent Model Version 1      6 suasesaseeusecuea cs 54  Displaying Model Datasheets scrcsricrocrikressi caa kid heceawss Ga4e 53  Displaying All Timing Versions of One Model    66  c6s0snssevsreus nes 33  Locating a Model in the Model List         onnnnnannaaa nue 55  Displaying a Specific Vendor s Models 2444 0 scsieeinaw cae endie caewness 56  Displaying All Models That Have the Same Function                     57    4 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Contents    Finding Out More Details About a Model                   002 20220 ee 57   Finding Out What Model Version You Have                0 000  e ee eee a   Loading a Custom Configuration File 2 464 sias ove cedesicacveas casas ds 58   Use Enyironment Settings  LMCS5  aech cid enes dcudeedetedesises seeded 58   Repairing Errors Reported by a Model Report      4 4sssesseeesecewo es 60   Brows  r Toul GUI saws ows aot cue cdevn ae duets eines reia aa 61   PEGS Window
35.  a tool called swiftcheck  The swiftcheck tool can  identify many common installation problems by     e Verifying that environment variables are properly set   e Checking that the SmartModel Library is properly installed   e Loading a user specified model and exercising basic functionality  The swiftcheck tool reports the values of these environment variables    e  LMC_HOME  required    e  LMC_PATH   e  LMC_COMMAND   e  LM_LICENSE_FILE   e  LD_LIBRARY_PATH  SunOS only        The swiftcheck tool verifies the values of these environment variables and produces an  error message if it cannot find any of them  In particular  you will get a fatal error if the  required variable  LMC_HOME is not set     September 2001 Synopsys  Inc  209    Chapter 10  Library Tools SmartModel Library User   s Manual    To verify the installation of your SmartModel product  swiftcheck searches for the  necessary runtime utilities  using the  LMC_HOME environment variable for the path     The swiftcheck tool enables you to specify a model that it will load and attempt to  exercise  The swiftcheck tool loads all of the specified model   s timing files and  if  specified  custom configuration file s   By loading and initializing the model   swiftcheck effectively tests the value of the  LMC_PATH environment variable and  provides you with a simple way to test configuration files     Because SmartModels do not require a configuration for initialization  swiftcheck loads  and exercises the selected model 
36.  ance acndaen dee ones een dan be idr i tikii tedir rteka 61   PICU  goede cae eee bir cn ee Goh basal ik oe T lee eee 63   Pile Menu   lt  5s   0du ceeded us 465444605 Fob4s Hedv bbe dadia tk bs enews eses 63   view MEME a cctencsewsi ene saeneeeisienssiweteeiwieneeddwtenee ss 64   Acuons Meng 4 54 o ort sed eddie eens padersee tached ake ewes eae 64   Leer Menu i o0oe50us ania cr ede eee as O88 Kee 4494500054 NIe wee cee 65   Des TAC cine ees hend ee che T a Reber See es 65   BI GO oa 65s Baer had bene bares dan one E A EEE I bees 65   fe 5    ee ee ie eee ee eee er eer ee ee eee re ee ee eee ee eee 66   TO COIOU UNS 6 ica ve ddniey eed oe 2 iiris ede Ge dbiri ee eee eR Heed 67   Se  ee eee ee ee ee ee en ee ae eee ree 68   Model Filters Dialog BOX 15040644 0ds as susooeve eis suadkes oe awnas es 68   Copy Customizable Files Dialog Box fcc ccidcevaeeewiee ees cieeeanes 69   Model Detail Dialog BOX cnn dcduwtundendbatenseerndetak Oxsee s natos 70   Model Report Dialog BOX s orrsarrsiasicirisaoiddani Gedeeaccudan ds 70   were Ase Didog BOX ssicjerirrererripstiddsirndbipi iisti eeraa 71   Open Configuration File Dialog BOX        2    eee eee 71  Chapter 4   Memory Models sirrsicrerersrrrersiesanrrtr ri nkr n An eee EEES T3   Comligumiic Memory Models iciciecindsan ee bei cenosennne eeeuecaraees 73   Usine Memory Nie ona yh  deond oes ne sees a0 504 4953555 045 oh ees 74   The Memory Image File  MIF  vo ceace ctene eee e bene eduns OCeR ene eea ewe 74   Creating a Memory Image
37.  block  as  shown in the following example     exception  which   int which      switch  which              case 1   printf     Executing exception routine  1       break    case 2      next exception handler routine      pisen      last exception handler routine tof    default  break     September 2001 Synopsys  Inc  137    Chapter 7  Processor Models SmartModel Library User   s Manual    At the end of the exception handler function  control resumes at the interrupted  statement  Unless the model datasheet specifies otherwise  interrupt handlers may  themselves be interrupted     The Command Header File    Each HV model supplies its own set of PCL commands to simulate the operations or  capabilities of a device  For example  most models have commands to generate various  types of bus cycles and set the amount of trace information the model displays  These  predefined commands are documented in the model s datasheet  and are also contained  in the model s command header file     Synopsys provides a command header file  also referred to as a     cmd file      model cmd   which contains preprocessor definitions and predefined PCL commands for the model   You must include the command header file in your PCL program using the  include  preprocessor directive  this must be the first statement in the PCL program  This allows  the program to access the model s predefined commands and preprocessor definitions    The following syntax includes the command header file and causes the PCL
38.  configured with an associated MIF file  they issue a  warning message at simulation startup     74 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 4  Memory Models    Creating a Memory Image File  MIF   To create a MIF file  follow these steps   1  Using a text editor  create a file  for example  ram4kx4 img     2  Enter the memory data  using the correct MIF file format     Using a Memory Image File  MIF   To load a model   s simulated memory from a MIF file  follow these steps     1  Configure the model to use the MIF file by assigning the file to the SWIFT  MemoryFile parameter     2  Start the simulation  MIF files are automatically loaded and checked for format  errors     If you do not load memory data at simulation startup  check the model datasheet to  determine the default memory values at initialization  The contents of a memory device  model   s internal memory at initialization depend on the manufacturer   s implementation   Typically  the default for RAMs is    unknown    and the default for ROMs is    1        You can modify previously addressed locations multiple times using one MIF file  This  way you can load the entire memory image with one line in your MIF file and then  modify selected values on a case by case basis     Memory Image File  MIF  Format    A MIF file contains one or more records  Each record specifies the data to be written to  one or more memory locations     MIF File Conventions    The following list shows the c
39.  contained in one  or more specific licensed packages  or if you want to know whether a specific model  is contained in a particular licensed package     Summary Filter Options field   Displays the filter options currently selected     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Execute the filter function using the Filter button at the bottom of the dialog box     To specify a model or timing version to search for  type the complete name of the model  or timing version  or a partial name with the wild card character     in the String Search  text field in each position where you have omitted characters     To select one or more of the three remaining filter options  follow these steps     1  Click on the check box for each desired option  Some combination of  No Vendor     No Function   and  No Marketing Group  appears in the Summary of Filter  Options list box  These appear ANDed with each other and with the String Search  value     2  For each option you checked  select one or more items from its list box  Use the  scroll bar to traverse the list  To select more than one item  hold down the Ctrl key  as you click on each item  As you select each item  its name appears in the  Summary of Filter Options list box  If you select multiple items  they appear ORed  together     To filter the models  follow these steps   1  When you have finished selecting filter options  click on the Filter button     2  Move the Filter dialog bo
40.  default using the sl_browser ini file  Follow these steps     1  If you already have an sl_browser ini file  use it in the instructions that follow   Otherwise  create the file in the current working directory  in  HOME  or in   LMC_HOME data     2  Enter these lines in the file      OPTIONS    show_udt false    Note that you must enter the string  OPTIONS  literally   The following example shows an sl_browser ini file that creates the command     user joeb bin repl and names the menu entry Replace  This example also configures  the Browser to display by model name and disables the display of UDT files      USER TOOLS   Replace  user joeb bin repl           OPTIONS    show_models true  show_udt false       September 2001 Synopsys  Inc  49    Chapter 3  Browser Tool SmartModel Library User   s Manual    Configuration  LMC  Files    A configuration file is also called an     lmc    file or    LMC    file  LMC stands for    List of  Model Configurations     There are two kinds of configuration files  default  configuration files and custom configuration files  All configuration files must have the  extension  lmc     Configuration files contain a list of model names and user versioned tool names  with a  version number specified for each model and tool  Following is an example of a  configuration file     SPLT hp700         Models added by Sl_Admin  Fri Feb 23 15 56 24 1996    SEXE swiftcheck 01009  SEXE mi_trans 04059  SEXE ptm_make 01006  SMOD atv2500 01000  OD bt458 01000   
41.  edo  m model_name  o sample2 ccn    ccn_report Command Reference    You can use the ccn_report tool to generate model reports based on information in the  model   s CCN file  To generate a report on a particular model  enter the model file name  on the command line after the ccn_report invocation  You can optionally specify  different switches depending on the information you need  Here is the syntax for using  the ccn_report tool     September 2001 Synopsys  Inc  127    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Syntax    ccen_report ccn_filename    A1 window filename   A2 window_filename   A3 window_filename   A4 window_filename     i illegal_chars    m model_name    nr    p pinmap_filename  r replacement_char   v             n    mn module_name    o verilog_filename    w window_filename    y verilog_path           n     o symbol_filename    output_filename    Argument   The ccn_report tool takes one required argument  as follows    ccn_filename Specifies the name of the CCN file to be used to  generate the report    output_filename Specifies the name of the output file for the report    Switches    There are many switches that you can optionally specify  as follows      Al window_file Uses the AutoWindows feature to generate a windows  definition file with the specified name  using square  brackets      as the bus index delimiters      A2 window_file Uses the AutoWindows feature to generate a windows  definition file with the specified name 
42.  files  To find out the required setup file for a  particular model  refer to the model   s datasheet     e Setting values for attributes that specify the instance name  timing version   propagation delay range  and location of setup files  The way you specify attributes  depends on the simulator that you are using    o Verilog simulators   use defparams in a  v file  o VHDL simulators   use generics in a  vhd file    o Schematic capture based simulators   use model symbol properties  T  Note  For information on configuring SmartModels  including FlexModels  for    use in your simulator  refer to the Simulator Configuration Guide for  Synopsys Models     September 2001 Synopsys  Inc  23    Chapter 1  SmartModel Library Features SmartModel Library User   s Manual    SmartModel Windows    SmartModel Windows  also referred to as    Windows     is a SmartModel Library feature  that allows you to view and change the contents of internal registers during simulation   Using Windows  you can     e Display the current value of an internal register  e Force new values into writable registers    e Set up a monitoring function to inform you when a register value changes    T  Note  FlexModels do not support SmartModel Windows     You read and write to a model   s internal registers through Windows using  simulator specific commands  one for each model instance  These commands can be  issued on the command line or in a simulation script     SmartModel Windows availability depends on the  
43.  in the library at your site     September 2001 Synopsys  Inc  59    Chapter 3  Browser Tool SmartModel Library User   s Manual    For more information about using LMC_COMMAND  refer to the Simulator  Configuration Guide for Synopsys Models  For more information about swiftcheck   refer to    Checking SmartModel Installation Integrity    on page 209     Repairing Errors Reported by a Model Report  To generate a model report  follow these steps   1  Select one of the model report options by clicking on its radio button     2  Click OK  The dialog box closes and the Model Report results window appears   This window contains the model report     For more information about model reports  refer to    Model Report Dialog Box    on  page 70     Models found in configuration files but not in library    When you select this report  the Browser lists models found in the default configuration  file  platform lmc  or in your custom configuration files but not in the library installed at  your site  The Browser reports these models as errors  To repair errors  follow these  steps     1  For each model  note whether or not it is used in your design     2  For each model used in your design  use the Admin tool to install the model or  model version in the library at your location  or ask your system administrator for  help installing the models     Models found in library but not in configuration files    When you select this report  the Browser lists models that were found in the library  
44.  loop executes its associated statements zero or more times  based on the value  of the entry expression  The syntax is   while  expression   statement   If the entry expression is true  evaluates to a nonzero value   the loop is executed  If the  entry expression is false  evaluates to zero   the loop is skipped and program control  passes to the next statement following the while loop     Debugging Designs with Trace Messages    HV models generate trace messages to help you debug PCL programs and troubleshoot  your circuit designs  Some HV models feature an adjustable detail level for trace  messages  which lets you control the number and kind of messages generated by the  model  Refer to the individual model datasheets for information on controlling message  verbosity     Here are some sample trace messages     Trace  PCL Cmd  trace_on      n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns            Trace  PCL Cmd  enable_intr_level  0    Level 1 and 2 interrupts now enabled    n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns               Trace  PCL Cmd  set_trace_level  3    Trace level is now set to 3  SPI   general messages     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns                        Trace  PCL Cmd  load_reg 0x1030 0x09       September 2001 Synopsys  Inc  153    Chapter 7  Processor Models SmartModel Library User   s Manual     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns            
45.  name to the  specified name  This switch is used only with the  v  switch     Renames the ccn_report output file to the specified  name  This switch is used only with the  v switch     Directs ccn_report to generate a modified model v file  that contains the AutoWindows definitions  This  switch is used only with the  v switch     The path name to the model v file  Allowed values are   LMC_HOME special cds verilog historic and   LMC_HOME special cds verilog swift  the default    This switch is used only with the  v switch     Directs ccn_report to create a ViewLogic symbol file     Renames the default port names to the design port  names  This switch is used only with the  v and  vl  switches     Synopsys  Inc  129    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual     o symbol_filename Renames the ccn_report output file to the specified  name  This switch is used only with the  v and  vl  switches    AutoWindows    Using a feature known as AutoWindows  ccn_report can automatically generate a  SmartModel Windows definition file  You use AutoWindows by specifying one of the  ccn_report options   A1 through  A4   You can then include the resulting definition file  in a model command file  MCF  using the    do    MCF command  An AutoWindows  report lists all nets and states found in the design and then buses together any signals that  follow the bus index delimiter rule selected by one of the  A1 through  A4 options     When you recompile your design usin
46.  of integers  and pointers to  integers  All integer values are 32 bit signed numbers     Variables  A variable is a named value that can be changed within a program  Variables must be  declared before they can be used  The general form of a variable declaration is    int variable_list     The three different data types  integers  integer arrays  pointers to integers  are  distinguished by the way the variable identifier is specified  A variable list is a list of  identifiers  separated by commas      A variable declaration statement must end with a  semicolon         The following example shows how to declare three different integer variables     int varnamel  varname2  varname3     PCL supports only one dimensional arrays  You can declare an array by specifying a  variable identifier  followed by the size of the array in brackets       The array size must  be an integer literal  All array indexes range from 0 to n 1  where n is the number of  elements  You cannot initialize array variables in the declaration  The following  example shows a variable declaration for array variables     int array1 100   array2 10      You can declare a pointer variable by putting an asterisk     before the identifier in the  declaration  as shown in the following example     int  ptr1     Constants    A constant is a fixed value that cannot be changed by the program  Because of its  limited data types  PCL supports only literal constants and not named constants   However  you can still create 
47.  only element  so forcing the TAP register to a value has no  effect  Figure 3 shows the TAP states and their associated state codes     38 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    Chapter 2  About the Models             00                   Test Logic Reset        TM          01             Run test idle  TMS  A    A                         TMS 1  aA Select DR Scan  l TMS 0  D1                TMS 1       DO TMS 1    TMS 1   Gy       Capture DR    l TMS 0  D2    Shift DR                                                     TMS 1 D3  Exit1 DR    l TMS 0  D4    Pause DR                                                                                          co TMS 1  Select IR Scan          TMS 0                   Capture IR       TMS 0  C2    Shift IR                      C3                Exit1 IR    l TMS 0  C4    Pause IR                      S 0                                                     D5 C5  Exit2 DR Exit2 IR  TMS 0 TMS  i TMS 1  D6 C6  Update DR    Update IR  gt e  TMS 1 TMS 0 TMS 1 TMS 0                      Figure 3  Diagram of TAP States    September 2001    Synopsys  Inc     39    Chapter 2  About the Models SmartModel Library User   s Manual    Approaches for Using Unknowns    Depending on where an unknown occurs in a circuit  it can propagate through your  entire simulation  Later events can become buried in unknowns  making your  simulation less useful than it could be  To gain more information  you would have to fix  the fi
48.  ot   10 7   16 0   tdis  tpd_OE_Y  zh   2 9    14 7   22 0   tena  tpd_OE_Y  z1   2 9    14 7   22 0   tena   end case     end model     Adding a New Timing Version    In this example  you create a new timing version of a model  The modeled device is an  Integrated Device Technology part whose component name is IDT29FCT520A COM   To add a new timing version  follow these steps     164    l     Create your own timing data directory  Do not store your modified timing files in  the SmartModel Library directory structure       Copy the original timing data file into your own timing data directory using the    Browser  For instructions  refer to    Creating Custom Timing Versions    on page 166       Use an ASCII editor to open the new file and duplicate one of the existing case    statements  Edit the duplicated statement to make the new timing version you need   then delete all other case statements  In this example  the first case statement in the  file was copied and edited to make the required Integrated Device Technology  version       Document your modifications by citing the specification   s source in a comment    following the component name     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    5  Compile your new timing data file so it can be used by the model  The timing  compiler creates an executable version of the timing file and checks your new file  against the timing template  as described in    Using the Timin
49.  program to  obtain the specified file from its default location  the  LMC_HOME models model  directory      include  lt i80386 cmd gt     The following syntax includes the command header file and causes the PCL program to  search for the file first in the local directory and then in the default location      include    i80386 cmd        gt  Note  If you want to define additional commands not in the command header file   you can create your own include file  The  include statement for this file  can appear anywhere in the PCL program     Returned Values    Some model specific PCL commands  for example     read        return one or more values  to the PCL program  You can use commands that return a single value in the same way  you use a function that returns an integer  You can also access a single returned value as  the first element of the predefined retval array  However  when a command returns  multiple values  you must access the values from the retval array     138 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    The first value returned by a PCL command is placed in retval 0   the second in  retval 1   and so on  To save returned values for later use  you must assign them to  variables  because the retval   array is overwritten by the next PCL command that  returns values to the program     Accessing the First Returned Value    When a command returns one or more values  PCL uses the first returned value as the  command 
50.  reference of manufacturer pin to model signal names  for all supported package types  and other data needed for a model to function with a  custom symbol  You can use this data to provide the data link between a custom symbol  and the corresponding SmartModel  In some environments you might use this data as  an interface between a custom symbol and the model  or you could merge the data with  your own symbol data to create new symbols     PortMap files provide data in a format that can be parsed with UNIX tools such as awk  and grep if you need to systematically extract information  File names for PortMap files  consist of the model name and a  ptm extension  For example  the PortMap file of the  ttl2151 model has the name ttl2151 ptm     A PortMap file consists of a set of records that contain keywords and one or more value  fields  Keywords and value fields are separated by vertical bars  I   Legal values for  value fields depend on the keyword     September 2001 Synopsys  Inc  195    Chapter 10  Library Tools SmartModel Library User   s Manual    The following illustration shows the general format of a PortMap file  Brackets indicate  that the enclosed item is optional  ellipses indicate that the preceding item can be  repeated     MODEL   model_name  VERSION   version  FUNCTION   function  SUBFUNCTION   subfunction  RANGE   range   MODELFILE   type    type      PACKAGE   package_type  PIN_COUNT   pin_count  DEVICE COMP   device   comp  MODEL_PORT   pin_name   pin_type   
51.  right   amp  Left to right  A Left to right    Left to right   amp  amp  Left to right  Il Left to right     Right to left                    amp   l      gt    lt    Right to left    Left to right             TS Note    Operators are evaluated from left to right  except for those in the gad 13     and 14  rows     144    Synopsys  Inc     September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Expressions    An expression in PCL is any syntactically correct combination of operators  constants   variables  and function calls  An expression must always evaluate to a value  Because a  constant or a variable evaluates to a value  an expression can be as simple as a single  constant     The PCL compiler does not support the Boolean data type  In PCL logical expressions   a value of zero equates to FALSE and any nonzero value equates to TRUE     Typically  an expression is used as one or more elements in a PCL statement   Expressions are most often used in assignment statements and in program control  statements to determine entry and exit conditions     Functions  Function definitions must conform to the following syntax       return_type   function_name     parameters      parameter declarations         local_variable_declarations  function_code         You can define functions before or after they are called  The only valid return type is  int  which is also the default  Any other return type specified  for example  void  int     char  char    cause
52.  simulation  Of course  this  includes all model bug fixes  For information about gaps in model version numbers   refer to    MDL Version Numbers and Model History    on page 28     Each change entry in the model history includes the   e Reference number  e MDL version of the model after the change  e MDL date of the change    e Problem and resolution descriptions    September 2001 Synopsys  Inc  215    Appendix A  Reporting Problems SmartModel Library User   s Manual    Model history entries look like the following example        Reference   41087    MDL Version   01002  MDL Date   13 June 1996                      SRC Version   v1 1       Problem   The minimum high low pulse width for CCLK in  synchronous peripheral mode did not conform to revised  vendor specifications        Resolution   Corrected the model        Model History Entry Field Descriptions    The    Reference      Field  The    Reference      field contains the internal number assigned to the specific change     The    MDL Version      Field   The    MDL Version      field contains the model version after the change  Not all MDL  version number changes are significant  Only changes such as bug fixes that affect  model behavior are considered significant and generate model history entries  That   s  why the model MDL version number listed in the title banner on the first page of a  datasheet can be a higher number than the MDL version number listed in the latest  model history entry for a model     The    MDL 
53.  the  top of all SmartModel datasheets lists the model   s MDL version number  Then compare  reported fixes for subsequent versions of that model by reading the model history  section at the end of the latest datasheet on the Model Directory     http   www synopsys com products Im modelDir html    For more information on model history  refer to    Model History and Fixed Bugs    on  page 215     If you cannot find a more recent model version that solves the problem  contact  Customer Support  For details on how to get in touch with Synopsys  refer to    Getting  Help    on page 15     Using Model Logging    Before you contact Technical Support  create a model logging file  mlog cfg   Model  logging captures all of a model   s activity during simulation  that is  stimulus and  response  in ASCII text format  Transmitting an mlog cfg file to Technical Support will  help ensure accurate diagnosis of the problem  Only one instance of one model can be  logged at any one time and system performance degrades when you use model logging     September 2001 Synopsys  Inc  213    Appendix A  Reporting Problems SmartModel Library User   s Manual    XS Noe                C  FlexModels with a name that ends in    _fx    use a different method for model  logging  For details  refer to the FlexModel User   s Manual  For  FlexModels that end in an    _fz    extension and all other SmartModels  use  the procedures that follow     To enable model logging  create a file called mlog cfg in the dir
54.  to its specifications  and use unknowns to represent the  uncertain or changing states  This concept is illustrated in Figure 5     42 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    address i  address i 1        C  O    E  tCE a  E  tOE    OUTPUT HIGH Z LKK    et z                            Figure 5  Changing States Timing Diagram    For example  a memory part manufacturer cannot be specific about the data line states  between the end of the data hold time and the end of the data access time  During that  time the I O lines could be carrying the data from the last cycle or the current cycle  To  prevent data from a previous cycle from being accepted as valid  the model generates  unknowns during that time segment     Though a memory part is used in the example  this modeling technique is useful in any  situation where uncertainties exist   as in the transitions from and to high impedance  shown in Figure 5  If you push your designs to the limit  as you might when designing a  memory cache  you may appreciate this logically pessimistic behavior     The access delay feature of memory models can be turned off using the library   s user   defined timing feature     September 2001 Synopsys  Inc  43    Chapter 2  About the Models SmartModel Library User   s Manual    44 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    3    Browser Tool    Introduction    The Browser tool   SLMC_HOME 
55.  tool     Comments          model tms320c15_  case comp  of    TMS320C1        m        MS320E1       TI  First Generation  SPRUO13A Apr 88   CI  First Generation    Model Block    TMS320 User   s Guide       TMS320 User   s Guide       SPRUO13A Apr 88   Min Max               Timing Label   Vendor Label       permax_X2_lh 150 0    teme    of  TMS320C15 25     TI  First Generation TMS320 User   s Guide     SPRUO13A Apr 88   Min Max      Timing Label   Vendor Label            permax_X2_lh 150 0    teme    end case     case inst   of  U101    TI  First Generation TMS320 User   s Guide      SPRUO13A Apr 88     Min Max      Timing Label   Vendor Label            permax_X2_lh 150 0    teme       Figure 17  Timing Data File Elements    September 2001 Synopsys  Inc  167    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Assumed Propagation Delays    All models in the SmartModel Library support a range of timing delays  but  manufacturers often supply only a single value for device delay parameters  Memories   for example  are often specified with only maximum delay values  In such cases  Logic  Modeling duplicates the MAX delay value for the MIN and TYP fields of the timing  data file  In this way  if you change the delay mode of your simulation  the delay value  remains true to the manufacturer   s specifications  Figure 18 shows what the timing data  file for such a model would look like     The minimum   typical  and  maximum  propagation delays            NON
56.  transferred to the statement sequence whose case constant matches the value of  the switch expression  If no case constant is equal to the value of the switch expression   the default statements are executed  If there is no default case  then none of the  statements in the switch body are executed     Execution begins at the selected statement and continues until a break statement is  executed or the end of the compound statement is reached  If you do not end a case  block with a break statement  program control    falls through    to any following  statements     There are two important rules to remember about switch statements   e A switch statement can only test the expression for equality     e No two case constants in the same switch statement can have identical values  You  can  however  nest switch statements     To associate a statement sequence with more than one case constant  omit the break  statements between the case constants  The following example shows that case  constants   through 3 are associated with the statement sequence that immediately  follows them  Case constant 4 is associated with the statement sequence that  immediately follows it  The syntax is     152 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    switch  expression         case constanti    case constant2    case constant3   statements  break    case constant4   statements  break    default   statements          The while Statement    A while
57.  using angle  brackets   lt  gt   as the bus index delimiters      A3 window_file Uses the AutoWindows feature to generate a windows  definition file with the specified name  using  parentheses      as the bus index delimiters     128 Synopsys  Inc  September 2001    SmartModel Library User   s Manual     A4 window_file     h     i illegal_chars     m model_name     p pinmap_file     r replacement_char     mn module_name     o verilog_filename     w window_filename     y verilog_path    September 2001    Chapter 6  SmartCircuit FPGA Models    Uses the AutoWindows feature to generate a windows  definition file with the specified name  using trailing  numbers as the bus index delimiters     Invokes the ccn_report help message     Defines the set of characters to be replaced during  AutoWindows generation  The default illegal character  is the slash         Specifies the name of the model  This is required if the  CCN file is in an old format  or if ccn_report is invoked  without the ccn_filename argument     Directs ccn_report to not replace any illegal characters   Overrides the  i switch     Directs ccn_report to produce a pin map file with the  specified name     Specifies a character to be used to replace illegal  characters  The default is the underscore  _      Directs ccn_report to create a Verilog XL module file     Renames the default port names to the design port  names  This switch is used only with the  v and  vl  switches     Renames the generated Verilog XL module
58.  version number with that of the model in your library  If they  match  you have the most recent version  If the datasheet shows a more recent  version  the difference may or may not be significant     4  Read the more recent datasheet s history section to find out how the model changed    Model history sections appear at the end of each datasheet   If the change was  functional or due to a bug fix  then there could be a significant difference between  the most recent version and the one you have  If the change was purely  administrative and did not affect model functionality  you may not need the most  recent version     Displaying Model Datasheets  To display the datasheet for any model installed at your site  follow these steps   1  From the Browser window selection pane  select a model     2  Choose the Display Datasheet command from the Actions menu  or click on the  Display Datasheet toolbar button to make the datasheet appear     Displaying All Timing Versions of One Model  To display all timing versions of one model  follow these steps     1  If the selection pane is displaying the models by timing versions  choose Display by  Model Name from the View menu     2  Locate the model whose timing versions you want to display     3  Click on the folder icon next to the model name  In the selection pane  the timing  versions  including any custom timing versions that are in  LMC_PATH  appear in  hierarchical fashion  subordinate to the model     Locating a Model in the Mode
59.  with the model versions used     e Access an updated model version to use a new or revised function  when other  design teams do not want to disturb their designs by using the updated model     e Revert to a previous version of one of the tools     For NT  separate multiple entries for the  LMC_CONFIG environment variable using a  semicolon separated list  not a colon separated list as in UNIX     The model versions specified in custom configuration files are used by the simulator   overriding the versions of those same models that are specified in the default  configuration file  However  the model versions you specify must be installed in the  library at your location  To determine what versions of a specific model are installed in  your library  use the model detail function     Creating a Custom Configuration  LMC  File  To create a custom configuration file  follow these steps     1  In your home directory  open a new file named  for example  my_platform Imc   Although the file will be platform specific  you do not have to use    platform Imc           2  In another window  open a read only copy of the default configuration file    LMC_HOME data platform lmc     3  In the default configuration file  search for the models and tools whose version  numbers you want to change     4  As you find each item  copy its version record  the entire line on which the item  appears  into the new file     5  In the new file  change the version numbers to the ones you want   6  Save th
60.  within a particular device  family or model  you can use smartccn to generate an interface file  You might need an  interface file in the following cases     e When the device type specified by your netlist is not supported by any available  models  for example  a new vendor device type      e When the device type specified by your netlist should map to an available model   but is not recognized by that model  for example  the device designator is either  obsolete or new      e For a JEDEC based model  when the component name specified on the command  line is not recognized by that model  for example  when adding a new or a custom  timing version     The smartccn tool uses interface files to define the mapping between a device s pins and  a model s ports  To use an unsupported device  follow these steps     1  Select the correct model according to the following criteria     o If the device type specified within your netlist is not supported by any available  models  then select a model from the same vendor family that has a pin count  equal to or greater than the pin count of the device you are using     o If the device type specified within your netlist should map to an available  model  but does not  then select the model that it should map to     o If you are using a JEDEC based model with an unrecognized component name   then select the model that component designates      gt  Note    You can map an unsupported JEDEC based device into an existing  JEDEC based model only 
61. 1 Synopsys  Inc  181    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Example    The following example invocation of compile_timing causes the tool to read a timing  data file for the ttl00 model and generate a compiled timing file       compile timing tt100 td    You can use the  Messages switch to aid debugging efforts  When you compile a timing  file specifying this switch  you enable generation of runtime messages  At simulation  startup  each model compiled with messages enabled issues a message indicating the  model tf file being read and the instance or component being used     182 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 9  Back Annotating Timing Files    9    Back Annotating Timing Files    What is Backanno     Different simulators back annotate timing values from Standard Delay Format  SDF   files in different ways  To solve this problem for model users the Backanno tool extracts  the relevant timing components from an SDF file and annotates SmartModel binary  timing files with that information to normalize the model   s behavior with different  simulators     This chapter describes how to use the Backanno tool to extract back annotation timing  data from SDF files and annotate them to a SmartModel format that the model can read   As part of this process  the Backanno tool creates     e New SDF files that have the extracted timing commented out so that the delays are  not back annotated twice     e Compiled t
62. 1 the model mt581c64k18b2 has a 2 bit Memory Read Write  window named MEM_rw that has read only access     The least significant bit of the Memory Read Write window is the Read Write bit   which initially is X  unknown  and contains a     o 0 ifthe array is written to   o lif the array is read from   o X if an array read and write occurred in the same cycle  For ROM models  this bit always contains a 1     The most significant bit of the Memory Read Write window is an access flag  which  is toggled each time a model evaluation causes a read or a write of the memory  array  Thus  you can detect a situation where there may have been two consecutive  memory transactions of the same type at the same address     Refer to the individual model datasheets for the names  dimensions  and read write  access characteristics of each model s predefined memory windows     Using Window Elements    You read from and write to window elements using simulator specific commands  For  details  refer to the command set for your simulator     For examples of using window elements with Cadence Verilog XL or Mentor Graphics  QuickSim II  refer to the Simulator Configuration Guide for Synopsys Models     SmartModel Datasheets    SmartModel datasheets provide specific user information about each model in the  library  The model datasheets supplement  but do not duplicate  the manufacturer   s  datasheets for the hardware parts  In general  the model datasheets describe     Supported hardware components 
63. 124  Nested statements 149  Netlists  compiling for SmartCircuit models 211  newlink Model Command File  MCF   Reference 121  NT  browser help menu 65  browser navigation tools 72  invoking smartbrowser tool 109  running console applications 46    Synopsys  Inc  227    Index    running programs from command line 46  running the PCL compiler 154  setting environment variables 45  setting LMC_CONFIG 52  setting LMC_PATH 161  Null statements 148    O  Operations  save and restore 35  Operators  associativity 144  PCL 142  precedence 144  P    Panes  selection 67  Partial designs  processor models in 37  PCL  comments 142  compiler 154  constants 141  constructs 140  data types 141  expressions 145  file checks 133  functions 145  HV models  using to configure 134  identifiers 140  keywords 140  operators 142  processor control language 134  program control statements 150  program example 155  program structure 135  statement types 148  variables 141  Pins  mapping for SmartCircuit models 92  names  deriving 93  PLD models 81  configuration 81    228 Synopsys  Inc     SmartModel Library User   s Manual    programming 82  using 84  PortMap files 195  Precedence  operators 144  Preprocessors  directives 147  printf   function 145  Problem reports 213  Process  back annotation    finishing 191  Processor control language  see also PCL 134  Processor models 73  131  FlexModels 131  simulating in partial designs 37  Program structure  PCL 135  Programmable logic devices  see PLD model
64. 2  Sal TEE rrerrdarn riaa a a a N E en ean 22  Model Timing Versions oct hei ene eh dca e bees bees daute at NEEE Eras ENER 23  Model Configurati  n    eos toad ooh an PER ee Hae eRe A 23  rE Fe a ye oh he NS EEA oh 24  Predefined Window Elements ss6chcvuat cds ivsnwns hawt sdiweewveswewss 29  Memory Windows ace wes cae oer ens seren PEENE e de EEEREN EEN RA 25  Using Window ElemMemMs ssis 5  eo oh dh 5 oe haw ee 21  SmatModel Datasheets cise vines Kgs eons betr re dri CHRD REAREA HE EEE 27  Tile BAADE hoe penn pea wees ea E AE 28  Supported Components and Devices 4s 6 0i50 45 we vag doves   44 we eos coun 29  SOVICE 6 ho RG eis Isa we GReE KE OREEe ee RREA AEREE RAA 29  Model oon oe 6h eck Eee Res oe ee nner san See eeeaRae ee 29  Getting SmartModel Datasheets 24 5 cdhdeseanssseeuadeseu shane ouadend 29  steno WIFE SUpport avgennde ddd dwn sow EEE RASERER AEREE EEEE ES 30   Chapter 2   PPO ANG Models hi 45 6 6 HK EA GSK ERE SEIS THA DERE trendni d REN ERROR 31  Pl lh hee a cen eee oe he Be ae a ee ah ee a 31  Features Common to Most Models     o0cc4scs0s0s4i000ecpeaeessracxods 31   OEBLE ga5dae seas  aes 0  50 65 ar eera 31    September 2001 Synopsys  Inc  3    Contents SmartModel Library User   s Manual    Logic Vales get cneniendeweseeneeSak caress cries et ered iet 32  Implementation Specific Model Features   40500 das sessed edna nanne 35  Fault MONA  oon 055 25 asd aces Ke bAs d bidari Heb 4S RES ae KES KOSS 35  Save and Restore Op  rations 4004 shes edb ienes dea beede
65. 4059  SEXE ptm_make 01006    indicate that  when the tools are called  the versions that will be used are 01009 for  swiftcheck  04059 for mi_trans  and 01006 for ptm_make    MOD model_name model_version  alias alias     This command specifies the model name  model version  and any aliases that might  apply to the model  In the example  the line    MOD ttl00 01000 7400 74LS00  indicates model ttl00  version 01000  with aliases of 7400 and 74LS00     Custom Configuration  LMC  Files    A custom configuration file contains a list of installed SmartModel Library models and  user versioned tools to be used by the simulator  If you want to use tool or model  versions that are different from those in the default configuration file  create one or more  custom configuration files that specify the names and versions of those models and  tools     September 2001 Synopsys  Inc  51    Chapter 3  Browser Tool SmartModel Library User   s Manual    LMC files are platform specific and must have the extension  lmc  You locate customer  configuration files for the Browser and your simulator by setting the  LMC_CONFIG  environment variable to the paths to the  lmc files  There are several reasons why you  might want to create a custom configuration file     e Freeze your design  so that it always references the same model versions    e Access a specialized model version that no one else in your group should use   e Check new models before releasing them to others    e Archive your design  along
66. 47   EXE command 51   MOD command 51   PLT command 50    Numerics  64 bit time 31    A    Address mapping   MIF files 77  alias command 120  Aliasing commands 113  Analyses   causal tracing 94  analyze cell command 114  analyze design command 114  analyze hierarchy command 114  Areas   status 68  assign monitor instance command 114  assign monitor net command 114  assign monitor state command 115  assign timing 115  assign timing command 115  assign window auto command 115  assign window instance command 115  assign window net command 115  assign window state command 115  Assignment statements 149  Associativity   operators 144  Assumptions   modeling 36  AutoWindows 130    September 2001    B    backanno tool  running 191  Back annotation   timing files 183  Back annotation process   finishing 191  Blocks   model  timing data file 172  Boundary scan   features in models 38  break statement 150  Browser   actions menu 64   docs menu 65   file menu 63   help menu 65   menu bar 63   SmartModel Library 45   starting 48   tool bar 66   tool  using 47   toolbar 66   user menu 65   view menu 64   window 61   window on NT 62  bus command 121  Buses   creating 98    C    Causal tracing  analysis reports 94  commands 94  ccn_report command 22  47  90  92  98  ccn_report tool 92  Checking  error 33  Checks 83  control  timing 35    Synopsys  Inc  221    Index    format  MIF files 78  PCL file 133  read cycle 37  timing 34  timing compiler 180  timing  setup and hold 37  usage 33   cnvr
67. 5  PIN PAD32 174  PIN PAD33 902  PIN PAD34 903  PIN PAD35 172  PIN PAD36 171  PIN PAD37 169  PIN PAD38 168  PIN PAD39 167  PIN PAD4O 166                PIN PAD41 904    qgaagqagaaaagnqaanananagaagaagaagaagaagaagaagaagaagaaagaadnnannagnaagnganaaa    Synopsys  Inc     SmartModel Library User   s Manual     B idirectional        September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models                   PIN PAD42 165  PIN PAD43 164  PIN PAD44 163  PIN PAD45 162  PIN PAD46 161  PIN PAD48 159          PIN PAD51 152  PIN PAD52 15   PIN PAD53 150  PIN PAD54 14  PIN PAD55 14  PIN PAD56 14  PIN PAD57 14   4   4                            PIN PAD58 1  PIN PAD59 1  PIN PAD60 905  PIN PAD61 906  PIN PAD62 907  PIN PAD63 142  PIN PAD64 141  PIN PAD65 139  PIN PAD66 138  PIN PAD67 137  PIN PAD68 136  PIN PAD69 135  PIN PAD70 134  PIN PAD71 133  PIN PAD72 132  PIN PAD73 129  PIN PAD74 128  PIN PAD75 127  PIN PAD76 126  PIN PAD77 125  PIN PAD78 124  PIN PAD79 123  PIN PAD80 122  PIN PAD81 120                                                                                                                                        QAQAQQa2rTMT tT aagQaAanraradtadgaaraqdnaandanaaadaganandaoaoadandnanaeaqoaeaeanana       PIN PAD82 119  PIN PAD83 908  PIN PAD84 909  PIN PAD85 117  PIN PAD86 116  PIN PAD87 115  PIN PAD88 114  PIN PAD89 113  PIN PAD90 112  PIN PAD91 111  PIN PAD92 910  PIN PAD93 110                            September 2001 Synopsys  Inc  105    Chapter 6
68. AD172 21       PAD173 20                   PIN               gt  a E EE  gt  Tame ae  gt  as GP Ha Oe GT   a Go    PAD174 19       PIN    PIN PAD175  PIN PAD176    PAD177 17 C       PIN    PAD179 15 C       PIN    PAD180 14 C       PIN    PIN PAD181    PAD182 12       PIN    PAD183 1       PIN       1  PAD184 10       PAD185       PAD186       PAD189       PAD190             Wf OO Oo  G G2 iC   C2 A    PAD191                   PGCK1 2 C   PGCK2 55 C  PGCK3 108 C  PGCK4 160 C  PROGRAM 106  SGCK1 207 C  SGCK2 49 C  SGCK3 102 C          SGCK4_DOUT 54 C    TCK  7         September 2001    917 C    918 C  919 C    Synopsys  Inc     Chapter 6  SmartCircuit FPGA Models    107    Chapter 6  SmartCircuit FRGA Models    SmartModel Library User   s Manual    PIN TDI 6 C    PIN  PIN  END          TDO  TMS    157 O       16 C    With this edited version of the interface file  you can now use the smartccn tool to  generate a new compiled configuration netlist file to use to simulate the 208 pin model   as explained in    Using Unsupported Devices Example    on page 103     Browsing Your Design Using SmartBrowser    There are two different tools that you can use to browse your programmable logic  design     e Visual SmartBrowser  VSB    a GUI tool that is documented in the Visual  SmartBrowser User   s Manual  UNIX version or NT version      e SmartBrowser   a command line tool that is documented in the following sections  of this manual     You can use either tool to read a compiled config
69. Chapter 6  SmartCircuit FPGA Models    When used in conjunction with the set cause nofull command  the cause report includes  only the causal event     TS Note    The report cause command can trace only one causal event at a time  When  report cause encounters simultaneous signal events that have caused the  trigger event  it traces only one event  Which event gets traced depends on  the internal ordering of the model s causal history records     report effect Command    The report effect command traces the effect of a signal event on a node within a design   A node can be any net or port defined within a design  The effect report is a history of all  signal events  starting at the trigger event and working forward to all terminal events  A  signal event on a design port is considered terminal  even though the port may be  bidirectional     For example   report effect name start_time  stop_time     produces a list of child events of the triggering event on a net or port that occur between  start_time and stop_time  If you don t specify a stop_time  the tool checks the event only  at the time specified by start_time     When the report effect command encounters simultaneous signal events at an internal  circuit element  one signal event is considered to have caused any subsequent signal  events  The report ends at the point where the event being traced does not cause any  subsequent events     To produce an effect report for the sample circuit shown in Figure 12  your MCF woul
70. Circuit models of  FPGA and CPLD devices  Also describes how to  use the debugging tools to enhance the usefulness of  SmartCircuit models     How to configure and use full functional and  hardware verification models of microprocessors and  microcontrollers     How to use the user defined timing feature to create  your own custom timing versions for SmartModels     How to use the Backanno tool to back annotate  timing values using Standard Delay Format  SDF   files     How to use the SmartModel Library command line  tools     How to diagnose problems with SmartModels and  request technical support when necessary     Definitions for terms that have special meaning in  the context of this manual     Typographical and Symbol Conventions    Represented by a percent sign         e User input  text entered by the user     Shown in bold type  as in the following command line example       cd  LMC_HOME hd1    e System generated text  prompts  messages  files  reports     Shown as in the following system message     No Mismatches  66 Vectors processed  66 Possible    Synopsys  Inc  September 2001    SmartModel Library User   s Manual Preface    e Variables for which you supply a specific value  Shown in italic type  as in the following command line example     setenv LMC HOME prod_dir    In this example  you substitute a specific name for prod_dir when you enter the  command     e Command syntax    Choice among alternatives is shown with a vertical bar       as in the following  synt
71. Date      Field    The    MDL Date      field contains the publication date for the corresponding MDL  Version of a model     The    SRC Version      Field    The    SRC Version      field contains the internal model source code version after the  change  Because not all MDL Version changes for a model involve changes to the  source code  the same SRC Version number can appear in multiple model history entries  for different MDL Version numbers     The    Problem      and    Resolution      Fields    The    Problem      and    Resolution      fields briefly describe the user visible symptoms of  the problem and  if appropriate  what was changed to correct it     216 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Appendix B  Glossary    B    Glossary    Introduction    Following are definitions of some terms that have special meaning in the context of  using the SmartModel Library     Configuration  A platform specific set of SmartModel Library models and user   versioned tools  with one version number specified for each     Configuration  LMC  File  A file that contains a configuration  that is  a platform   specific set of SmartModel Library models and user versioned tools  with one version  number specified for each  Configuration files have  lImc extensions     Custom Configuration  A user specified  platform specific set of SmartModel Library  models and user versioned tools  with one version number specified for each   Overrides model and tool versio
72. Ge OER iS EANES  Other Diagnostic Information gd ote Hh HRV HS Oe hae be  Model Hist  ry and Fixed Buse xs 644 ya eke ee Gad eeoeS BREEN ORE Leh eee  Model History Entry Field Descriptions ccc nn 050 snd odend ownde sioner    Appendix B  Glossary 6 66665  6856 nre ROSE RRR EUR Ree CES RRL SEE KSS  PPC  E E een ddan ened 60a eaadents exceeds ae eee E T    8 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Figures  Figures  Figure 1  SmartModel Versioning Environment 45 4046 i eed ade teed 4 eee eee ws 20  Figure 2  Model Versioning Overview j4cicecdcadsewsteaeeiuaienasivarwes 21  Figwe3  Diagram of TAP Sites 6454 00 65545054 456 eee de oe eee aes 39  Pipes  BUR GRET 4 wacked ntti err Gee heed e EI AEREE 40  Figure 5  Changing States Timing Diagram    4 444 0sss0es8sa00sesisaneca 43  Figure 6  UNIX Browser Tool Window cisscisscsessrsnaciesos aderentas 6l  Figure 7  NT Browser Tool Window 66a ch 646i 645 4d ope eee Ae kansi 62  Figur   8  Browser Tool Menu Bar  lt s c 4 cviasdsadedweada ren sadtvnnca caeves 63  Figure 9  Process Plow for Memory Models  o2 occ ssicedadas dias iccsdunsas 13  Figure 10  Process Flow for PLD Models hice saree des di ae oores Mee peed 81  Figure 11  SmartCircuit Model Data Plow  2 46ccanasasicau sis aaveasisacasa 89  Figure 12  Sample SmartModel Circuit 6445ceedensiiews pees sunsyices candad 92  Figure 13  SmartCircuit Pin to Port Mapping       ssssssussaasaane eed vanes 93  Figure 14  Data Flow for Processor Models 2 2 0 4 c0 0css
73. HV  Processor Processor  Model Compiler Output Model       Figure 14  Data Flow for Processor Models    September 2001 Synopsys  Inc  131    Chapter 7  Processor Models SmartModel Library User   s Manual    FFMs read programs stored in memory models  whereas HV models read compiled PCL  files  Both types of processor models are useful for developing  debugging  and  optimizing digital systems at different stages of the development cycle  During early  development phases  when change is frequent and turnaround time critical  HV models  are particularly useful because they are easy to use and run faster in simulation  An HV  model   s ability to verify proper handling of any combination of bus cycles is especially  convenient  Towards the end of a design cycle  when a hardware design is more stable  or the software must be verified  FFMs  or a hardware modeler  are essential  Table 9  compares the features of FFM and HV models     Table 9  Comparison of HV and Full Functional Processor Models                                        Hardware  Model Feature Verification   Full Functional  Correct timing Yes Yes  Functionally correct pin Yes Yes  behavior  Functionally correct bus Yes Yes  behavior  Correct simulation of Yes Yes  response to external  interrupts  Full bus functionality Yes Yes   requests and grants   High level commands Yes No  read from PCL file and  executed  Machine code instructions No Yes  fetched and executed          Simulating with HV Models    HV models ar
74. IN9 IN 13    Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    Copying Customizable Files with sl_copy    You can use the Browser tool to copy customizable model source files such as model  timing data files one at a time and then modify them to suit your needs  This method is  explained in    Copy Customizable Files Dialog Box    on page 69  When you need to  copy multiple model source files  you can use the sl_copy tool to do the job  Ordinarily   you could use a UNIX cp command to copy files and then modify them  But with the  SmartModel Library  more than one version of the same model can exist in the same  installed library   LMC_HOME   It is therefore easy to inadvertently pick up the wrong  version of a model source file  To solve this problem  Synopsys provides the Copy  Customizable Files function with the Browser tool and the sl_copy tool for use on the  command line     By default  the sl_copy tool copies model td files that you can then edit to create custom  timing versions of models  For more information on creating custom timing versions   refer to    User Defined Timing    on page 159  You can also use sl_copy to copy  command header files  model cmd  for Hardware Verification  HV  models  For more  information on HV models  refer to    Processor Models    on page 131     Syntax  You can run the sl_copy tool from the command line in two different ways  as shown in  the following examples      sl_copy  switches  mo
75. MCF file from being overwritten   Overwrite mode will create a new file  replacing an existing one by the same name   Append mode adds lines to the end of an existing MCF file     September 2001 Synopsys  Inc  117    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    set scope instance_scope_name  Enters the specified cell instance scope  The instance_scope_name argument may  be either an absolute or a relative scope path  Use double dots      to enter the  parent instance scope  The default scope is the top level of your design     show scope  Displays the current instance scope level and path  Also displays information  about the number of nets  ports  and instances     set timing range min   typ   max  Establishes the timing range used for viewing instance specific timing values  The  default timing range is    min      Cannot be issued through the SWIFT command  channel      show timing range  Displays the current timing range setting   Cannot be issued through the SWIFT  command channel      set timing unit ps   ns   us   ms  Establishes the unit value used when viewing or modifying timing values  The  default unit values is ps  picoseconds      show timing unit  Displays the current value of the timing unit setting     show doc  Displays all documentation for the current cell scope     show version  Displays the version of the SmartBrowser tool     Trace Commands    The following trace commands can also be issued through the SWIFT command  channel
76. MC_PATH environment variable using a semicolon separated list  not a colon   separated list as in UNIX     Note that if you want to verify or diagnose where a model instance is getting its timing  data from  you can use the TraceTimeFile command  issued through the SWIFT  command channel   This command causes each model to display information about the  timing data files it has searched  and which file produced a match     For information on how to set environment variables and how to use the console  application on the NT platform  refer to    Setting Environment Variables on NT  Platforms    on page 45 and    Running Console Applications on NT Platforms    on page  46     September 2001 Synopsys  Inc  161    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Creating New Timing Versions    To customize a model s timing  copy the supplied ASCII timing data file to your own  timing directory using the Browser   s Copy Timing File function  For instructions  refer  to    Creating Custom Timing Versions    on page 166  After you copy the file  you can  edit and compile it  Compiling the file builds the timing file the model uses in  simulation  Figure 16 illustrates this process     model td file    Model User Defined    Timing Data Timing Data          Model Rane m  T  Timing  Timing Template Compiler    Model  Timing File             model tt files model tf files    Figure 16  User Defined Timing Process       A model timing file is created with a timing dat
77. Models and  simulators 19  swiftcheck command 47  50  51  59  210  switch statement 152  Syntax  configuration file 50  MIF file record 76  SystemC SWIFT support 30    T    TAP states  diagram of 39  Timing  changing states  diagram 43  check control 35  checks 34    SmartModel Library User   s Manual    checks  setup and hold 37  data files comments 170  data files  format 167  files 160  files  back annotating 183  files  disabling display 49  instance based 160  relationships  modeling 36  scaling SmartCircuit models 122  statement  format 173  175  user defined 34  159  user defined  examples 163  versions 23  164  versions  custom 53  Timing check label format 174  Timing compiler  checks 180  running 181  using 180  Timing files 192  user defined  compiling 108  Timing resolution 31  Timing scale  Changing in SmartCircuit models 122  Timing versions 23  adding new 164  creating new 162  custom 53  custom  creating 166  one model  displaying 55  Tools  backanno  running 191  Browser  GUI 61  Browser  using 47  ccn_report 22  47  90  92  98  compile_pcl 133  134  154  155  compile_timing 22  47  160  163  165   167  170  181  interactive  SmartBrowser 108  mi_trans 47  50 51  77  200  ptm_make 47  50  51  194  198  sl_browser 48  49  65  sl_copy 199  smartbrowse 109  SmartBrowser 22  47  90    230 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    SmartBrowser interactive 108  SmartBrowser  creating WDFs 98  smartccn 22  47  90  92  121  123  125   127
78. Name Dimensions   R W Access  pal32vx10 10 Q0 Q9 1 bit Read Write  i28f001bxb 2 COMMAND REGISTER  8 bits Read Only  PROTECT_STATUS 1 bit Read Write  xc17128d 1 BIT_ADDR_REGISTER 18 bit Read Write  mt581c64k18b2 3 MEM 65K x 18 bit   Read Write  array  MEM_addr 16 Read Only  MEM_rw 2 Read Only                         In addition to the information in Table 1  some model datasheets provide instructions on  how to use a particular model   s window elements     Memory Windows    Notice that the predefined window elements in Table 1 represent either single bit  registers  one dimensional arrays  multibit registers   or two dimensional arrays  Two   dimensional arrays are used for memory array windows     Within SmartModel Windows  memory array windows let you monitor events that take  place in a memory array during simulation  The memory array can be part of a memory  device or any other device that contains on chip memory  Using this functionality  you  can monitor read and write operations in the array without individually monitoring  every array location   For large memories  monitoring every array element is not  practical      September 2001 Synopsys  Inc  25    Chapter 1  SmartModel Library Features SmartModel Library User   s Manual    Each model s memory array has three associated windows  the Memory Array Window   the Memory Address Window  and the Memory Read Write Window     The Memory Array Window     Represents the memory array itself    Has the same dimensions as the 
79. OD c5c_c8c_2 01000  SMOD dm74s188 01000   O   O          D ecl01 01000  D gall8v10 01000   MOD hm658128 01000  SMOD ifc161 01000                             MOD tt10 01000 7400 74LS00    SMOD windows 01000  SMOD z8536 01000             Configuration File Syntax    There are three commands that can appear in an LMC file  as follows      PLT platform_name    If this optional command is present  it indicates that a check is to be made to determine  if the platform specified is the same as that on which the software is currently running   Examples of allowed values are decalpha  hp700  sunos  solaris  ibmrs  and pcnt  The  first line in the above example     SPLT hp700    indicates the hp700 platform  If PLT is absent  no checking is done     50 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    O   Hint  F you want a single LMC file to be shared among several platforms  omit  the PLT command      EXE tool_name version    This command specifies the versions of the most recently installed user versioned  SmartModel Library tools  Examples of user versioned tools include the following     e swiftcheck   performs integrity checks on the installed library  e mi_trans   translates memory image files for memory models    e ptm_make   creates simulator specific portmap files  which list the port names of a  model and map those port names to the physical pins of the device     In the example  the lines     SEXE swiftcheck 01009  SEXE mi_trans 0
80. SYNOPSYS    SmartModel Library User   s  Manual       SmartModel Library User   s Manual    Copyright    2001 Synopsys  Inc   All rights reserved   Printed in USA     Information in this document is subject to change without notice     Synopsys and the Synopsys logo are registered trademarks of Synopsys  Inc  For a list  of Synopsys trademarks  refer to this web page     http   www synopsys com copyright html    All company and product names are trademarks or registered trademarks of their  respective owners     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Contents    Contents    Plae 65666  KH AEKE LS EHLAEASAKERSS HOLE HASEREAGED EAE EDEL ERD ES EO 13  About This I   ae raesy ie 5 5 WO ito iaire ente oi eS dee 13  Pe s 6406 ESCA AEE OE EN 13  WEI oh oh cdc 46 68 iik t Ew ae be Sdn e SEE Oe EE SA 13   Typographical and Symbol Conventions                  00 ee eee eee eee 14  Po a e adh  A E E eke E E ht hee ee be eee ee 15  The Synopsys CUES kg 6 deo oho Cho ob taa sa NOAE RLV He MWh SS SS 16  Synopsys Common Licensing  SCL  Document Set                      16  CG eek he hh ek ae be E A ee da E E 17   Chapter 1   SmartModel Library Features 2 4046 siveedeesieee seedesieecees sce sivese 19  SmartModel Library Overview  46 6 005065 o0 er desd sed egad de nese awe en    19  SmartModel Library Versioning soo os 5 9 eos 8 455 Wed COU Ob Wee eeun 20   Model Versions kok he EGER KAHNE HRUERS TASES  ERRERA ENAERE OERRR ES 22  E e e E E E A EEE E ek E E E E 2
81. Trace  PCL Cmd  load_reg 0x1031 0x07     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns                                                        Trace  PCL Cmd  load_reg  0x1037 0x00    SPIBUF is read only  command ignored    n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns            Trace  PCL Cmd  load_reg 0x1039 O0OxA0      n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns            Trace  PCL Cmd  load_reg  0x103D  0x02     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns                        Trace  PCL Cmd  load_reg  0x103E  0x22     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns                        Trace  PCL Cmd  load_reg  0x103F 0x40     n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns               Trace  End of main PCL program    n u9   comp C010   loc     lai TMS370C010   at t 10001  1000 1 ns                                          Running the PCL Compiler    In addition to compiling a PCL source file into a PCL program  the PCL compiler  checks for errors and issues error messages specifying the location and nature of any  errors it detects  You invoke the PCL compiler using compile_pcl     For NT  invoke the compile_pcl program using the console command line  For more  information  refer to    Running Console Applications on NT Platforms    on page 46     Syntax    compile pcl source file new program  switches   Arguments  source_file Specify the name 
82. USE_BA    192 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    10    Library Tools    Introduction    Many users will find that the only tools they need to make effective use of the  SmartModel Library are the sl_admin and sl_browser tools  both available in   LMC_HOME bin  Together  the Admin and Browser tools constitute the primary user  interface to the SmartModel Library  That said  there remain some tasks that can only be  accomplished using the command line tools that are also provided with the library in the   LMC_HOME bin directory  This chapter describes some of the command line tools   what they are good for  and how to use them  Other command line tools such as  compile_timing are discussed in the context of broader discussions  For example  you  can find more information about the compile_timing tool in the chapter about     User Defined Timing    on page 159  Here   s a preview of the miscellaneous tool topics  that are covered in this chapter     e Creating PortMap Files   e Copying Customizable Files with sl_copy  e Translating Memory Image Files   e Adding Back Annotation   e Checking SmartModel Installation Integrity    For more information on the Admin tool  refer to the SmartModel Library  Administrator   s Manual  Detailed information about the Browser tool is provided in     Browser Tool    on page 45  Refer to    Browsing Your Design Using SmartBrowser    on  page 108 for information on using the SmartBrows
83. a file  a timing template  and the  SmartModel Library timing compiler  You can use the timing data included with the  library  or you can use your own model timing  In any case  a timing file is only  generated once  and then  depending on the search rules  is available to the model in  every simulation     162 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    IS    Note   Before you make significant changes to the timing data  you should be  familiar with both the format and grammar of timing data files  For details   refer to    Timing Data File Format    on page 167 and    Timing Data File  Grammar    on page 176     User Defined Timing Examples    Two    examples of creating new timing are described here  In the first case  a timing    version is added to reflect a new component that was not included in the standard  timings for the model  In the second example  a worst case timing version is generated  from all the existing versions     Example Timing Data File    Both examples are based on the timing data file for the am29520 model  Here is what  the timing data file for this model looks like before any modifications have been made          se SE OE      H H H H H                                       Timing data file generated by Synopsys Logic Modeling  Inc   for use with the Synopsys Logic Modeling compile_timing tool        File generated  8 19 93        Tool versions    1 1  3     Timing descriptions    th_I_CLK_
84. a named constant by using the  define directive     You can specify a literal constant in decimal  octal  or hexadecimal format  Octal  numbers begin with a    0    while hexadecimal numbers begin with    Ox    or    OX        The following example code shows various literal constants used in a fragment of PCL  code     if   varl    10      var2   0x64     hex for 100 decimal     else  var3   0144     octal for 100 decimal       September 2001 Synopsys  Inc  141    Chapter 7  Processor Models    Comments    SmartModel Library User   s Manual    Comments in PCL begin with the string    and end with     Spaces are not allowed  between the asterisk and slash in either of these strings  The compiler ignores any  characters between the    and    strings     Comments can be placed anywhere within a program  as long as they do not break a  keyword or identifier  Nested comments  a comment containing another comment  are    not allowed     Operators    PCL supports the integer and logical operators shown in Table 11  Logical values in  PCL are represented by integers  and so are treated as integer values by the compiler     Table 11  PCL Operators                                                                            Operator Description    Logical NOT    Bitwise complement  F Addition  5 Subtraction  negation  7 Multiplication  indirection  J Division    Remainder   lt  lt  Left shift   gt  gt  Right shift   lt  Less than   lt   Less than or equal to   gt  Greater than   gt   Gr
85. a the default and custom configuration  LMC  files  in the same way  that you select different model versions  You can select and use any version of a user   versionsed tool that you have installed  However  it is often best to use the latest  version  Examples of user versioned tools include ptm_make  mi_trans  and  swiftcheck     For more information about SmartModel Library tools refer to    Library Tools    on  page 193     Default Configuration  LMC  File    The default configuration  LMC  file that comes with the SmartModel Library contains  a list of all installed SmartModel Library models  user versioned tools  and their most  recently installed versions  The LMC file is platform specific  and is typically named  platform lmc  for example  hp700 lmc   Normally  when a model version is installed in  the library  the  LMC_HOME data platform Imc file is updated with the most recently  added model version  If  for example  Version 01002 has been more recently installed  than Version 01004  then Version 01002 is the default version used even though Version  01004 has a higher version number     Before using the Browser tool  you must specify the default configuration file for the  Browser by setting your local  LMC_HOME environment variable to the install  directory  The model versions specified in the default configuration file will be used by  the simulator unless you define other model versions in one or more custom  configuration  LMC  files     Using the Browser Tool 
86. age  Another switch that you can specify for help using the    swiftcheck tool     Examples    The following example invocations show how to invoke the swiftcheck tool in several  different ways  The first example causes swiftcheck to load and exercise the ttl00 model   which does not require a configuration file       swiftcheck tt100    This next example causes swiftcheck to load and exercise the am2168 memory model  using the MIF file called my_memfile to configure the model       swiftcheck  m my_memfile am2168    The next example causes swiftcheck to load and exercise the mc68332_hv hardware  verification model using the MIF file called my_memfile and the PCL file called  my_pclfile to configure the model       swiftcheck  m my_memfile  p my_pclfile mc68332_hv    September 2001 Synopsys  Inc  211    Chapter 10  Library Tools SmartModel Library User   s Manual    212 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Appendix A  Reporting Problems    A    Reporting Problems    Introduction    If you think a SmartModel is not working correctly  check with your System  Administrator to see if you are using the latest version  It is possible that a more recent  version of a model has the fix you need  Significant model changes are documented in  the model history section at the end of each model   s datasheet     First  verify the version number of the model using the Browser tool    LMC_HOME bin sl_browser  to access the model datasheet  The title banner at
87. al  typ   and maximum  max  operating  ranges  If a single value is used  it is assumed that it represents all three  min  typ  and  max   If three values are specified  they represent min  typ  and max in that order  You  can use the NULL identifier to disable timing checks and access delays     timing value       timing value    numeric   value    The timing value is either a number representing the delay or a timing check  depending  on the statement     numeric value    numeric value                 integer   real          The numeric value can be a positive or negative integer or real  The value can also be  scaled  using an optional timing unit  The default unit for frequency timing statements  is mhz  and ns is the default for all other timing statements  The minus sign denotes  negative values  The braces used here are only found in files generated by Logic  Modeling   they signify that the specifications were derived  not found on the  manufacturer s datasheet         real    integer integer    integer    digit   digit         timing unit    timing unit    fs   ps   ns   us   ms   khz   mhz   ghz    September 2001 Synopsys  Inc  179    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Table 17 provides definitions for all possible timing unit values   Table 17  Timing Unit Values                                                    Timing Unit Definition  fs femtoseconds  ps picoseconds  ns nanoseconds  us microseconds  ms milliseconds  khz kilohertz
88. al identifier used to further qualify timing variations in  propagation delays by denoting the output edge transition  If no edge is specified  then  the timing values apply to all possible transitions on the output pin for the particular  delay  Table 16 provides definitions for all of the possible output edge values     Table 16  Output edge Values                                                                                  Output edge Value Definition  ih low to high  Iz low to high impedance  hl high to low  hz high to high impedance  zl high impedance to low  zh high impedance to high  la low to any  lh  1z   nl any to not low  1h  1z  hz  zh   ha high to any  hl  hz   nh any to not high  hl  hz  1z  zl   za high impedance to any  zl  zh   nz any to not high impedance  lh  hl   Zl  zh   al any to low  hl  zl   ah any to high  lh  zh   az any to high impedance  1z  hz   aa any to any  lh  1z  hl  hz  zl  zh                    178 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    Table 16  Output edge Values  Continued                 Output edge Value Definition  av any to not high impedance  lh  hl   zl  zh   vv not high impedance to not high  impedance  lh  hl                 timing values   timing values    timing value     timing value   timing value       timing unit     NULL   Timing values is a list of one or three timing values  or the identifier NULL  The values  represent timing for the minimum  min   typic
89. alysis report that contains all causal events  from the trigger through the  earliest parent event  The report produced when you use the nofull argument is  significantly shorter  and lists only the parent events     TS Note    You must specify the full nofull and constraint noconstraint arguments using  separate set cause commands     To produce a cause report with the scope set to full for the sample circuit shown in  Figure 12  your MCF file would need to contain these lines     set cause full  report cause Y 150 250  report cause Q 280    96 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Viewing Internal Nodes During Simulation    There are two different ways to view events on internal nodes during simulation using  SmartCircuit models     e    SmartModel Windows    on page 97  e    SmartCircuit Monitor    on page 98    Table 7 compares these different viewing methods so that you can choose which one is  best for your needs     Table 7  Windows and Monitors Tool Comparison                   Read the State of Write to the State of  Viewing Tool Internal Nodes  Internal Nodes  Output Appears In     SmartModel Windows Yes Yes  1  Simulator waveform  viewer  SmartCircuit Monitor Yes No Simulator transcript  window                 1  Not all SmartModel Window elements are set up for write permission  For information on the  read write status of window elements  refer to the individual model datasheets     Although the
90. and devices    Bibliographic sources used to develop the model  i e   specific vendor databooks or  datasheets     How to configure and operate the model  Any timing parameters that differ from the vendor specifications  How to program the device  if applicable  or otherwise use it in simulation    Differences between the model and the corresponding hardware device    September 2001 Synopsys  Inc  27    Chapter 1  SmartModel Library Features SmartModel Library User   s Manual    Models are partitioned by function  including   e Processors VLSI   e Programmables   e Memories   e Standards Buses   e General Purpose    SmartModel datasheets have standard sections that apply to all models and model   specific sections whose contents depend on the model type  The following sections  provide general information about what to expect from the various sections in a  SmartModel datasheet     YS Noe                C  FlexModel datasheets follow a different format than other SmartModel  datasheets  but are similarly designed to provide you with all the  information needed to successfully use the model     Title Banner    The title banner provides information about the model name  title  function  subfunction   MDL version number  and date of the last change to the model     MDL Version Numbers and Model History    With the SmartModel Library  model versions are called MDL version numbers  Not all  MDL version number changes are significant to model users  For example  making an  editoria
91. are several predefined functions that can appear in timing expressions     MIN  valuel  value2    Returns the minimum of valuel and value2              MAX  valuel  value2    Returns the maximum of valuel and value2                          ACTUAL  timing name    Evaluated during simulation     The ACTUAL  expression is used to supply a value that is based on the actual clock  period being used during the simulation  Before the simulation runs and the clock  period can be used  the expression is evaluated to be equal to the value of timing name     Internal Pin Comments    Some manufacturers specify timing with respect to internal pins  This is often true for  PLDs  All timing names dealing with internal pins are highlighted as comments at the  top of the associated timing data file  The following example is for a PLD that has  internal feedback pins       Timing with internal pins        tpd_CLK_lh_FB       September 2001 Synopsys  Inc  171    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Range Comments    Range comments describe the propagation delays used in the model  Min Typ Max     Timing Data File Model Block    Figure 21 shows an annotated example of a model block in a timing data file       Timing data file generated by Logic Modeling  Inc     Model name  must not be changed     Component name  identifies timing   model  case comp  of   Fairchild  FACT Fairchild Advanced CMOS Technology  Logic Data Book  605003 25M  October 1985       Timing La
92. as alias_name  Undefines the specified alias_name     log log_file  Creates the specified log file  If another log file is open  the command closes that  log file and then creates the new log file     quit  Exits the SmartBrowser tool   Cannot be issued through the SWIFT command  channel      rerun log_file  Runs the specified  og_file as though it is a command file  executing only  statements within brackets  for example    command        run run_file  Runs the specified SmartBrowser run_file     save design file_name  Saves the current design  using the specified file_name   Cannot be issued through  the SWIFT command channel      save mcf file_name  Saves all monitors  windows  and buses defined during the current interactive  session  using the specified file_name  You can use he    set saveMcf    command to  configure the writing mode when saving to a file that already exists     120 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Model Command File  MCF  Reference    The primary function of an MCF file is to specify that the model load a compiled  configuration netlist  CCN  or compile a source netlist  You can also use MCF files to  include other command files  define bus names  and specify timing ranges  Files that  you might want to include in the MCF are ones that perform basic tasks  For example   you can use an MCF file to include a standard setup file that creates monitors and  windows for a specific fami
93. at it can report the value being driven into the model  You cannot  window the value driven out of an external I O port     On input or I O ports that have special attributes  for example  pull up resistors   the  window command reports the resolved value of the simulator s input and the model s  input pin attribute     smartccn Command Reference    Before you can use a SmartCircuit model in a simulation  you must have a compiled  configuration netlist  CCN   You can generate a CCN in two different ways     e Use the load  source command in the model command file  MCF   This causes the  model to automatically generate the CCN as needed     e Run the SmartCircuit netlist compiler  smartccn  and then load the CCN using the  load command in the MCF     In most cases you should generate a CCN using the MCF rather than explicitly  executing smartccn     124 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    TS Note    Refer to the model datasheets for detailed information on configuring  individual SmartCircuit models  For information on finding model  datasheets using the sl_browser tool  refer to    SmartModel Datasheets    on  page 27     The smartccn tool translates a design netlist or JEDEC file  which describes the model s  configuration  into a binary format that the SmartCircuit model understands     During the compilation process  smartccn searches for the files it needs to create a CCN   The compiler also checks to 
94. atch programming files rather than rewriting them     PLD models conform to the JEDEC standard  which contains provisions for easily  patching a programming file  To patch a programming file  simply append the new  fuse and or checksum data to the end  The new data always replaces previous  specifications     e Reuse file names rather than changing the SWIFT JEDECFile parameter     In many simulation environments  changing the file name requires changing the  schematic  recompiling  and then restarting the simulation  You can avoid this  problem by reusing a model s file name for a file with new information in it rather  than instantiating the part and changing the value of the property or parameter     84 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    Chapter 6  SmartCircuit FPGA Models    6    SmartCircuit FPGA Models    Introduction    SmartCircuit models simplify the integration and simulation of device models from the  leading FPGA and CPLD device vendors  And the debugging tools designed  specifically for use with SmartCircuit models enable you to monitor design state  trace  cause and effect events  and analyze your design structure     This chapter presents user and reference information for SmartCircuit models and their  debugging tools organized as shown in the following table                       Type of  Information Is Located In      Overview e    Using SmartCircuit Models    on page 86  e    SmartCircuit Technology Overview    on page 88
95. ates that the syntax of cnvrt2mif is to be displayed     u sage  Indicates that basic usage of cnvrt2mif is to be displayed     e xamples  Indicates that examples of cnvrt2mif usage are to be  displayed     Example  1   Converting S records into a 32 bit wide single  output file with no endian conversion     The input file srec4 contains two records with data from byte address 400 to 41f      3 15 00000400 101111231415161718191A1B1C1D1E1F 6E  S3 15 00000410 303132333435363738393A3B3C3D3E3F 5E                   The following command specifies that the input file srec4 is to be converted to MIF  format and written to a single 32 bit wide output file myoutput mif  with no endian  conversion       cnvrt2mif srec4     devwidth32  o myoutput    cnvrt2mif automatically recognizes the input file as being in Motorola S record format   Because  noxsum was not specified  cnvrt2mif validates the checksums on each record   The output file myoutput mif contains the following data                          100   10111213   101   14151617   102   18191A1B   103   1C1D1E1F        104   30313233   105   34353637   106   38393A3B   107   3C3D3E3F     Because this is a 4 byte  32 bit  device  the input record addresses  400 41f  have been  adjusted to device indexes        September 2001 Synopsys  Inc  205    Chapter 10  Library Tools SmartModel Library User   s Manual    Example  2   Converting S records into two 16 bit wide  output files with endian conversion     As in Example  1  the input fi
96. ates the missing values   Figure 19 shows that calculated values are used for the TYP propagation delay  denoted  by the braces        Timing Label   j Max   Vendor Label          The braces denote    that the timing  end case  values are    end model     calculated and did  not come from the  manufacturer   s  specifications        Figure 19  Calculated Propagation Delays    You can change any of the delay values by creating a custom timing version of the  model     September 2001 Synopsys  Inc  169    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Timing Data File Comments    Figure 20 illustrates the different types of comments that can appear in the timing data  file header     Timing data file generated by Logic Modeling  Inc    for use with Logic Modeling   s compile_timing tool  Comments       File generated  5 1 90        Tool versions    1 0  0      Timing descriptions        permax_X2_lh    Maximum on master clock X2  cycle time  permin_X2_lh    Minimum on master clock x2  cycle time          Timing Descriptions         Timing expressions        pwmin_X2      permin_X2_lh   pwmin_X2      pwmax_X2      permax_X2_lh   pwmax_X2      tpd_RS_hl_WE      0 5   permin_CLKOUT_lh    tpd_RS_h1_WE                   Timing Expressions          Figure 20  Timing Data File Comments    General Comments    General comments note the date the file was generated and the tool versions used     Timing Description Comments    Timing descriptions provide information a
97. ation  LMC  Files    on page 50     New Models  Bug Fixes          SmartModels    LMC_HOME              ttl00  Version 01001  ttl0O0  Version 01002        Design Team Design Team  Number 1 Number 2                                  Figure 1  SmartModel Versioning Environment    20 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    Chapter 1  SmartModel Library Features    Each versioned model supports multiple timing versions  Each timing version  in turn   can support multiple devices  or physical integrated circuits that you can order from a  manufacturer  When you install a particular model version  you get all of the timing  versions for that model  Similarly  when you purge a particular version of a model from  the library  you purge all of its timing versions as well  Figure 2 illustrates how these  concepts work together                 Pa ee             Timing Timing  Version Version                      Device             Device Device                         Device                PS a e                Timing Timing  Version Version                      Device             Device Device                         Device                Pe a ee                Timing Timing  Version Version                                              September 2001                      Model Version 01001    Model Version 01002    Model Version 01003    Figure 2  Model Versioning Overview    Synopsys  Inc     21    Chapter 1  SmartModel Library Features SmartModel Librar
98. ax example      effort_level low   medium   high    In this example  you must choose one of the three possibilities  low  medium  or  high     Optional parameters are enclosed in square brackets          as in the following  syntax example     pinl  pin2     pinN     In this example  you must enter at least one pin name  pin    but others are optional    pin2     pinN       Getting Help    If you have a question while using Synopsys products  use the following resources     1  Start with the available product documentation installed on your network or located  at the root level of your Synopsys CD ROM  Every documentation set contains  overview information in the intro pdf file     Additional Synopsys documentation is available at this URL   http   www synopsys com products Im doc  Datasheets for models are available using the Model Directory   http   www synopsys com products Im modelDir html  2  Visit the online Support Center at this URL   http   www synopsys com support Im support html  This site gives you access to the following resources   o SOLV IT   the Synopsys automated problem resolution system  o product specific FAQs  frequently asked questions     September 2001 Synopsys  Inc  15    Preface SmartModel Library User   s Manual    o lists of supported simulators and platforms   o the ability to open a support help call   o the ability to submit a delivery request for some product lines  3  If you still have questions  you can call the Support Center     North Ameri
99. bel    Component source  information    tpd_I2_01  tpd_I2_01  tpd_I1_01  tpd_I1_01                     eee Case selector  of  CD74AC00       Harris RCA  Advanced CMOS Logic Integrated    Circuits  SSD 283A  1988   h Timing Label   i   Vendor Label    ee ee ee ee Tort      tpd I1 oL hl    of  CD74ACO0 EXT       Harris RCA  Advanced CMOS Logic Integrated  Circuits  SSD 283A  1988     Timing Label   i   Vendor Label    2 3  Braces denotes that the  T e timing data is calculated  and  P did not come from the  Edge qualifier manufacturer   s     selects the output specifications  end case  edge for the    end model  specification        Figure 21  Annotated Timing Data File Model Block    172 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    Timing Statement Format    Timing statements usually appear one to a line  When the same timing values apply to  several timing labels  a list format can be used  There are two types of labels  delay  labels and timing check labels  Both types are described below     Delay Label Format  Delay labels have the following syntax     Label   Type_FromPin _FromEdge _ToPin _ToEdge   _Integer     Delay Label Syntax Elements    Delay labels have the following syntax elements     Type  One of the following values     o tpd   Specifies a delay     o acc_tpd   Specifies an access delay  meaning that the output goes to unknown  after the delay     o trigger   Specifies that the output makes the ToEdge tra
100. bin sl_browser  provides a graphical user interface to  the SmartModel Library and the online documentation  This chapter provides  information about how to use the Browser to perform the day to day functions required  to make optimal use of the SmartModel Library of behavioral simulation models  This  information is organized in the following major sections     e Selecting Models in  LMC_HOME  e Selecting Tool Versions   e Default Configuration  LMC  File  e Using the Browser Tool   e Configuration  LMC  Files   e Custom Configuration  LMC  Files  e Browser Tool GUI    Setting Environment Variables on NT Platforms    Many SmartModel Library installation and configuration steps require that you set  environment variables  Most of the examples in this manual show how to set an  environment variable in UNIX using a C shell  For NT  you set environment variables  using the System Properties window  To access the System Properties window select  Start  gt  Settings  gt  Control Panel and double click the System icon  From the System  Properties window  select the Environment tab  enter the variable name and value  and  click Set  Then click on OK to dismiss the window     September 2001 Synopsys  Inc  45    Chapter 3  Browser Tool SmartModel Library User   s Manual    By default  new variables that you enter become    User    environment variables  If you  have administrator privileges you will also be allowed to create    System    environment  variables  Note that any    User  
101. ble only with  the model version in the configuration files at the time the timing file is  compiled     To locate the timing file for the Browser and the simulator  set your  LMC_PATH  environment variable to the directory that contains the compiled timing file  as shown in  the example below       setenv LMC PATH  user me     Your custom timing version is now ready for use in simulation  By default  the Browser  displays this timing version and any other custom timing versions you may have in   LMC_PATH     Determining the Most Recent Model Version    To determine whether you have the most recent model version available  follow these  steps     1  Select the model in the Browser   s main window and click on the Model Detail  toolbar button  This brings up a Model Detail window which lists all versions of that  model installed in your  LMC_HOME     2  Locate the latest datasheet for the model  using one of the following methods   a  Go to the Model Directory on the Web   http   www synopsys com products Im modelDir html    Enter the timing version name and start the search  From the resulting list   select the required timing version  When the product information appears  click  on the product code to show the datasheet     b  Contact your local Synopsys representative     54 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    3  Look in the banner section at the top of the datasheet for the version number of the  model  Compare the
102. bout the labels used in timing statements  If a  label does not clearly describe the particular timing statement  a comment is included at  the top of the timing data file that further describes it  The following example shows  how comments are used to distinguish between timing descriptions that appear nearly  identical       Timing descriptions        tpd_X2_lh_WE_1      WE 1lh  delay time from X2 lh  with RS  h1      tpd_X2_lh_WE_2       Delay time X2 lh  to WE   CLKOUT h1  to WE h1               170 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    Timing Expression Comments    Timing expressions list the timing statement values that are calculated by substituting  timing data numbers in an expression  These expressions are included as comments at  the top of the timing data file  The following is an example of a delay that is half the  period of a clock plus some constant       Timing expressions        tpd_RS_hl_WE        0 5   permin_CLKOUT_lh     tpd_RS_hl_WE         This means that the delay from RS hl  to WE is calculated by substituting the timing  data numbers into the expression  For example  you can supply the following numbers     permin_CLKOUT_lh  200 0   tpd_RS_ hl WE  50 0     As a result  the actual number for the delay is      0 5   200 0     50 0     150 0    Do not change the text in a timing expression comment  Timing expression comments  serve only to document how calculations are performed     There 
103. c5eisaadeusosace 131  Figure 15  PCL Programi Format Example coscrrecriscrnidors dki derricks 136  Figure 16  User Defined Timing Process  lt 4 14 one sg ee eee haede eee ieee 162  Figure 17  Timing Data File Elements 44445 540 lt 0s46icnneesass sus eceevewss 167  Figure 18  Assumed Propagation Delays  lt c   ccereesacesavesde set aceraasy 168  Figure 19  Calculated Propagation Delays         nnuuenunanannn annere 169  Figure 20  Timing Data File Comments 64  ias dns nea cade ununure ranere 170  Figure 21  Annotated Timing Data File Model Block     446 04 00060044   e00es 172  Figure 22  SmartModel Back Annotation Process 6  dna p46 cto dag dare rdeeeedns 184  Figure 23  Delay Scaling Example    csioc digest eadvinsicare  6ae0s 405054008 188  Pigwie ce Interconnect Example cic oe st ceee tu orkaner tee akaaere 190  September 2001 Synopsys  Inc  9    Figures SmartModel Library User   s Manual    10 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Tables    Table 1   Table 2   Table 3   Table 4   Table 5   Table 6   Table 7   Table 8   Table 9     Table 10   Table 11   Table 12   Table 13   Table 14   Table 15   Table 16   Table 17   Table 18     Tables    Examples of Predefined Windows from Model Datasheets             25  SmartModel Logie Values  pssisrsassicnerroti ar 0S EROS OS IAEE 32  Comparison of Generated Unknowns in the Example Flip Flop          41  Toolbar Button Descriptions 6k 4 io a hehehe hess 66  Bits in Row and Column Addresses   4  40is4ses
104. can customers    Call the Synopsys Eaglei and Logic Modeling Products Support Center hotline at  1 800 445 1888  or 1 503 748 6920  from 6 30 AM to 5 PM Pacific Time  Monday  through Friday     International customers   Call your local sales office     The Synopsys Website  General information about Synopsys and its products is available at this URL     http   www synopsys com    Synopsys Common Licensing  SCL  Document Set    Synopsys common licensing  SCL  software is delivered on a CD that is separate from  the tools that use this software to authorize their use  The SCL documentation set  includes the following publications  which are located in  root  docs scl on the SCL CD  and also available on the Synopsys FTP server  ftp   ftp synopsys com      e Licensing QuickStart    142K PDF file   This booklet provides instructions for obtaining an electronic copy of your license  key file and for installing and configuring SCL on UNIX and Windows NT     e Licensing Installation and Administration Guide    2 08M PDF file   This guide provides information about installation and configuration  key concepts   examples of license key files  migration to SCL  maintenance  and troubleshooting     You can find general SCL information on the Web at     http   www synopsys com keys    16 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Preface    Comments     To report errors or make suggestions  please send e mail to   doc  synopsys com    To report an error that occu
105. check box should  be selected     5  In the Function Subfunction list box  scroll to the desired function and select it   6  Click on Filter     7  Click on Close  The Model Filters dialog box closes and the selection pane lists all  models that have the specified function     Finding Out More Details About a Model    To find out more details about a model  follow these steps   1  Locate the model you are interested in     2  Double click on the model  or use the Model Detail command on the Actions  menu   The Model Detail dialog box appears  It contains information about the  version  configuration file  timing versions  and other details     3  Click on Close  The dialog box closes     Finding Out What Model Version You Have    To find out what model version you have  follow these steps   1  In the selection pane  select the model or timing version you are interested in     2  From the Actions menu or the toolbar  choose Model Detail  The Model Detail  window opens  The model version is displayed in the Version box     September 2001 Synopsys  Inc  57    Chapter 3  Browser Tool SmartModel Library User   s Manual    Loading a Custom Configuration File  To load a previously created custom configuration  LMC  file  follow these steps   1  If you are currently running the Browser  exit it   2  Set your  LMC_CONFIG environment variable to the path of your LMC file     o If you have no other configuration file already defined in  LMC_CONFIG  or if  you do have an older file alrea
106. cific version of a model to use in a design simulation  using configuration  LMC  files     The default model version is the most recently installed version  In cases where you do  not want to use the latest installed version of a model  you can override the default  model version by creating one or more custom configuration  LMC  files  The software  locates the default and custom configuration files using the  LMC_HOME and   LMC_CONFIG environment variables  For more information about model versioning   refer to    SmartModel Library Versioning    on page 20     When you invoke the Browser  the selection pane displays a list of timing versions for  the models that will be used by the simulator based on your  LMC_HOME and   LMC_CONFIG variable settings  To find out what other versions of a model are  installed in your library  use the Model Detail command     46 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Selecting Tool Versions    For some SmartModel Library tools  called model versioned tools  the version of the  tool that is used is determined by the model  You cannot change the versions of model   versioned tools because a particular version of a model may depend on a specific tool  version to function properly  Examples of model versioned tools include  compile_timing  ccn_report  smartbrowser  and smartccn     For other SmartModel Library tools  called user versioned tools  you select the version  of the tool to use vi
107. cs for a single specific instance of a model  For example  you could use  instance based timing to back annotate interconnect delays into a simulation or to  specify a different interconnect delay for a model instance that is on the critical path      gt  Note    FlexModels support component based UDT  but not instance based UDT   For more information on FlexModels  refer to the FlexModel User s  Manual     September 2001 Synopsys  Inc  159    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Timing Files    The SmartModel Library contains both source and compiled timing files  When you  want custom timing for models  you can either edit the source files supplied with the  SmartModel Library or create your own  In either case you should create your own  timing directory to keep your custom timing files in  otherwise  your work will be lost  when you update your SmartModel Library     You can store your custom timing files in any arrangement of directories that suits your  needs  However  the models must know where to look for your custom timing files   The search rules for locating timing files are explained in the next section     If you create new timing versions  you must support these files as you would any other  library of simulation models  In particular  if the timing file format changes with time   you might receive an error message about the format of your file  In that case  you  would need to rerun compile_timing     Instance Based Timing    Ins
108. cturer     Sources    This section lists all of the specific bibliographic references used for information about  the behavioral and timing characteristics of the modeled device     Model History    This section appears at the end of each datasheet  It only contains model history change  information if there were significant changes to the model   s behavior in the previous  year  Read this section to get information on the latest model versions  Each change  entry that appears in the    Model History    section notes the model version number  associated with that particular change  For more information about model history  refer  to    Model History and Fixed Bugs    on page 215     Models versions are identified with the five digit MDL version number that appears at  the top of every SmartModel datasheet  in the Banner section     Getting SmartModel Datasheets  You can get SmartModel datasheets several different ways     e Through the Browser tool  To make a datasheet appear  just select the model you  are interested in and click on the datasheet icon in the upper left portion of the  vertical tool bar     e Through the Model Directory on the Web   http   www synopsys com products Im modelDir html  XL SNote       a WAT  The Model Directory on the Web always provides datasheets for the latest  SmartModel versions  The Browser tool shows you datasheets only for    models installed at your site  which may or may not be the latest versions  available     September 2001 Synopsys
109. d  Assign windows to  the selected items  then use the    save mcf    command to save your definitions to a file   This file is subsequently referred to by a    do    command in the MCF file     This section summarizes the SmartBrowser interactive commands that you can use for  developing a windows definition file     Regular assignments     assign window name s     bus_name   assign window  gt  bus_name  assign window instance    For AutoWindows     set bus bitOrder big   little  set bus delimiter  postfix_char   assign window auto   Find all window elements for current scope    Listing and saving all defined windows     list mef   List all defined windows  monitors  and buses  set saveMcf noClobber   append   overwrite  save mcf   Save all window  monitor  and bus definitions    September 2001 Synopsys  Inc  111    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    The following SmartBrowser command creates three net windows definitions  one for  each of the specified nets     assign window net N4 N6 N8    Alternatively  you could use the following    assign window    command to bus the three  nets together into a window element called foobus     assign window net N4 N6 N8   foobus    The next command illustrates how to create a bus and assign a window to a net that has  a name containing illegal characters     assign window state  DFF STATE   fooState    Another way to create buses is to use the AutoWindows feature  as shown in the  following example
110. d  You can declare local variables at the beginning of  a compound statement  The syntax for a compound statement is as follows         optional local variable declarations     statements              Nested Statements    PCL allows the use of nested statements  Nesting statements is useful for controlling  program execution flow  Anywhere the syntax indicates the use of a statement  you can  insert any valid PCL statement   One common example is a nested if statement   if  x    0    if  y    0   statement     Nested statements can get complex  The basic rule is that execution of a statement s  syntax must complete before moving to the next statement  Therefore  if you write a  nested if statement such as that shown below  the else clause belongs to the innermost if  statement  not to the outermost one   if  x    0    if  y    0   statement     else  statement       Note that if you want to isolate the second if statement and have the else clause apply to  the first if statement  you have to treat the second if statement as a compound statement   surrounding it with braces     Although this discussion focuses on nesting if statements  nesting of other types of  statements is just as valid and just as necessary to accomplish certain programming  tasks  Basically  PCL follows the conventions of the C programming language for  nesting statements     September 2001 Synopsys  Inc  149    Chapter 7  Processor Models SmartModel Library User   s Manual    PCL Program Control Statemen
111. d  need to contain these lines     report effect CLK 150  report effect Al 200    Unlike cause reports  effect reports are not bounded  In a cause report  the start and end  times are known  and the report is bounded by these times  In effect reports  the end  time is unknown when the report begins  so effect reports may be interrupted by other  reports or by model messages     TS Note    You cannot change the scope of effect reports  The scope of effect reporting  is always full     September 2001 Synopsys  Inc  95    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    set cause Command    The set cause command has two variations  one that determines the general scope of  cause reporting  and a second that determines the constraint violation scope of cause  reporting     For example   set cause constraint   noconstraint    determines what events are reported when a constraint violation occurs  The default  setting is noconstraint  The constraint argument causes the analysis report to contain all  events involved in a constraint violation  For instance  if there is a setup or hold  violation  then the DATA and CLK paths that caused the event to occur are reported   The noconstraint argument causes the model to produce a report listing only the errors   with no tracing information  when a constraint violation occurs     Whereas   set cause full   nofull    determines the general scope of causal reporting  The default setting is full  which  produces an an
112. data file generated by Synopsys Logic Modeling  Inc     for use with the Synopsys Logic Modeling compile _ timing tool          File generated  8 19 93         Tool versions    1 1  3      modified 8 19 93 to create custom min of min and max of max    cmpnt   Bob   model AM29520   case comp   of    29520       Custom min of min max of max component                                                                Timing Label  MinTypMax  Vendor Label  pwmin_CLK   7 0 7  tpw  th_DIN_CLK_lh 2  30    th  th_I_CLK_lh 7 0    th  tpd_CLK_lh_y  1h    2 4 11 3 25 0   tpd  tpd_CLK_lh_yY  hl    2 4 11 3 24 0   tpd  tpd_OE_Y  hz    1 0 13 0 25 0   tdis  tpd_OE_Y  1z  2h  2 414 9  25    0 4 ECs  tpd_OE_Y  zh    2 4 11 3 25 0   tena  tpd_OE_Y  z1    2 6 11 2 25 0   tena  tpd_S_Y   2 4 11 3 25 0   tpdsel  ts_DIN_CLK_lh 213730    ts  ts_I_CLK_lh 213 0    ts       end case   end model     166 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    Timing Data File Format    Timing data files are in ASCII format  The timing data files that come with the  SmartModel Library are named model td  You can access these timing data files using  the Browser tool  Timing data files normally consist of comments and a model block   as shown in Figure 17        Timing data file generated by Logic Modeling  Inc                     Range        for use with Logic Modeling   s  File generated   Tool versions       Min Typ Max    10 19 90  Lely O      compile_timing
113. del_name new_file_name    o      sl_copy  switches  model_name  model_name  directory_name       Arguments   model_name Specify a model name whose source file you want to  copy  If you specify an output directory using the  directory_name argument  you can also specify  multiple model names on the same command line    new_file_name Specify a full path and file name for the new file to be  created if you are copying the source file from just one  model    directory_name Specify a directory name where you want the copied    source files from multiple models to be created if you  list more than one model  The directory must already  exist for this to work     September 2001 Synopsys  Inc  199    Chapter 10  Library Tools    Switches   td     cmd     h    SmartModel Library User   s Manual    Use this switch if you want to copy a model   s timing  data   td  file  This is the file that the tool copies by  default if you do not specify otherwise     Use this switch if you want to copy a Hardware  Verification  HV  model   s command header file   cmd      This switch puts the tool in verbose mode  causing it to  display the name of each copied file as it is being  created     Use this switch to get a help message about using the  tool     Translating Memory Image Files    SmartModel Library memory models read memory image files  MIF  to configure  themselves at simulation startup  The MIF file format does not match other memory  image formats created by third parties  specifically 
114. dy defined but want the file you are now loading  to replace the old file for this work session  enter the following on the command  line       setenv LMC_CONFIG  user Johng newfilename 1mc    o If you have a configuration file already defined in  LMC_CONRFIG  and for this  work session want to use this existing file in addition to the configuration file  you are now loading  set  LMC_CONFIG to both file names  separated by a  colon  in the order in which you want the files to be searched for models  as  shown in the following example     o      setenv IMC _CONFIG user johnqg newfilename lmc     user johnq oldfilename 1mc    For NT  you must separate multiple entries for the  LMC_CONFIG  environment variable using a semicolon separated list  not a colon separated list  as in UNIX     3  Invoke the Browser  The selection pane displays a list of timing versions  including  any model versions you specified in your new configuration file  The status pane  still contains the path referenced by the  LMC_HOME environment variable     Use Environment Settings  LMCs     Selecting this menu entry returns you to the list of models or timing versions originally  displayed in the Browser s selection pane  This list shows the models that the simulator  will use at simulation time  To derive the list  the software uses the environment settings   LMC_CONFIG  which contains path names to any custom configuration files  and   LMC_HOME  which points to the default configuration file   Therefore
115. e  and filename     smartccn switches  Various smartccn compiler switches  The  smartccn switches  option allows you to  specify command switches for the smartccn compiler     set range Command  set range min   typ   max    Specifies the timing range  min  typ  or max  to be used from the CCN  The default  value is set by the SWIFT DelayRange parameter from the model instantiation in the  simulator environment  The set range command must appear in an MCF file before the  load command  Using this command overrides the value set with DelayRange  parameter     September 2001 Synopsys  Inc  123    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    window Command  window namel  name2       namen   Defines SmartModel Windows for specified nets  states  or bus aliases     namel  The name of a net  state  or bus alias for which a window is to be created   You must provide at least one name     name2      namen  Optional additional nets  states  or bus aliases for which windows are to be  created     You can define windows for a design element from within the MCF file  either by  placing the window command directly in the MCF  in which case it must be placed after  the load command  or by creating a windows definition file and using the    do     command to include the file in your MCF     T  Note  When you assign a window to an external I O port  or to any net connected  directly to an external I O port  the window is placed on the input side of the  port so th
116. e  directory path name in the Selection text field     2  Click on OK  The Browser window selection pane now displays the model names  from the selected file  Note that the Browser does not display a model if the  configuration file specifies a version that is not in the installed library     By default  the Browser searches for files with the extension  Imc  However  you can  search for files with a different extension  and you can search for a specific file  To  search for files with a different name or extension  follow these steps     1  In the Filter text field  edit the file name so that it contains the desired name or   ext     2  Click on the Filter button  The Files list box now contains names of files in the  selected directory that have the current name or extension     To search for files in a different directory  follow these steps   1  Delete the text in the Filter text field   2  Type in the desired path name  including the file name or extension     3  Click on the Filter button  The Files list box now contains names of files in the  specified directory that meet the filtering criteria     On NT  use the standard Windows navigational tools to navigate and find the  configuration file that you want     72 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 4  Memory Models    4    Memory Models    Configuring Memory Models    Memory models simulate internal memory locations  Most memory models are for  memory devices  but there are some 
117. e easy to use when debugging a hardware design  For example  if you  wanted to run a simulation to verify a processor memory interface with a Motorola  MC68020 using an HV model  you would follow these steps     1  Refer to the SmartModel datasheet for details about the PCL commands supported  by the mc68020 model and write a PCL program to exercise the model functions  that you want to verify in your design     132 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Verifying the basic interface requires only a couple of MC68020 bus cycles to  indicate any obvious errors in the microprocessor memory logic interface  To test  this functionality  you could write a simple PCL program that looks like this           check memory infc        include    mc68020 cmd     main          write  5 0x620 4  OxXFFFF       read  5 0x624 4         2  Use the compile_pcl command to compile the PCL program and create the PCL  code the microprocessor model will load     3  Run the simulation     O   Hint  of course  you can make your PCL program as extensive as you want   depending on your verification requirements  Check the individual model  datasheet for a PCL program sample that exercises the model   s basic  functions  including an interrupt handler  You can cut and paste the program  from the datasheet and then modify as needed     PCL File Checks    When you initialize an HV model for logic simulation  the model looks for the compiled  PCL p
118. e file     52 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    As an alternative  instead of copying the version record  you can create new version  records using the syntax rules described in    Custom Configuration  LMC  Files    on  page 51  For example  to revert to the previous version of the swiftcheck tool and the  model adsp1008a  you would follow these steps     1  In the default configuration file  locate those two items  and copy the respective  version records into your new file  The lines you copied might look like this     SEXE swiftcheck 04091   MOD adsp1008a 01003    The version numbers represent the current versions  the previous versions are  therefore 04090 and 01002     2  Change each version number to the previous version and save the file     SEXE swiftcheck 04090   MOD adsp1008a 01002    Creating a Custom Model Filter    When you start up the Browser  it displays a large list of models and timing versions   Normally  each user s design does not use all of the models  To limit the display to only  those models that are of interest to you  use the Model Filters dialog box  You can filter  the display using any combination of names  vendors  functions  and license packages   For specific instructions  refer to    Model Filters Dialog Box    on page 68     Creating a Custom Timing Version    If you need a timing version that is not already available with the SmartModel Library   you can create your own custom ti
119. e it contains the illegal character        One solution to this limitation is  to create a bus for each of the elements that contains illegal characters  and then create a  window for the bus  as shown in the following example     bus Statel  DFF STATE  window Statel    Use the SmartBrowser interactive utility or the Visual SmartBrowser  VSB  to identify  which nets and states are available to be windowed  These tools both let you view a  CCN file  browse the design  and list all nets  states  and instances along with their  connections  For more information on the SmartBrowser tool  refer to    Browsing Your  Design Using SmartBrowser    on page 108 of this manual  The VSB tool is  documented in a separate manual entitled Visual SmartBrowser User   s Manual  UNIX  version or NT version      You can use the AutoWindows feature of the ccn_report tool to automatically generate a  windows definition file  Then  use the    do    command to include the windows definition  file in your MCF file  For more information on creating AutoWindows  refer to     AutoWindows    on page 130     SmartCircuit Monitor    The SmartCircuit Monitor enables you to observe any element in your design and  receive messages in the simulator transcript window about any changes that occur on  that element  The specified elements can be any nets or buses in your design     TS Note    The number of monitors that can be active at one time is determined by the  maximum length of a message string allowed by yo
120. e propagation delays are not supported  they are identified as errors   Negative timing checks are not supported in the model runtime environment  They  are identified and mapped to    0        e Valid Edge Checks  Uses the timing template to verify correct output edge  assignment in the timing source  If the model s output pin cannot be put into a  high impedance state  no Z related edges are allowed in timing associated with that  pin     e Tool and File Version Checks  Checks tool versions and file format versions     Running the Timing Compiler    The compile_timing tool takes an input timing data   td  file as its only required  argument and generates a compiled timing   tf  file in the current working directory   You can optionally specify several switches  as shown in the following syntax  description     For NT  invoke the compile_timing program using the console command line  For more  information  refer to    Running Console Applications on NT Platforms    on page 46     Syntax   compile_timing   Help    Messages    TTemplate template path  model td   Argument   model td Name of the input timing data file    Switches    H elp  Specify this switch for help using the compile_timing  tool     M essages  Turn on user defined timing messages in the model      TT emplate  template_path Used to specify a full path to a timing template input  file  Do not use this switch  The tool automatically  determines the correct version of the timing template to  use     September 200
121. e steps     1  Select the desired file from the Files list box  The file name is now appended to the  directory path name in the Selection text field     2  Click on OK   To save a report under a new file name  follow these steps   1  In the Filter text field  change the old path name to the new path name     2  Click on OK     Open Configuration File Dialog Box    The Open Specific Configuration  LMC  function opens the Open Configuration File  dialog box  On NT  this dialog box is called Open  Use it to display the contents of a  configuration  LMC  file  custom or default   If the file you want to open is not in the  currently selected directory  you can search for it in directories above and below the  current directory     September 2001 Synopsys  Inc  71    Chapter 3  Browser Tool SmartModel Library User   s Manual    To traverse the directory structure  follow these steps   1  Select a directory from the Directories list box     2  Click on the Filter button  The selected directory now appears as the top level  directory in the Directories list box  The Files list box contains the names of files in  the selected directory that have the extension  lmc  Notice that the file names are  not displayed until you click on the Filter button     On NT  use the standard Windows navigational tools to find and open the  configuration file that you want     To open a file  follow these steps     1  Select the desired file from the Files list box  The file name is now appended to th
122. eater than or equal to     Equal  l  Not equal   amp  Bitwise AND  address of    Bitwise inclusive OR                142    Synopsys  Inc     September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Table 11  PCL Operators  Continued        Operator Description          AN    Bitwise exclusive OR           amp  amp  Logical AND              Logical OR       Sequential evaluation                               2  Conditional      Increment      Decrement     Assignment      Addition assignment          Subtraction assignment       x  Multiplication assignment             Division assignment       ole  ll    Remainder assignment              gt  gt   Right shift assignment   lt  lt   Left shift assignment   amp   Bitwise AND assignment             Bitwise inclusive OR  assignment               Bitwise exclusive OR  assignment                   September 2001 Synopsys  Inc  143    Chapter 7  Processor Models    Operator Precedence and Associativity    SmartModel Library User   s Manual    Operators nearer the top of Table 12 have precedence over those placed lower in the  table  Operators that share the same precedence are placed on the same row     Table 12  PCL Operator Precedence and Associativity                                                          PCL Operators Associativity  OU Left to right  t4         amp    Right to left    1  Left to right     Left to right   lt  lt   gt  gt  Left to right   lt   gt  gt    lt   Left to right        Left to
123. ect  page 95    produces a list of child events of the triggering event on a  net or port that occur between start_time and stop_time     e set cause  page 96    determines what events are reported when a constraint  violation occurs or determines the general scope of causal reporting     You can use the report cause and report effect commands to produce reports showing the  cause and effect of events that take place during your simulation  The following  sections provide details about each command     report cause Command  report cause name start_time  stop_time     Produces a list of parent events of the triggering event on a net or port that occur  between start_time and stop_time  If you don t specify a stop_time  the tool checks the  event only at the time specified by start_time     The report cause command traces the cause of a signal event on a node in a design  A  node can be any net or port defined within a design     A cause report is simply the chronological history of signal events that lead up to the  trigger event  The report is in reverse chronological order   tt starts at the trigger event  and traces backward until it reaches the causal signal event that is responsible for the  trigger event     When used in conjunction with the set cause full command  the cause report includes the  history of all signal events  starting at the trigger event and working backwards to the  causal event     94 Synopsys  Inc  September 2001    SmartModel Library User   s Manual 
124. ectable propagation delays     64 Bit Time    All SmartModels use 64 bits to compute elapsed simulation time  If simulation time  exceeds this capacity  the models behave unpredictably     September 2001 Synopsys  Inc  31    Chapter 2  About the Models SmartModel Library User   s Manual    Logic Values    Models in the SmartModel Library use a logic value system based on the IEEE 1164 1  VHDL nine state  multivalue logic system  as shown in Table 2     Table 2  SmartModel Logic Values                                     Symbol Meaning   0 Strong 0   1 Strong 1   X Strong X   L Weak 0   H Weak 1   W Weak Unknown   Z High Impedance   U Uninitialized  treated as  unknown    D Don   t care  treated as  unknown                 Model Status Reports    You can generate a model status report by issuing the ReportStatus command through  the command channel at any time during a simulation  Model status reports contain the  following information     e Model name and version   e Model attributes and their values   e Timing constraint setting   e Names  descriptions  and values of each window element    e Names and descriptions of each window array    32 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    The general format of the model status report message is as follows     Note   lt  lt Status Report gt  gt    Model Logical Name  swiftnand   Model Physical Name  swiftnand   Model   mdl  Version  01000   Model Directory   lmc_home models sw
125. ectory where you run the  simulator  All models look for this file and  if it exists  read its contents to determine  which model to log  You can select a model for model logging in any of the following  ways     1  Create an empty mlog cfg file  If you do not specify a particular model  the first  SmartModel loaded in a circuit is logged  This is handy if you have only one model  in the design     2  Specify a model by its model name  Put a line in the mlog cfg file that follows this  case sensitive convention      m model_name  For example   sm mc68030_hv    This causes the first model of that name to be logged  This is a good method to use  when the design has only one instance of a particular model type     3  Specify a model by its instance name  Put a line in the mlog cfg file that follows  this case sensitive convention      i instance_name  For example    i ul1l00  The instance with instance name u100 is logged     During simulation  the specified model creates a file named mlog log  This file contains  all of the stimulus and response recorded at the model   s ports during simulation     Logging Multiple Instances    If you need to log more than one instance of a model in the design  reset the instance  name specified in the mlog cfg file and rerun the simulator for each instance you want to  log  Remember to save the mlog log output file to another location prior to running the  simulator     214 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Ap
126. ed Compiled  SDF Source SDF Time File    min min  MinFactor  gt  min m  typ   typ  TypFactor  typ                Mode                                                            max maxX   MaxFactor t gt  max L  A ko Selected by  Specified by Specified by Simulator at  Delay scaling Delay scaling Model Init    Single SDF value case       Compiled  Time File    SDF Source    min       MinFactor   lt  TypFactor    typ           Si  Mode  MaxFactor  max a   Selected by    Simulator at  Model Init                               Figure 23  Delay Scaling Example    Delay_scaling    Delay_scaling allows a scale factor to be applied to the SDF value prior to its usage  The  basic algorithm is     Any value that is mapped to a    min    scaled delay is multiplied by MinFactor     typ     by TypFactor  and    max    by MaxFactor     A separate scale factor is specified for each individual SDF delay range value  You  must separate MIN  TYP  and MAX values with commas     Syntax    DELAYSCALE  MIN    TYP    MAX I MTM   MinFactor TypFactor MaxFactor      188 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 9  Back Annotating Timing Files    Arguments    MinF actor  Floating point multiplier applied to minimum values     TypFactor  Floating point multiplier applied to typical values     MaxFactor  Floating point multiplier applied to maximum values     All three delay scale factors must be specified  If the entire delay_scaling is unspecified   then the following i
127. ed by semiconductor  vendors     All SmartModels are listed in the Model Directory  which you can find on the Web at   http   www synopsys com products Im modelDir html    This Web site provides the most up to date information about model availability and  allows you to view model datasheets  which list all device components and  manufacturers supported by each model in the library     September 2001 Synopsys  Inc  19    Chapter 1  SmartModel Library Features SmartModel Library User   s Manual    SmartModel Library Versioning    Models are the basic units in the library  You can install more than one version of any  model in the same  LMC_HOME  Multiple model versions allow separate design  teams to use different versions of the same model without interfering with each other   This means that design team  1  for example  can get a bug fix that they need for a  particular model without affecting design team  2 that may not care about that fix in the  context of their work  You can also install new model shipments that you receive from  Synopsys right into an existing SmartModel installation  The SmartModel environment  makes it easy to make the latest simulation models available to design teams that need  them without affecting the design teams that do not  Figure 1 illustrates the benefits of  the flexible SmartModel Library versioning system  Different design teams can select  new or revised models using custom configuration files  For more information  refer to     Configur
128. els start up with setup  hold  and recovery timing  checks enabled  The timing check control feature allows you to enable and disable these  timing checks at any time during a simulation  This feature affects all timing checks of  a model instance except those explicitly turned off in the external timing file     Model Reset    SmartModels support the ability to reset a model to its initial state at any time during a  simulation  The model reset operation resets the internal state variables  but not the  input port values  attribute values  and mode settings  which retain their current values   For example  if timing checks are disabled before performing the reset operation  then  timing checks remain disabled even though the default is for timing checks to be  enabled     September 2001 Synopsys  Inc  35    Chapter 2  About the Models SmartModel Library User   s Manual    Model Reconfiguration    SmartModels support the ability to force a model to reload any or all of its configuration  files  memory image  JEDEC  MCF  PCL   or select a new timing version at any time  during a simulation     Modeling Certain Timing Relationships    In some cases a model   s timing specifications do not map perfectly to a semiconductor  vendor   s specifications  One example of this type of variance is where a crystal clock  input is used to update an internal state machine that in turn drives the outputs of the  device  The vendor   s datasheet describes only the timing relationships among e
129. ent cell scope     examine timing timing_label   port_name    Displays details about the specified timing label  If the timing label is port   specific  you must also include the port name     List Commands  The following list commands can also be issued through the SWIFT command channel     list all  Lists all instance  net  port  and state names and timing labels in the current cell  scope     list cells scvCells   userCells  Lists all vendor or user cell class names in a design     list instances   match_string    Lists all instance names defined in the current cell scope  The list can be  constrained to only those instance names that match the match_string     list mcf  Lists all monitors and windows defined during the current interactive session     list nets   match_string    Lists all net names defined in the current cell scope  The list can be constrained to  only those net names that match the match_string     list pinInterface  Lists all package pins and describes how those pins connect to the symbol pins and  design ports     list ports   match_string    Lists all port names attached to the current cell scope  The list can be constrained  to only those port names that match the match_string     list states   match_string    Lists all state names in an SCV cell of an instance hierarchy in the current cell  scope and below  The list can be constrained to only those state names that match  the match_string     116 Synopsys  Inc  September 2001    SmartModel Library Us
130. equal to F  The line will be   ignored       Invalid data value  50  on line 7   It must be less than or equal to F  The line will be  ignored           7 values have been initialized                                                                                   If you specify a MIF file and the model fails to locate it  a warning message identifying  the model is generated when the model is loaded  As long as the memory image is not  required during the simulation  neither the warning message nor the default parameter  value on the memory device will adversely affect your simulation     Dumping Memory Data    Models that simulate internal memory locations can write their contents to an external  system file   referred to as a dump file  You can use the SWIFT command channel  DumpMemory command to write the contents of a model s simulated memory locations  to a dump file at any time during a simulation  If the specified file does not exist  it is  created  If the file already exists  it is overwritten  The memory dump operation allows  you to eliminate the read cycles required to verify the success of a test  If you issue the  DumpMemory command on a model that does not have internal  simulated  memory  locations  a warning message is issued     The dump file format is the same as MIF file format   addresses and data are  represented in hexadecimal  except that data is represented in binary if the data contains  any unknown bits     September 2001 Synopsys  Inc  79    Chap
131. er   s Manual Chapter 6  SmartCircuit FPGA Models    list timing  Lists all timing labels defined in the current cell scope     Set and Show Commands    The following set and show commands can also be issued through the SWIFT command  channel  except as noted     set bus bitOrder big   little  Sets autoWindows bit order to big endian or little endian  The default is little  endian     show bus bitOrder  Displays the current bus bit ordering     set bus delimiter prefix   postfix    Defines the autowindows bus index delimiter  The default delimiter is square  brackets    and        show bus delimiter  Displays the current bus delimiter     set help completion on   off  Toggles the interactive help completion capability  The default is on   Cannot be  issued through the SWIFT command channel      show help completion  Displays the current help completion setting   Cannot be issued through the  SWIFT command channel      set illegalchars character  Allows you to specify characters that may be illegal in their simulation  environment  Replaces illegal characters with underscore characters  _      show illegalchars  Displays the current illegal character settings     show saveMcf  Displays the current setting for the    save mcf    file writing mode     set listAll  Configures the default list command to list all elements     set saveMcf noClobber   append   overwrite  Sets the writing mode for the    save mcf    command  The default mode is  noClobber  which prevents an existing 
132. er command line tool     For information on setting environment variables and running command line tools on  NT  refer to    Setting Environment Variables on NT Platforms    on page 45 and    Running  Console Applications on NT Platforms    on page 46     September 2001 Synopsys  Inc  193    Chapter 10  Library Tools SmartModel Library User   s Manual    Creating PortMap Files    A PortMap is an ASCII file that describes a SmartModel   s interface requirements  for  example  the pin porting between a symbol and the model it represents   PortMap files  simplify the task of interfacing SmartModels with custom symbols  They are structured  for easy parsing  thus providing a convenient source of information you can use in  scripts or programs to create or verify custom symbols for use with SmartModels     You can generate PortMap files using the ptm_make tool that comes with the  SmartModel Library in  LMC_HOME bin  Before running ptm_make  however   please note the following limitations  PortMap files generated from Synopsys data     e Do not contain all of the data required to produce a high quality visual symbol  representation   they are not useful as a symbol generation database     e Include only the pins that are used to define the functional description of the model     e Do not contain printed circuit board  PCB  interface information such as data to  drive a physical design system      gt  Note  The ptm_make tool is not supported for FlexModels     Using the ptm_make To
133. er commands  These  commands enable you to     e Obtain lists of design elements   e View  examine  and analyze designs  hierarchies  or cells  e Establish environment settings   e Save designs    e Perform other tasks related to your design    September 2001 Synopsys  Inc  113    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Although the SmartBrowser tool supports more than 60 commands  many of them are  variations on a single command  For that reason  and to make the command set easier to  understand  the command descriptions are divided into the following groups     e    Analyze Commands    on page 114   e    Assign Commands    on page 114   e    Examine Commands    on page 115   e    List Commands    on page 116   e    Set and Show Commands    on page 117  e    Trace Commands    on page 118   e    General Commands    on page 120    Most of the SmartBrowser commands can also be issued through the SWIFT command  channel  as noted on the following pages     Analyze Commands    The following analyze commands can also be issued through the SWIFT command  channel     analyze cell cell_class  Analyzes the specified cell for circuit errors     analyze design  Traverses a design hierarchy and performs an analyze cell function on every  user defined cell     analyze hierarchy   max_level    Displays the instance hierarchy of the current instance scope and down  The  max_level parameter specifies how many levels of hierarchy to trace     Assign Commands  
134. es of A through F only  in lower case  Instead of using sed to filter the file  the  ml option of cnvrt2mif generates  an output file in lower case     September 2001 Synopsys  Inc  207    Chapter 10  Library Tools SmartModel Library User   s Manual     gt  Note    cnvrt2mif reads either upper or lower case hexadecimal characters from an  input file record     The input file infile2 contains the following data     S1 13 0000 AOB1C2D3E4F5A6B7C8D9BOF1A2B3C4D5 7C       The following command generates a single 32 bit output file with alphabetic characters  in lower case       cnvrt2mif infile2  devwidth 32  ml  Because no output filename was specified  the default filename  mem mif  is used  The  output file contains the following data     a0b1c2d3   e4f5a6b7   c8d9e0f1   a2b3c4d5           WN H O  Se i TN OS     Example  5    Converting S records into a single output file  without checksum validation     In this example  the input file was generated by a tool that did not compute a correct  checksum for each record  In its default mode  cnvrt2mif reads the file and generates a  large number of checksum warning messages  which could obscure other  more serious  messages that might be generated     The following command uses the  noxsum option to suppress the checksum validation  and the accompanying warning messages       cnvrt2mif input_7 srec  noxsum  o myoutput    If invalid checksums are the only warning conditions detected  using the  noxsum  option causes cnvrt2mif to retur
135. even if you do not specify a configuration file   However  if swiftcheck cannot find the timing files for a model  it will not load or  initialize that model     The swiftcheck tool displays important messages  such as fatal errors  on your screen  when the errors occur  In addition  swiftcheck places all messages  regardless of  severity  in a log file named swiftcheck out     Syntax    Run the swiftcheck tool from the command line as shown in the following example     o      swiftcheck model   switches     Argument   model Specify the installed model that you want the tool to  load and exercise as a test of basic installation integrity    Switches    e rrorlog  filename Use this switch to a specify an output file for the error  log other than the default of swiftcheck out     h elp  Specify this switch for help using the swiftcheck tool     hh elp  Specify this switch to print a more detailed message  about using the swiftcheck tool     j edecfile  filename Load the specified configuration file for the JEDEC  model     m emoryfile  filename Load the specified configuration file for the memory  model     n omodels  Use this switch if you want to run swiftcheck but do not  want the tool to load and exercise a model     p clfile  filename Load the specified configuration file for the HV model     210 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools     t timing_version Load a particular timing version for the specified  model    u s
136. eyword is either COMP or INST   Timing data files are  searched first for instance name  then for component name  If you use instance based  timing  case INST of   the value of the model s InstanceName parameter is compared  with the strings in the timing data file  Alternately  if you use component based timing   case COMP of    the value of the model s Timing Version parameter is compared with  the strings in the timing data file     Each model instance searches for a matching value in the timing data file independently  of all other model instances  and stops searching at the first match  Therefore  different  instances of the same model can get their timing version information from different  timing data files     The timing data file search path can be set with the LMC_PATH environment variable   This allows each user to define their own timing file search path     To define your timing file search path  set the LMC_PATH environment variable in your  startup file  The syntax used to set this environment variable is the same as for the path  variable  that is  you set LMC_PATH to a list of directories  where each directory listing  is separated from others by a colon  For example  assuming you are using C shell       setenv LMC PATH     usr home dirl    usr home dir2    usr home dir2 subdir1       You must explicitly specify each directory  and subdirectory  containing custom timing  files  the search is not recursive   For NT you must separate multiple entries for the  L
137. f you omit the Interconnect statement  all interconnect delays will be ignored  This is  the setting that is used when the simulator is configured to accurately simulate all  interconnect delays     For example  Figure 24 illustrates where InstC and InstD are SmartModels                                                                             d11  InstA O  i d33  InstC Oo  d34  InstB o m L TUE  InstD d43    InstF  d44 I             Figure 24  Interconnect Example    RCVR MIN  Places the shortest delay of d11 and d21 on InstC I port and the shortest  delay of d12 and d22 on InstD I     RCVR MAX  Places the longest delay of d11 and d21 on InstC I port and the longest  delay of d12 and d22 on InstD I     DRVR MIN  Places the shortest delay of d33 and d34 on InstC O port and the shortest  delay of d34 and d44 on InstD O     DRVR MAX  Places the longest delay of d33 and d34 on InstC O port and the longest  delay of d43 and d44 on InstD O        Process Output    Error Message Log    As delay values are annotated onto the model   s timing  a log containing error messages  from the annotator is written to a file you specify  By default  the log file is named   ba log  If more than one SDF file is used the messages are concatenated  The statement  syntax is      LOGFILE FileName      190 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 9  Back Annotating Timing Files    Model Time Files Location    As each model   s timing is processed  compiled model ti
138. g Compiler    on page  180  The compiler catches any typographical errors you might have made  Use the  following command to invoke the timing compiler       compile _ timing am29520 td    This command creates a timing file named am29520 tf  Move your new file to your  user defined timing directory  Now any    am29520    model in your design  automatically finds the correct timing file at simulation startup     6  Change the value of the SWIFT Timing Version parameter in your model  instantiating to the name you are using for your new timing version     Example Timing Data File with New Timing Version    The following example shows a timing data file for the am29520 model that includes the  new timing version     Timing data file generated by Synopsys Logic Modeling  Inc   for use with the Synopsys Logic Modeling compile_timing tool        File generated  8 19 93        Tool versions    1 1  3     added a component to support IDT  Bob Rich  8 19 93   Timing descriptions        th_I_CLK_lh    Hold time for I instruction  to CLK  high   th_D_CLK_lh    Hold time for D  inputs  to CLK  high   ts_I_CLK_lh    Setup time for I instruction  to CLK  high   ts_D_CLK_lh       Setup time for D inputs  to CLK  high   Range  Min Typ Max  model AM29520  case comp   of    IDT29FCT520A    COM        IDT  High Performance CMOS    Data Book  1988                                                                         Timing Label   Min Typ Max   Vendor Label     pwmin_CLK T0    tpw  th DIN_CIK_
139. g file but they have  no effect     You can use a JEDEC standard file already created by programs like ABEL  CUPL  or  PALASM  or you can create your own simplified version  If you create your own  JEDEC file  the PLD models do not require all the fields specified by the standard  use  the programming and testing fields described in the table     Following is an example of a simple JEDEC programming file  The example specifies  that the default fuse condition is a low resistance link  0   The fuses from 0 to 39 are  explicitly defined by the L field  and a checksum is used     DUMMY HEADER    FO    L0000 01001110 00001000 11110000 11111111 01010001   CO21A     KYS Noe              As defined in the JEDEC standard  if a fuse is specified more than once  the  last state replaces all previous states for that fuse  If more than one  checksum field is in the file  the last one is used  which allows a file to be  easily modified or patched        JEDEC File Format Checks    At simulation startup  each PLD model searches for its JEDEC programming file  If the  programming file is missing or unspecified the model issues a warning message  If the  programming file is properly specified  the model instead issues an informational  message when loading is complete  The message format is similar to that shown in the  example below           Info  Loading the JEDEC file    U23 jed       n U23   comp EP1800   loc A9 12   lai EP1800   at t 0  0 0 ns              12680 fuses have been blown  
140. g your vendor tools  you must ensure that your  windows definitions correspond to the elements in your new compiled configuration  netlist  CCN file       gt  Note    Windowing all of your design elements using AutoWindows significantly  degrades simulator performance  For information on more efficient ways to  monitor individual design elements  refer to    Viewing Internal Nodes  During Simulation    on page 97     130 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    l    Processor Models    Configuring Processor Models    There are two basic types of processor models  full functional and bus functional   Full functional models  FFMs  execute instructions loaded in the memory models  within the design being simulated  Bus functional models  BFMs  execute commands  from an external source  A further distinction is that there are two different technologies  used to develop BFMs  One is Hardware Verification  HV  models  which you control  using an external program written in Processor Control Language  PCL   The other is  FlexModels  which you can control using VHDL  Verilog  or C  BFMs represent device  behavior by simulating bus cycles  rather than by executing assembly language  instructions  Figure 14 illustrates the data flow for configuring FFM and HV processor  models  For information on using FlexModels  refer to the FlexModel User   s Manual     HV Model PCL  Command Program       PCL  Compiler             FFM Sas eS 
141. ge 108     When you assign a monitor to an external I O port or any net connected directly to an  external I O port  the monitor is placed on the input side of the port  This enables the  monitor to report the value being driven into the model  To monitor the value driven out  of an external I O port  you must access the external port value via the simulator  interface      gt  Note    Some models have special input pin attributes  such as pull up resistors  In  such cases  the monitor command reports the resolved value of the  simulator s input and the model s input pin attribute     SmartCircuit Monitor Signal Values    The output produced by SmartCircuit Monitor commands includes a set of signal values   see Table 8   Each bit of a monitored signal is represented by a single character in the  output     Table 8  Monitor Signal Values                      Output Value Description  0 Logic 0 Signal strength strong  1 Logic 1 Signal strength strong  Unknown Signal strength strong  Z High impedance   High impedance                   September 2001 Synopsys  Inc  99    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Table 8  Monitor Signal Values  Continued                       Output Value Description  L Logic 0 Signal strength resistive  H Logic 1 Signal strength resistive  R Unknown Signal strength resistive  U Uninitialized Uninitialized                   Using Unsupported Devices    If you need to use a device type that is not currently supported
142. guration information are  listed with multiple type values  Accepted values include PLD  JEDECFile   HVM   PCLFile   MEMORY  MemoryFile   and FPGA  SCFFile      PACKAGE   package_type  Specifies the definition of a package  Accepted values include DIP  SOP  LCC   FLP  PGA  SMT  ZIP  RCC  SDP  and SOJ  The package type has a numeral  appended to it to distinguish multiple descriptions of the same basic package type     PIN_COUNT   pin_count  Specifies the total number of physical pins  including VCC  GND  NC  and so on   for the current PACKAGE description     DEVICE COMP   device   comp    device  Specifies the semiconductor vendor s device name  order number  as given in the  manufacturer s data book  The device field may contain a vendor specific  extension if two or more vendors have identical ordering information     comp  Specifies the timing version name  The value corresponds to one of the CASE  statement values in the model s timing file     MODEL_PORT   pin_name   pin_type   pin_number    pin_number         pin_name  Specifies the pin name used by the model to communicate with the simulator about  the pin     pin_type  Specifies the pin type  Accepted values include IN  input   OUT  output   IXO   bidirectional   and IYO  an output pin that must be seen as bidirectional   If the  pin_type is IYO  it must be defined on the symbol as an IXO pin  Note that the  ptm_make tool labels all IYO pins as IXO pins     pin_number  Specifies the physical pin number for the curren
143. he evaluation     e    Not Smart    newQ  Value of the Q output of a flip flop modeled without the  techniques used to develop SmartModel Library models     e Caret        A valid rising clock edge     e Hyphen      The clock is known not to be rising  it is stable high or low  or  could fall once from high to low     e X  Anunknown on either an input or an output  which refers to the logic values of  X  W  U  or D described in    Features Common to Most Models    on page 31     Table 3  Comparison of Generated Unknowns in the Example Flip Flop                                                             smart      not smart  Case Row   CLR  Q D CLK newQ    newQ  Case 1 1 1 X 1 A 1 1  Case 2 2 0 X X X 0 0  Case 3 3 X X 0 A 0 X  Case 3 4 X X 1 y X X  Case 4 5 X 0 X   0 X  Case 4 6 X 1 X   X X  Case 1    Row 1 of the table shows that CLR  is deasserted high  and there is a 1 on D  The  original state of Q doesn   t matter in this case  and there is a rising clock edge  The  result is a 1 in Q     Case 2  Row 2 shows that CLR  is asserted low  The resulting Q is 0 even though there are  unknowns on D and Q because the states of D  CLK  and Q do not matter with     clear    asserted     September 2001 Synopsys  Inc  41    Chapter 2  About the Models SmartModel Library User   s Manual    Case 3  Rows 3 and 4 show what happens when both CLR  and Q are unknown and there  is arising clock edge  In the    not smart    flip flop the output is unknown  however   in the    Smart Flip Flop
144. heir source Configuration  LMC  files    70 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Choose this option if you want to see a mapping of each model to the  configuration file in which the Browser found it  Using this report  along with  the contents of the  LMC_CONFIG environment variable  you can verify that  the file listed first in  LMC_CONFIG contains the version of the model you  want to use in your design     Save As    Dialog Box  You can use the Save As    button to save a model report for future viewing or printing     If the existing file name you want to use is not in the currently selected directory  you  can search for it in directories above and below the current directory     To traverse the directory structure  follow these steps   1  Select a directory from the Directories list box     2  Click on the Filter button  The selected directory now appears as the top level  directory in the Directories list box  The Files list box contains the names of files in  the selected directory that have the extension  rpt  Notice that the file names are not  displayed until you click on the Filter button  Alternatively  if you know the file  name directory you want to use  you can type it directly into the Filter or Selection  fields     On NT platforms  use the standard Windows navigational tools to get to the  directory where you want to save the model report     To save a report under an existing file name  follow thes
145. hough there might be  other versions of it in the library  This behavior mirrors that of the simulator  at simulation time  Models that are missing from the displayed list will not  be found by the simulator  To detect and prevent potential simulation errors   check to see if any models called by your design are missing from the  displayed list  If so  generate a Model Report and then repair any errors    reported     3  If the software does not find the model in the last custom configuration file  it  searches the default platform Imc file found in the directory  d IsI latest data  If the  model is found  that model version is used and the search ends     4  If the model is not found in any file  the SWIFT interface indicates to the simulator  that the model is invalid  Depending on the simulator  it may issue an error message   If you receive an error message about bad integration and a possible missing model   or if you are unable to create an instance of a model  first set your  LMC_COMMAND environment variable to    verbose on    and rerun the simulation   If the messages produced are not sufficient to help you diagnose the problem  then  run the swiftcheck utility program    Before running swiftcheck  make sure that one of the configuration files contains an  EXE command that specifies a version of swiftcheck  Also  check your custom  configuration files for a possible typing error in entering the model name  or for a  possible reference to a model version not installed
146. i file specifies the command  user joeb bin foobar   and names the corresponding menu entry Foobar      USER TOOLS   Foobar  user joeb bin  foobar    In the Browser  before executing your program  you must select a model on which the  program is to operate  For the model selected  the Browser automatically passes to your  program three arguments     argl arg2 arg3    where arg1 is the model name  arg2 is the version number  and arg3 is the timing   version  optional      When you start the Browser  the User menu appears on the menu bar to the right of the  Actions menu     48 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Displaying by Model Name at Startup    By default  the Browser window displays the library models by timing version name  If  you want the Browser to display by model name instead  you can override this default  using the sl_browser ini file  Follow these steps     1  If you already have an sl_browser ini file  use it in the instructions that follow   Otherwise  create the file in the current working directory  in  HOME  or in   LMC_HOME data     2  Enter these lines in the file      OPTIONS   show_models true    Note that you must enter the string  OPTIONS  literally     Disabling the Display of User Defined Timing  UDT     Files    By default  the Browser window displays any compiled user defined timing  UDT  files  that are in  LMC_PATH  If you want to disable the display of UDT files  you can  override this
147. iables addr and data_out as integers     The main function declares an integer variable named data_in and then writes to and  reads from successive memory locations  If the returned values do not equal the written  values  the program displays an error message     The last section of code defines the interrupt routines  one maskable and one  nonmaskable      include    i80186 cmd      define error_addr Oxffft                   September 2001 Synopsys  Inc  155    Chapter 7  Processor Models SmartModel Library User   s Manual     define NMI 0x02   define DMAO Ox0A   define TIMER2 0x13    int addr  data_out     main         int data_in   addr  0   data_out   1        while  addr  lt  0x1000      write_memory  4  addr  data_out    data_in   read_memory 4  addr    if  data_in    data_out   write_io  4  error_addr  data_in    data_out   data_out  lt  lt  1   if  data_out    0   data_out   1   addr    4                         End of Main       interrupt  vector   int vector     switch  vector     case NMI     NMI service     write_memory  2  0x20C08  OxBBC4      push to stack     write_memory  2  Ox20COA  Ox58DE     write_1i0 2  0x00204  0x20         break   case DMAO     DMA channel 0 interrupt service     read_memory  2  0x20C08      read from stack       write_memory  2  Ox20COA  0x0070    read_io 2  0x00204    break     case TIMER2     timer 2 interrupt service     write_memory  2  0x20C08  OxBBC4      push to stack     write_memory  2  Ox20COA  Ox58DE     write_i0 2  0x00204 
148. ian  adjustment is performed     Indicates that an eight byte endian swap is to be performed on  each 64 bit data word  Endian adjustments are made before  splitting data into output size words  By default  no endian  adjustment is performed     A pair of hexadecimal addresses  without a leading    0x     that  specifies the limiting address range for data conversion  Only  data within that address range  inclusive  is to be converted   data outside the range is ignored  For example     range 2000 2fff indicates that only data in addresses 2000  through 2fff is to be converted     A hexadecimal number  without a leading    0x     that specifies  the input record address that corresponds to memory index  00000000 in the output files  For an example  see    Example   3   Input data width not a multiple of output data width    on  page 202     Suppresses the validation of checksums of input records  By  default  these checksums are validated     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools     wnodup Suppresses the generation of warning messages when multiple  input records occupy the same address  By default  these  messages are generated      V Indicates that status messages are to be moderately verbose    V Indicates that status messages are to be highly verbose    mape Indicates that error  warning  and status messages are to be    issued on stdout instead of stderr  By default  messages are  issued on stderr      h elp  Indic
149. ieresdenesewden 35  Timing Check Control 5 ou Sai oe che eon epee eeas eed eae eRe oa 35  Mod  l ORE odes in a ehu eens sacs ae 8 ews ote neers een E 35  Model Renna  ah i ciekeceetedndad Ges ceeee ences eddir i eteti 36  Modeling Certain Timing Relationships                0 00  ce ee eee eee 36  Modeling Assumptions 25 ids dew oid 9 8658049504 FANE arido iri SS ES 36  Setup and Hold Timing CUES  sca eee eer iene ee 6 eeweden redone tenets 37  Unprogrammed States in Memory Models                 0 0c eee eee 37  Read Cycle Checks i SRAMS 24064006 55454504 0004954048004 04000d085 37  Simulating Processor Models in Partial Designs                     0005 37  Models with Boundary Scan Features ocs5c0 n  05 54 dedawsnneesale eons 38  Approaches for Using Unknowns  2 24404 44455 4etneusisacviasivaceds 40  Modeling Changing or Uncertain States w14csicnesdasiee deter eed oneenwsan 42  Chapter 3   ie TOOL eee eee ee eee eee ee ee eT eee eee er ee ee er 45  DE  yak oa 6 heh 4 hl ES 6d DE OE ee eis 45  Selecting Models MBL HOME x nc cn Ged eae ees ee che ce kde ne ees ate Suns 46  ee Tool We cau test dese d4 eres a bi oes 4s bse 0S ex 47  Default Configuration  LMC  File sina ete eee Cee deneeeeee see eeed es 47  Using the Bronset Tool psreiencoseriptes WE IDE APEPRE ROTEREN E E 47  Sarine he WE go 6a oo ke   5 3 50 055 8 54 oS 45S ee 48   ramea Custom User Memi a noes dade eee een 48  Displaying by Model Name at Startup 24s  canicasicdawese nacee crew ae 49  Disabling the Display of
150. if the devices have identical fuse maps     100 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    2  Create an interface file by running smartccn with the  g switch as shown in the  following example       smartccn  m model  g  The output file is named model inf   3  Add your device to the interface file using an ASCII text editor as follows     a  Find the correct DEVICE specification section within the interface file  Note  that although most models generate an interface file with a single DEVICE  specification section  some models support multiple packages  for example   PGA and LCC   Such interface files contain a different DEVICE section for  each unique package     b  Modify the correct DEVICE specification section by either adding a new  DEVICE line containing your device name or replacing one of the existing  DEVICE lines with you device name     1  If you are mapping a new vendor device into an existing model  modify the  device to model mapping using an ASCII text editor as follows  In the device  specification section  modify the package pin number value within the pin records  until you have one    corrected    PIN record for each of the user configurable pins on  the new device  You can rearrange the order of pin statements and freely map any  user configurable pin on the new device into any user configurable pin in the  existing model  but do not edit pin names and do not map a user configurable pin to  a 
151. iftnand   Model   1lmc  Name   lmc_home data hp700 1mc  Model reported Version of Main Shared Library  01000  Model reported Version of SmartLink Interface  v1 0  InstanceName  ISxx   TimingVersion  SWIFTNAND 1   DelayRange  MIN    a    Timing Constraints  On                               Error Checking    SmartModel Library models provide usage and timing checks that display error  note   trace  or warning messages during simulation  The format and location of these  messages depends on the design environment  but the content is essentially the same     Usage Checks   Usage checks  which vary greatly with device type  help ensure a chip is used correctly   For example  a DMA controller model might include a check on whether or not all  internal nodes and registers were initialized  An SRAM check might produce a message  like     Address  AO A13  changed within Write cycle     These checks also document  times  device names  instances  and error types     For example        WARNING  Ignoring unknown signal level on HALT pin  assume pin inactive    TEST68K MC68020RC12 1P   MC68020 12   at 185 0 ns          Elements of this example have the following meanings   e Error type     WARNING  Ignoring              e Design name   TEST68K  e Device name   MC68020RC12 1P  e Timing version     MC68020 12    September 2001 Synopsys  Inc  33    Chapter 2  About the Models SmartModel Library User   s Manual    Timing Checks    Timing checks include the component specific set up  hold  freq
152. il the end of the source file or until  you explicitly undefine it with the  undef directive  You must undefine a macro before  you can redefine it  Undefine the macro by placing an  undef directive between the two   define directives     The syntax for the  undef directive is as follows      undef macro_name    The  include Directive    The  include directive lets you include the contents of other source files into the current  source file  By using the  include directive you can place frequently used constants or  functions into smaller  more easily maintained source files and include them in your  main PCL program file only when necessary     When used to include the command header   cmd  file  the  include directive must be  the first statement in a PCL program  Other  include statements can be anywhere in the  file     September 2001 Synopsys  Inc  147    Chapter 7  Processor Models SmartModel Library User   s Manual    The  include directive syntax has two possible forms  To instruct the preprocessor to  search for the specified file in the directory that is appropriate for your system  enclose  the file name in angle brackets   lt  gt    as follows      include  lt filename gt     To instruct the preprocessor to search for the file in the directory where the PCL source  file resides  enclose the file name in double quotes              as follows      include    filename       You must use either angle brackets or double quotes     PCL Statement Types    In PCL  a state
153. ime files   tf  that contains the delays for the model   The Backanno tool is controlled by a configuration file which    e Identifies all the SmartModel instances to be back annotated    e Maps ports and delays     e Identifies the SDF files and the hierarchical scope to which the data should be  applied     September 2001 Synopsys  Inc  183    Chapter 9  Back Annotating Timing Files SmartModel Library User   s Manual    Process Overview    Figure 22 illustrates the process of back annotating SmartModel timing files   tf        Creating a Configuration File    Setting Environment Variables                Copying the Resulting Timing Files   tf              Replacing the Original SDF Files          Figure 22  SmartModel Back Annotation Process    Creating a Configuration File    You can create a configuration file to control the back annotation process so that it is  compatible with your simulator     File Format    The configuration file format is similar in principle to Standard Delay Format  It allows  C   style comments and has the following general format      MODEL Section      0 or more MODEL Sections   ANNOTATE Section       0 or more ANNOTATE Sections   _LMC_PATH Section     Optional LMC_PATH Section    Both Verilog  and VHDL style hierarchy syntax are supported  For example  both     top inst    and     top inst    are valid     184 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 9  Back Annotating Timing Files    Both Verilog  and VHDL s
154. ins a colon separated list of paths  to user specified configuration  LMC  files  For NT  path entries must be separated by  semicolons     LMC_HOME  An environment variable that contains the path to the SmartModel  installation tree     LMC_PATH  An environment variable that contains a colon separated list of paths to  user specified model timing files  For NT  path entries must be separated by  semicolons     LM_LICENSE_FILE  An environment variable that contains the path to a FLEXIm  license file  For NT  path entries must be separated by semicolons     LMC or  Imc file  A configuration file     LMC    stands for    List of Model  Configurations     An LMC file must have the  lmc extension     Model  A behavioral software representation of a standard integrated circuit     Model Name  A string of alphanumeric characters that identifies a specific model in  the SmartModel Library  for example  am2168  dflipflop  or i80c31      Model Report  One of the three different reports that you can generate using the  Browser tool        Model Version  A string of numbers that identifies a specific version of a model in the  SmartModel Library  for example  01000  01003  or 01012         Model versioned Tool  A tool whose version number is specified by the model and  cannot be specified by the user  Examples of model versioned tools include  compile_pcl and compile_timing     Platform  The workstation on which the SmartModel Library is to be installed  for  example  hp700  sunSunOS  o
155. installed at your site but not in the default configuration file  platform lmc  or in your  custom configuration files  The Browser reports these conditions as errors  To repair  errors  follow these steps     1  For each model  note whether or not it is used in your design     2  For each model used in your design  check all configuration files for an incorrectly  entered model name     3  Edit your custom configuration files to correct incorrect model names and to add  missing models     60 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Browser Tool GUI    The Browser tool has standard graphical user interface features  Following are brief  descriptions of the windows  menus  icons  and dialog boxes you can use to work with  the models     Browser Window    The Browser window is the command center from which you control the Browser as  you work with models     Menu Bar       X sL_ browser    Toolbar         Status Area Selection Pane       Figure 6  UNIX Browser Tool Window    September 2001 Synopsys  Inc  61    Chapter 3  Browser Tool SmartModel Library User   s Manual    Menu Bar    sl_browser  File View Actions             al020_68  al240_144  Toolbar   f al240_84  am2 s190  epm5016  i28f001 bxb  r4300_hv                                                 Library Directory  F  gui_test  lmc_home       Ready    Status Area Selection Pane       Figure 7  NT Browser Tool Window    The are four Browser window elements    e Menu Ba
156. iolation messages during the simulation of most designs  The  messages would be generated in designs where the SRAMs are continuously selected  while new read addresses are supplied  Due to slight differences between high to low  and low to high propagation delays  transitions from the previous address to the new  one could pass through an undesired address for a very short period of time  The same  message generation problem can occur with read cycle timing violations based on chip  select pins     Read cycle time is simply the minimum amount of time required to successfully access  the SRAM  therefore  the model does not supply valid data until the read access time has  been satisfied     Simulating Processor Models in Partial Designs    To allow for simulations with designs that are not fully operational  processor models do  not propagate unknowns on some inputs  the clock and various control pins  primarily    Instead  the models substitute a 1 or 0   whichever has the least effect on the  simulation   and issues a warning message alerting you to the change     September 2001 Synopsys  Inc  37    Chapter 2  About the Models SmartModel Library User   s Manual    Models with Boundary Scan Features    Models of boundary scan devices have a 2 byte state code assigned to each of 16  possible TAP controller states  When you access the TAP register using SmartModel  Windows  the model returns a state code  indicating the current TAP controller state   The TAP register is a read
157. ion  some HV models  require specific additions to this basic structure  In these cases  the HV model   s  datasheet provides detailed information about these additional structural requirements   This section provides information about the basic PCL program structure that is  common to all HV models     Every PCL program must contain a function named    main     Program execution begins  with the first statement in the main function     September 2001 Synopsys  Inc  135    Chapter 7  Processor Models SmartModel Library User   s Manual    PCL Program Structure for Single Process Models  Figure 15 shows the basic parts of a PCL program           NS32532 hv PCL   ae eee Statement   include  lt ns32532 cmd gt     int i  nob  addr  temp    ge   __ Global Variables    main      trace_on     set_trace_level 1    int_vectored    p  nob   1   addr   0x89abcd00   for i   0  i  lt   4  itt     temp   read nob  addr    write nob  addr  temp    nobt     addr   addr   0x11111111                             Main Function             interrupt  vector   int vector      switch  vector    Interrupt Handler  case 0x0  Function  subroutine_bus_error     break   case 0x1   subroutine_bus_fault     break              subroutine_bus_error      idle 10      aa Subroutine Functions    subroutine_bus_fault       idle  20                     Figure 15  PCL Program Format Example    136 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    PCL Program Structu
158. ker has  generated an S record file that contains the real addresses at which the processor in the  design will address the contents of memory devices  The required outcome is that the  indexes  that is  the internal memory relative addresses  must start at Ox0000  and only  the first 8 bytes of the S record file are to be placed in the MIF output file     As in Examples  1 and 2  the input file srec4 contains two records with data from byte  address 400 to 41f  as follows     S3 15 00000400 101111231415161718191A1B1C1D1E1F 6E  S3 15 00000410 303132333435363738393A3B3C3D3E3F 5E                   The following command uses the  baseadr 400 option to specify that the image is to be  offset by 0x400 bytes  and the  range 400 407 option to specify that only data in the  range of input addresses 0x400 and 0x407 is to be included in the output file  The   devwidth 8 option specifies an 8 bit data width for the output file       cnvrt2mif srec4  devwidth 8  baseadr 400  range 400 407  o output    The MIF format output file is named output mif and contains the following data       1    Ne Ne Ne       Se     e     e       PPP pep  YUYAO BP WNE CO         e    YUYAO OP WBNE CO  Pe  TS a OR PA a    Notice that the offsets in the output file start at 0 and only the data from input addresses  0x400 to 0x407 is included     Example  4    Converting S records into one 32 bit wide  output file with conversion to lower case     In this example  a post processing tool can read hexadecimal valu
159. l  except that it is used only for timing checks involving two pins     Integer  Determines the correct timing parameter based on the internal state condition of the  model  For example  transitions from high to Z may have different timing than  transitions from high to low  Using this element allows you to differentiate  between the timing values     Timing Statement Format    Timing statements can appear one to a line  or when the same timing values apply to  several timing labels  you can use a list to combine them  as shown in the following  example  For the 74ACO0 FAI component of the ttl00 model  a comma and new line  separate the two timing labels from their mutual timing values  For the CD74AC00  component  all the timing labels use the same values  so they are listed with a comma  and new line separating the four labels     model tt1l00  case comp  of    74ACO0 FAI        Fairchild  FACT Fairchild Advanced CMOS Technology                                             Timing Label  MinTypMax  Vendor Label      tpd_I2_01  h1  A   tpd_I1_01  hl   1 0 4 0 7 5    tpd_I2_01  1h  r   tpd_I1_01  1h  22   07 5  078 53  of    CD74AC00       Harris RCA  Advanced    CMOS Logic Integrated    Circuits    Timing Label  MinTypMax Vendor Label          September 2001 Synopsys  Inc  175    Chapter 8  User Defined Timing SmartModel Library User   s Manual                      tpd_I2_01  hl      tpd_I2_01  1h  j  tpd_I1_o1  h1  r  tpd_I1_01  1h  71 9  4 4  6 6              end case   end 
160. l Library User   s Manual    Chapter 10  Library Tools    Table 18  cnvrt2mif Execution Status Values                      Returned  Value Status  cnvrt2mif executed successfully with no  0 error or warning messages   cnvrt2mif executed successfully with no  1 errors  but warning messages were  generated   cnvrt2mif failed to execute  errors were  2 detected in the command line syntax  the  file I O  or the input file content              Syntax     flip64         devwidth device_width                          cnvrt2mif input_file input _ file s     o out file name     ml     devs num devices    flip16    flip32     range lo adr hi_adr     baseadr base_adr    noxsum    v     V    mape    h elp     u sage      xamples        wnodup       Arguments and options are order independent     Arguments  input_file s     Options     o out_ file_name    September 2001    Specifies a list of one or more  up to 15  input files in Intel  Hex checksum or Motorola S record format  You can mix  input files of these two formats in the same command  invocation  unless the files have different endianess  The  endian option you use   flip16   flip32   flip64  or none   applies to all input files specified in one command  you cannot  specify endianism on a file by file basis  If files require  different endian options  convert them individually  then  concatenate them using  for example  the UNIX cat  command  as follows     file2 mif file3 mif  gt           cat filel mif       final_output mif   
161. l List  To locate a model in the model list  follow these steps     1  If the selection pane is displaying the models by timing versions  choose Display by  Model Name from the View menu     2  To locate the desired model  choose the Filter command from the Actions menu  or  click on the Filter toolbar button  The Model Filters dialog box appears     3  If the String Search option is not already selected  select it by clicking on its check  box  In the String Search text field  type in the model name     September 2001 Synopsys  Inc  55    Chapter 3  Browser Tool SmartModel Library User   s Manual    4  Deselect any other options that are selected by clicking on the check boxes  Only  the String Search check box should be selected     5  Click on Filter     6  Click on Close  The Model Filters dialog box closes and the selection pane contains  the model      gt  Note    You can also scroll to the desired model if it is currently in the selection  pane     If you do not find the model you are looking for  try expanding the search criteria by  putting wild cards in the search string  Model names generally do not exactly match the  vendor device names     If you know the model is not in the library installed at your site  check with your system  administrator to find out whether the model is available on the CD but was not installed   If the model is not available at your site  check the Model Directory on the Web at     http   www synopsys com products Im modelDir html    or ca
162. l SmartCircuit models     September 2001 Synopsys  Inc  125    Chapter 6  SmartCircuit FRGA Models    Switches     m model_name     c comp_name     8     h     i interface_file     n instance_name     o output_file     P     q     u timing_file     V    126    SmartModel Library User   s Manual    Specifies the name of the model to be used to simulate  the netlist  The model must correspond to the targeted  device in the netlist or  for JEDEC models  the device  identified using the  c option     This switch is required for JEDEC models but has no  effect for other model types  Use this switch to specify  the name of the component to be used     Use this switch if you want the tool to generate an  interface file named model inf  You use an interface  file to map new devices into an existing model     Specify this switch for help using the smartccn tool     Use this switch if you want smartccn to extract  netlist to model mapping information from the  specified interface file  rather than directly from the  model     This switch can be used for JEDEC models only  It has  no effect for other model types  You use this switch to  specify that the  td timing data file for that model  instance_name has been modified for use when  compiling JEDEC files     Causes smartccn to produce a CCN file named  output_file rather than one named source_file ccn     Causes smartccn to suppress generation of a CCN file  and just create a pin map cross reference file named  source_file pmp     Cau
163. l change in a model   s datasheet will cause the model   s MDL version to  increment  but model users would see no difference in the behavior of the model with  the later version  For this reason  the model history section at the end of each  SmartModel datasheet lists model history only for significant changes  where the model  would behave differently in simulation     Providing model history just for significant changes also means that there will often be  gaps in the published model history  For example  the title banner on a model datasheet  might reference MDL version 01024  but the model history section shows the last  significant model change to be at MDL version 01021  This means that the intervening  MDL version numbers  01022 and 01023  did not change model behavior in any way  that would be visible to users  Note that all model bug fixes generate model history  entries and cause the MDL version number to increment     28 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 1  SmartModel Library Features    Supported Components and Devices    Each model datasheet includes a section entitled    Supported Components and Devices     which lists all of the hardware parts  by manufacturer  that the model can substitute for  during simulation  In this section  each component represents one of the unique timing  versions or speed grades supported by the model  Similarly  each device represents a  hardware part that you can buy from the listed manufa
164. le srec4 contains two records with data from byte address  400 to 41f     S3 15 00000400 101112131415161718191A1BI1C1DI1E1F 6E  S3 15 00000410 303132333435363738393A3B3C3D3E3F 5E             The following command specifies that the input file srec4 is to be converted to MIF   The switch  devwidth 16 indicates that the output files are to be 16 bits wide   devs 2  indicates that files are to be created for two devices  that is  two files are to be created     flip32 indicates that there is to be a 32 bit  4 byte  endian conversion     o      cnvrt2mif srec4  devwidth 16  devs 2  flip32  o myoutput    The two output files are named myoutput_00 mif and myoutput_01 mif   myoutput_00 mif contains the following data     100   J  TOT  7 11  102      103   1F1E   104   3332   105   3736   106   3B3A   107   3F3E                     as R ME G S  D gt  oN                   myoutput_01 mif contains the following data     100   1  101     102     i  103   1D1C   104   3130   105   3534   106   3938   107   3D3C             f       4  oO OF   A 4 4  co FO                   Because the two output files comprise a 4 byte wide memory image  the input record  addresses  400 41f  have been adjusted to device indexes starting at 100     206 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    Example  3   Converting S records into one 8 bit wide  output file with offset     In this example  a memory device starts at 0x400 in the address space  The lin
165. lets you view internal states and  signal elements inside your programmable logic design  You select probe sites of  interest and SmartCircuit Monitor reports back state and net information through the  transcript window of your simulator     e SmartBrowser  described on page 108    allows you to dissect the design netlist to  observe connectivity of elements and their properties     e Visual SmartBrowser  VSB   described in Visual SmartBrowser User   s Manual      UNIX version or NT version    provides all the capabilities of the command line  SmartBrowser  while adding improved visual traversal and display of your  programmable logic design through an easy to use GUI interface     SmartCircuit Monitor and Causal Tracing commands are placed in the model command  file  MCF   along with the standard MCF commands  At simulation startup  the  simulator reads the MCF for a model and interprets the commands it contains  including  debugging commands  The output from these commands is piped to the simulator  transcript window  Based on the information you gather with these tools  you can make  changes to your design or MCF and then rerun your simulation     September 2001 Synopsys  Inc  91    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Sample Circuit    To help you better understand how to use SmartCircuit models and the debugging tools   use the sample circuit in Figure 12 as a reference for the examples presented in this  chapter           TSBUF1    
166. lh      Hold time for I instruction  to CLK  high   th_D_CLK_lh    Hold time for D inputs  to CLK  high   ts_I_CLK_lh    Setup time for I instruction  to CLK  high   ts_D_CLK_lh       Setup time for D inputs  to CLK  high              Range  Min Typ Max    model AM29520    case comp  of    AM29520 COM       AMD  Bipolar Microprocessor Logic  amp    Interface  AM29000                                                Timing Label   Min Typ Max   Vendor Label     pwmin_CLK 10 0 7  tpw  th_I_CLK_lh 3 0 7  th  th_D_CLK_lh 3 0    th  ts_I_CLK_lh 10 0    ts  ts_D_CLK_lh   10 0    ts  tpd_S_Y    2 4   20  20 0   tpdsel  tpd_CLK_1lh_Y  1h     2 4   205 21 0   tpd  tpd_CLK_lh_Y  h1     2 4   2 0  22 0   tpd                      September 2001 Synopsys  Inc  163    Chapter 8  User Defined Timing    SmartModel Library User   s Manual          tpd_OE_Y  hz   1 0   5 0  13 0   tdis  tpd_OE_Y 1z   1 2   6 0  15 0   tdis  tpd_OE_Y  zh   2 4   12204 20 0   tena  tpd_OE_Y  z1   2 6   13 0  21 0   tena       of    L29C520M 1     Logic Devices  Fast CMOS Data Book  1989                                                                            Timing Label   Min Typ Max   Vendor Label      pwmin_CLK 10 0 7  tpw  th_I_CLK_lh 3 40 7  th  th_D_CLK_lh 3 0    th  ts_I_CLK_lh 10 0    ts  ts_D_ CLK_lh   10 0    ts  tpd_S_Y f   429    14 7   22 0   tpdsel  tpd_CLK_lh_y  1h     3 2    16 0   24 0   tpd  tpd_CLK_lh_y  h1     3 2    16 0   24 0   tpd  tpd_OE_Y  hz   21    10 7   16 0   tdis  tpd_OE_Y  1z   2
167. ll your local Synopsys representative to find out if the model has recently become  available     Displaying a Specific Vendor s Models  To display models of a specific vendor s devices  follow these steps     1  Choose the Filter command from the Actions menu  or click on the Filter toolbar  button  The Model Filters dialog box appears     2  Select the Vendors option by clicking on its check box     3  Deselect the String Search field and any other options that are selected by clicking  on the appropriate check boxes  Only the Vendors check box should be selected     4  In the Vendors list box  scroll to the desired vendor and select it   5  Click on Filter     6  Click on Close  The Model Filters dialog box closes and the selection pane lists all  models of the specific vendor     56 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    Displaying All Models That Have the Same Function  To display all models that have the same function  follow these steps     1  If the selection pane is displaying the models by timing versions  choose Display by  Model Name from the View menu     2  Choose the Filter command from the Actions menu  or click on the Filter toolbar  button  The Model Filters dialog box appears     3  Select the Function Subfunction option by clicking on its check box     4  Deselect the String Search field and any other options that are selected by clicking  on the appropriate check boxes  Only the Function Subfunction 
168. ly of devices  You can also use the MCF to maintain  window element definitions either directly or by calling external files using the    do     command     Additional MCF commands are available with the analysis tools  these commands  report event causes and effects  monitor design elements  and define monitor report  labels  A minimum MCF for a SmartCircuit model contains a load command  as shown  below     load  source filename  where filename is the name of the CCN file to be generated by smartccn     The value of the SWIFT SCFFile parameter in your model instantiation determines the  MCF file that a model reads at startup  To ensure that the model reads the correct MCF  file  you can either edit the value of the SCFFile parameter to point to the appropriate  MCF file for this model  or name the MCF file to match the current value of the SCFFile  parameter     X   Hint   When you use multiple configurable devices in a design  it is best to use  MCF file names that are keyed to the model instance names  For example   the file name xc3030_u21 mcf uses both the model name and an instance  specifier     MCF Command Descriptions    Following are descriptions of the commands that you can use in an MCF file     bus Command  bus bus_name namel  name2     namen     Defines a bus alias for specified nets  states  external ports  or previously defined buses   Useful only with SmartModel Windows  SmartCircuit Monitors  and Causal Tracing  reports     September 2001 Synopsys  Inc  121
169. mands are legal in this file  Commands run in  silent mode and are not echoed on the screen  To echo  the commands  use the interactive run command     Executes a log file before the tool enters interactive  mode  As with the  r switch  if you also use the  b  switch  the SmartBrowser tool will not enter interactive  mode  All SmartBrowser interactive commands are    Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    legal in this file  Commands run in silent mode and are  not echoed on the screen  To echo the commands  use  the interactive rerun command     A log file differs from a run file  which you use with  the  r switch  in that the log file contains output results  in addition to commands and comments  a run file  contains only commands and comments  In the log  file  the executable commands are placed in square  brackets  for example   list nets    When you run the  log file using the  re switch only the commands in  brackets are executed      help Displays a help message for the SmartBrowser tool   You can also specify just  h   he  or  hel and get the  same output     Using the SmartBrowser Tool to Create a Windows  Definition File    One way to create a windows definition file is to use the interactive SmartBrowser  commands    assign window    and    save mcf        As when manually creating the windows definition file  you use the SmartBrowser list  command to find the names of the elements you want windowe
170. mation about the selected model or  timing version   Same as the Model Detail  command on the Actions menu               Report       Opens the Report dialog box  which  displays environment information and  allows you to perform consistency checks  on the installed library   Same as the  Report command on the Actions menu         66    Synopsys  Inc  September 2001       SmartModel Library User   s Manual Chapter 3  Browser Tool    Table 4  Toolbar Button Descriptions  Continued        Button Use To              Docs Button     Opens the SmartModel Library User   s    F Manual  this manual  in PDF format using  oy the Acrobat Reader                 Selection Pane    The Selection Pane displays an ordered list of models or their timing versions  When  you invoke the Browser  by default the selection pane displays a list of timing versions  corresponding to the Use Environment Settings  LMCs  menu entry  and includes any  user defined timing  UDT  files that are contained in the  LMC_PATH variable  Each  timing version name lists the corresponding model name in parentheses next to the  timing version name     In the View menu  the Expand Model  Collapse Model  Expand All  and Collapse All  commands are grayed out     To display a smaller subset of the list     1  Choose the Filter command from the Actions menu  or click on the Filter toolbar  button  second from top   The Model Filters dialog box is displayed     2  Filter the list as described in    Model Filters Dialog Box  
171. me MIF  files with the model instance name as part of the file name  Because model instance  names are always unique  this is a handy way to pair memory devices with their  correct MIF files     e Reuse MIF files  You can load the same MIF file into as many models as you want  by using the same file name with all instances on the schematic diagram     e Turn off access delays  Memory models prevent invalid data from being accessed  before the minimum read cycle time has been satisfied by outputting unknowns  If  this feature is not useful for your particular simulation needs  you can disable it by  creating a custom timing file  For information about custom timing files  refer to     User Defined Timing    on page 159     e Monitor internal memory  Change or monitor the values of internal memory  locations using SmartModel Windows memory window elements  For processor  models that have internal memory  you can use PCL commands to get the values of  internal memory locations       The Memory Image File  MIF     A memory image file  MIF  is an ASCII file containing memory data to be loaded into a  model before simulation  thus saving the simulation time that would otherwise be  required to load the memory  You can load a memory model with a file that has  previously been dumped from the same or from a different memory model  as long as  their word widths are compatible     One common use of memory image files is for programming models of ROMs and  PROMS  If these models are not
172. me files are created  By default  these files are placed in the current directory  You can specify a different destination  directory with the following statement      LMC_PATH pathname_l pathname_2         pathname_x      Setting Environment Variables    Set the  LMC_HOME environment variable to point to the directory that is the root of  the SmartModel Library installation  You can use the  LMC_PATH variable to  reference alternate locations to search for  td and  tt files for the compilation of  SmartModel timing files   tf      Backanno Command Syntax  The syntax for the backanno command is as follows    LMC_HOME bin backanno config_file  ow  i  The following are the various sets of arguments for the backanno command      OW  Overwrites SDF files in the current directory when creating new SDF files     Causes case insensitivity  By default  backanno treats identifiers as case sensitive   just like Verilog syntax  but the  i switch causes them to be case insensitive  just  like VHDL     Running Backanno    Run the Backanno tool as shown in the following example      LMC_HOME bin backanno configFile  Backanno creates the following files in the current working directory   e The BAMODELS LST file lists the back annotated models     e One  tf file for each model  Note that if you set the  LMC_PATH construct in the  configuration file  the  tf files are written instead to the specified directory     e An SDFFILES LST file that maps the original SDF file name to the new SDF file
173. ment is a discrete unit of programming code that conforms to the  syntactical rules for the language  A PCL statement can be one of the following types     e Null statement   e Assignment statement   e Compound statement   e Nested statement   e Program control statement    In addition  PCL uses a special type of statement called a predefined model command   also referred to as a model specific command   Predefined model commands are  specific to a particular model  that is  they implement the specific capabilities of the  modeled device  For general information  see the command header file  For  information about specific predefined model commands  refer to the model s online  datasheet     Null Statements    A null statement is an empty statement that contains no instruction or command to  execute  A null statement has no effect other than to introduce an unknown amount of  delay  You specify a null statement with a semicolon         The following example shows the use of a null statement     if   a  lt   b         null statement     else   c   a   10     148 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Assignment Statements    An assignment statement assigns a value to a variable  The syntax for an assignment  statement is as follows        variable_identifier   expression        Compound Statements    PCL allows the use of compound statements  which let you use a block of statements  where a single statement is expecte
174. ming version by copying and modifying an existing  timing file  Follow these steps to create a custom timing version     1  Create a directory for the customized timing file     2  In the Browser selection pane  select the model whose timing file you want to  customize     3  From the Actions menu  choose Copy Customizable Files  or click on the Copy  Customizable Files button in the toolbar  The Copy Customizable Files dialog box  opens     4  If Timing Source File is not already selected  select it by clicking on its check box     5  In the To Destination Directory text field  type the path name of the directory you  just created     6  Click on the Copy button  The dialog box closes  The file has been copied to the  specified directory     September 2001 Synopsys  Inc  53    Chapter 3  Browser Tool SmartModel Library User   s Manual    To edit the timing file  follow these steps   1  Open the timing file     2  Edit the timing file  If you are not familiar with the format and grammar of timing  data  refer to    User Defined Timing    on page 159     3  Save the timing file as model td in the directory you created   To prepare the timing file for simulation  compile the timing file  For details  refer to       Running the Timing Compiler    on page 181     TS Note    You must recompile the timing file each time you set your custom  configuration file to a different model version or install a new model version  in the library  Each compiled timing file   tf file  is compati
175. mmand channel rather than running  SmartBrowser commands in a separate shell session  For general information on the  command channel  refer to the Simulator Configuration Guide for Synopsys Models   The SmartBrowser commands  themselves  are documented in    SmartBrowser  Command Reference    on page 113      gt  Note    Not all SmartBrowser commands can be issued through the command  channel  For details on which commands are available for use with the  command channel  refer to    SmartBrowser Command Reference    on  page 113     Using the SmartBrowser Tool in Standalone Mode    To invoke the SmartBrowser tool you need to specify the CCN file for the model that  you want to examine  In addition  you can specify several other command switches that  allow you to save a log file  run a command or log file in either interactive or batch  mode  or view the SmartBrowser help file     When you invoke the SmartBrowser tool  it looks in your home directory for an  initialization file called  smartbrowse_rc and executes any commands in that file before  doing anything else  The initialization file is an ASCII file that you create containing  any SmartBrowser commands that you want to run  Initialization files are not required   but they are useful for tasks that you want performed each time you invoke the tool   such as defining command aliases     For NT  invoke the SmartBrowser tool using the console command line  For more  information  refer to    Running Console Applications on
176. model     Timing Data File Grammar    The information in timing data files conforms to a formal grammar that is documented  in this section  In the descriptions below  terminals and reserved words are shown in  roman type  non terminals in italic type  The    symbol can be read as       is defined as      The vertical bar   delimits items in a list from which one item must be chosen  Square  brackets     enclose optional items  Braces enclose constructions that appear zero or  more times  Left and right parentheses must enclose edge identifiers     udt data file       udt data file    model   block  model block  model   block    model model    name    case statement    case statement    end model     There can be one or more case statements within the model block  Case statements  cannot be nested     model name    model name    identifier       The model name is an identifier  it must match the name of the model that is using the  timing data     identifier    identifier    letter   letter   digit   _            letter    a z   A Z  digit    0 9    Timing data files are not case sensitive  either uppercase or lowercase letters can be  used     176 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing       case statement  case statement    case case selector  of  case tag     case tag     timing statement        timing statement      end case      case selector   case selector    comp   inst  The value comp allows grouping of timi
177. ms     Initially  the list of installed versions in the Installed Versions field shows the top version  selected  The Timing Versions and Installed Platforms list boxes show information  specific to the installed version selected     To display timing versions and platforms for another installed version  use the Installed  Versions list box to select another version     Model Report Dialog Box    The Report function opens the Model Report dialog box  Use it to view information  about environment variables and select reports by clicking on their radio buttons     The dialog box fields are as follows     e Environment Variable field   At the top of the dialog box  this field contains paths  referenced by the environment variables used by the Browser  Use this information  to verify that the models are referenced as you intended     e Report Selection field   Following the environment variable field  this field  contains three options you can choose for generating reports     o Report Configuration  LMC  file errors    Choose this option if you want to know about any models used by your design  that cannot be found in the library installed at your site  This option is selected  initially    o Report models found in Library but not in Configuration  LMC  files    Choose this option if you want to know whether any models in the library  installed at your site are not listed either in the default configuration file or in  your custom configuration files     o List all models with t
178. multiple of output data  width    Input data width    18 bits per address   Output data width    16 bits per address  4 nibbles           o      mi_trans input data 4    In this case  mi_trans generates a mem  1 file that holds the two MSBs padded with  zeros  The mem 2 file contains the lower 16 bits of data     cnvrt2mif    cnvt2mif replaces mi_trans for converting memory data files to MIF file format  Using  cnvt2mif  you can optionally specify the number  name  and bitwidth of output files and  perform endian conversion  In addition  you can select data from within the input file by  specifying an address range for the conversion  You can also specify a base address for  indexed addressing  and control the verbosity and extent of message display  cnvt2mif  reads hexadecimal digits in either upper or lower case     cnvt2mif translates both Intel Hex and Motorola S record files  as follows     e Intel Hex checksum     For Intel Hex checksum translations  cnvt2mif handles both  extended segment address records and extended linear address records     e Motorola S record     For Motorola S record translations  cnvt2mif can process  input files containing mixed data lengths in different records  The tool recognizes  SO  S1  S2   32  S5  S7  S8  and S9 records anywhere in the file  Only S1  S2  and  S3 records contain data to place in the output files     cnvrt2mif returns execution status values as shown in Table 18 on page 203     202 Synopsys  Inc  September 2001    SmartMode
179. n  custom LMC 51  configuration  file format 184  configuration  Interconnect statement    configuration  MODEL section 186  configuration  sample 185  configuration  syntax 50  customizable  dialog box 69  interface  format 102   interface  managing multiple 102  JEDEC  format checks 83   LMC  configuration 50   LMC  environment settings 58  log  transmitting 215   MCF  naming conventions 124  memory image  MIF  74   MIF 74   MIF  address mapping 77   MIF  format 75   MIF  format checks 78   MIF  translating 200   open configuration  dialog box 71  PortMap  creating 194   PortMap  generated 195   SDF 192   SMTF   tf  192   timing 160       Synopsys  Inc  September 2001    SmartModel Library User   s Manual    timing data  comments 170  timing data  example 163  timing data  format 167  timing data  model blocks 172  timing  back annotation 183  timing  disabling display 49  timing  user defined  compiling 108  UDT  disabling display 49  WDF  creating with SmartBrowser 98  WDF  using 98  window definition 98  Filters  custom  models 53  model  dialog box 68  models  custom 53  FlexModels 23  datasheets 28  model logging 214  SmartModel Windows 24  user defined timing 159  for statement 151  Format checks  JEDEC files 83  MIF files 78  format  JEDEC files 83  Formats 173  interface file 102  timing check label 174  timing statement 175  Functions  displaying models with same 57  PCL 145  printfO 145    G    GUI  Browser graphical user interface 61    H    Header files  command
180. n 118   sl_browser 48  49  65   sl_copy 199   smartbrowse 109   smartbrowser 22  47  90  92  121  123   127 215   smartccn 22  47  90  92  101  121  123   125  127  215   swiftcheck 47  50  51  59  210    September 2001    SmartModel Library User   s Manual Index  trace fin 119 memory  models 73  trace fout 119 PLD models 81  trace instances 119 Constants  trace nets 119 PCL 141  trace objs 119 Constraints  trace pkgPin 119 violations  scope 97  trace ports 119 Constructs  trace scvInstances 120 PCL 140  trace symbolPin 120 continue statement 150  unalias 120 Control statements  vsb 47 PCL  program 150  window 124 Controls  ea timing files 170 pees  PCL 142 oe  ee lie model filters 53  timing data files 170 we ions 53  timing description 170 ee  timing expression 171 ser files 5   compile_pcl command 133  134  154  155 ee  Shafer configuration  loading 58  compile_timing command 22  47  160  C  163  165  167  170  181 eal S    user  creating 48  Compiler  timing  checks 180  timing  running 181 D  timing  using 180 Data  Compound statements 149 flow  SmartCircuit models 89  Configuration memory  dumping 79  files  custom 51 types  PCL 141  models 23 Data files  Configuration files model blocks  timing 172  custom  loading 58 timing  comments 170  LMC 50 timing  format 167  open  dialog box 71 Datasheets  syntax 50 model  displaying 55  Configuration files  ANNOTATE section model  getting 29  187 via Model Directory 29  Configuration files  creating 184 Debugging  Configuratio
181. n an execution status value of 0  whereas with checksum  validation enabled  cnvrt2mif returns an execution status value of 1     K  Note    Although this example shows the use of the  noxsum option  you should use  it only sparingly  and only after you have attempted to locate and correct the  problem in the S record or Intel Hex file generator  Disabling checksum  validation could result in invalid data being placed in the output  mif file and  subsequently loaded into your memories     208 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    Adding Back Annotation    You can extract back annotation timing data from Standard Delay Format  SDF  files  using the Backanno tool and annotate them to the SmartModel timing data format  The  Backanno tool creates new user SDF files and compiled timing files   tf      Syntax  Run the backanno tool from the command line as shown in the following example        LMC_HOME bin backanno configFile    Argument    configFile Specifies the configuration file that controls the  back annotation process     For more information on using Backanno  including details about the configuration file  format  refer to    Back Annotating Timing Files    on page 183     Checking SmartModel Installation Integrity    If you encounter unexplained problems while working with SmartModel Library  models  it could be that the underlying cause is a faulty installation  To help diagnose  such problems  Synopsys provides
182. n files  file format 184 design with trace messages 153  Configuration files  Interconnect statement delay label 173  189 Delay label format 173  Configuration files  MODEL section 186 Delays  Configuration files  sample 185 propagation 168  Configurations propagation  calculated 169  September 2001 Synopsys  Inc  223    Index    ranges 168  Designs   partial  processor models in 37  Details   model  dialog box 70  Devices   unsupported  using 100  Diagnostic information 215  Dialog boxes   configuration files  open 71   customizable file  copying 69   model detail 70   model filters 68   model reports 70   Save As 71  Directives    define 147    include 147  148    undef 147   preprocessor 147  do command 122  do statement 150    E    echo command 122  Elements   window  predefined 25   window  using 27  Environment   settings  LMC  58  Environment variables   setting on NT 45  Error checking 33   timing 34   usage 33  Errors   repairing 60  examine instance command 115  examine net command 116  examine port command 116  examine state command 116  examine timing command 116  Exceptions 137    224    SmartModel Library User   s Manual    Expressions  PCL 145    F    Fault simulation 35  Features  boundary scan 38  model  implementation specific 35  FF models  see also Models  full functional 131  Files  checks  PCL 133  command header 138  configuration  LMC  50  configuration  ANNOTATE section 187  configuration  creating 184  configuration  custom   loading 58  configuratio
183. n one ee TSAN  Sample Configuration Fil   oss ak exceed wei ue oun ees Varani a REGAR  MODEL Se  ea whasibeg eet r iro eridi peher beirt Er  ANNOTATE SCHOR ecrrersrode n itean EA  Interconnect Statement  5 cbs eke dug bia ehuekeeeeecsoetusKes eeaetes   Setting Environment Variables acdsee bd oeddnden ee dceted cadens eddctenesd   Backanno Command Syntax  2 0c carne sondvrad duntadaeaenas dunes sae    os   Running BOC osc 4b 5  655445 46505 59455805 a SAH api REEERE   Copying the Resulting Timing Files  tf  didi csdeecenesiciden sed onwsadns   Replacing the Original SDF Files    lt  4650co4ch0s0seeredogadeonioeewdos    Chapter 10  Library Toob oo 62k 6085 6 he FERRERS ERA ENEA   calls iC eee ne rn a ee ee ee ee  Creaune PorMap Piles 255 oe5 hans lae  44 oe hoe be 094 2955 5 Oe OG OES  Ucme the pim i es a ke 64989 ed dee Deh dee  PonMap File Format os  ct c0saenediecaeneedeeeeeodanecd hover ee dens  Copying Customizable Files with sl_copy           0 ccc eee ce cece eee eees  Translating Memory Image Files 6665 ee ee eee eee eee ee sees  COA Sos ie Shs Bh es ae es ee ee ee a ek ae ee eee  AI  53445055 E es a a eg ee bs  Adding Back Annotation 6 hie 4 ho 40d hee Se EES  Checking SmartModel Installation Integrity osu csceveee cece edeeaeewn coca    Appendix A  Reportin POUR  64 246 s es Oise 6 eee Sees r 6546 5 Sa 5 OES AKG eeki  TON  4c 404d ee a he oe  Using Model Logg 4 0h ven eeeiw doh OS 4Wsc Leith Ose wet need Oeewes  Transmitting the Log File 665s cin ep stone heehee exes 
184. n_name package_pin_number  C O1I1B      pin_name  The name that Synopsys assigns to each model pin  required      package_pin_number  The physical pin number for the specified pin  required       CIOIIIB   Pin type designator  optional   one of the following   C Designates a user configurable pin or a pin that is used by the configurable  portion of the device   Designates a non configurable output pin   I Designates a non configurable input pin   B Designates a non configurable input output pin     O    Using Unsupported Devices Example    Let   s say you have a 240 pin FPGA model  but need to simulate with a 208 pin model  from the same device vendor  If a 208 pin model is not available  you can create your  own by modifying the interface file of the similar 240 pin model that you already have  in the library  First  create an interface file   inf  by running the smartccn tool on the  existing 240 pin model as described in    Using Unsupported Devices    on page 100  The  following interface file example was created by running smartccn on the xcs30_240  model from Xilinx     Next  edit this interface file to make it work for the 208 pin device  For details on the   inf file syntax and editing rules  refer to    Interface File Format    on page 102  In this  example  you need to add a DEVICE line to match the device you are targeting     DEVICE XCS30 3PQ240C s30xlpq208 4    Then assign the extra pins that you don   t need to pin numbers that don   t exist  Don   t  comment o
185. ng model datasheets 29  Web site 19  Model types  FlexModel 23  full functional 22  131  hardware verification 22  131  Model Versions  significant changes 28  216  Model versions  determining most recent 54  Modeling  assumptions 36  changing states 42  timing relationships 36  uncertain 42  Models  behavioral 19  boundary scan features 38  configuration 23  custom  filters 53  datasheets  displaying 55  datasheets  getting 29  detail  dialog box 70  details  finding 57  features  implementation specific 35  FF  see also Model  full functional 131  filters  dialog box 68  full functional 22  131  functions  same   displaying 57  hardware verification 22  131  history  for problem reports 215    September 2001    Index    HV  see also Models  hardware  verification 131   HV  using PCL to configure 134   list  locating model in 55   locating in model list 55   logging 213   memory 73   memory configuration 73   memory configuration  using 73   memory  unprogrammed states 37   PLD 81   PLD  programming 82   PLD  using 84   processor 73  131   processor  in partial designs 37   reconfiguration 36   reports  dialog box 70   reports  repairing errors from 60   reports  saving 71   reset 35   SmartCircuit  pin mapping 92   SmartCircuit  using 86  87   SmartModel behavioral simulation 19   status reports 32   timing relationships 36   vendor  displaying 56   versions  finding 57   versions  selecting 22   Monitors  SmartCircuit signal values 99    N    Names  conventions  MCF files 
186. ng statements by manufacturer  speed version   and technology  The value inst identifies a specific instance of a model     case tag   case tag    string identifier  A case tag is a text string identifying a specific value of the case selector   string identifier   string identifier            letter   digit   general_symbols              All strings are quoted  Nonprintable characters  such as new line  are not allowed           general_symbols 7 _1    l i s  si1  e     ww    Le PFO ket Joe ok  timing statement  timing statement    timing label     timing label     timing values    If an output edge is used   and they are permitted only on delays   it must be surrounded  by parentheses     timing label  timing label    identifier      output    edge  output edge              The timing label is a required name used to identify the timing statement  Its value is  fixed by the model and must be used     output edge    output edge    hl    nz    1z  za    lh        nh       al    September 2001 Synopsys  Inc  177    Chapter 8  User Defined Timing SmartModel Library User   s Manual    The output edge format requires parentheses  More than one edge can be specified   Use a space between elements of the list  as shown below     of    CD74AC00       Harris RCA  Advanced CMOS Logic Integrated Circuits            Timing Label   Min Typ Max   Vendor Label      tpd_I2_01 h1 1h    IS  4 4   6 6    tpd_I1_01 h1 1h    T9   4 4   6 6                             The output edge is an option
187. non configurable pin  Excess pins that are not mapped to the new device may  have any package pin number  as long as they don   t collide with the new pin  numbers you are targeting  The excess pins are ignored during simulation     Some models have special non configurable pins  for example  the PROGRAM pin  in the Xilinx 4k family   You can identify these pins by examining the pin type  designator within a pin record  To avoid simulation problems  these pins need to be  mapped correctly  Do not map a user configurable pin to a non configurable pin   ideally  these pins should be mapped directly between devices      TS Note    Do not change pin names  Also  do not add or delete PIN statements from a  device declaration  Changes like these can make the model nonfunctional     2  Generate a new CCN file by running smartccn with the  i switch  which forces the  compiler to read its device to model mapping information from the specified  interface file     September 2001 Synopsys  Inc  101    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Example    The following example causes smartccn to generate a new CCN file for the mach110  model based on device to model mapping information in the specified interface file       smartccen  m mach110  i mach110 inf    Interface File Format    Interface files contain one or more device declarations for one or more models  Each  device declaration conforms to the format shown below  Any interface files you create  mu
188. ns specified in the default configuration     Custom Configuration  LMC  File  A file that contains a custom configuration  that  is  a user specified  platform specific set of SmartModel Library models and user   versioned tools  with one version number specified for each  Custom configuration files  have  lmc extensions     Datasheet  A document that describes a model in the SmartModel Library  including  its sources  supported hardware components and devices  programming  use  timing  parameters  and any differences between the model and the corresponding hardware  part     Default Configuration  A system specified  platform specific set of SmartModel  Library models and user versioned tools  with one version number specified for each   used if no other user specified configuration exists     September 2001 Synopsys  Inc  217    Appendix B  Glossary SmartModel Library User   s Manual    Default Configuration  LMC  File  The file that contains the default configuration   that is  a system specified  platform specific set of SmartModel Library models and  user versioned tools  with one version number specified for each  Supplied with the  SmartModel Library     LD_LIBRARY_PATH  For Sun operating system only  An environment variable that  contains the path to Sun libraries that are to be executed     LMC_COMMAND  An environment variable that contains a semicolon separated list  of session commands to be used during simulation     LMC_CONFIG  An environment variable that conta
189. nsition after the delay     FromPin  Specifies the input pin or bus that causes the delay     FromEdge  Optional element whose value can be either lh  low to high  or hl  high to low   If  you include a FromEdge value  the delay only occurs when the FromPin has the  specified edge     ToPin  Specifies the output pin or bus that changes as a result of the delay     ToEdge  Optional element only used for triggers  The value of this element can be either al   any to low   ah  any to high   or az  any to Z      Integer  Determines the correct timing parameter based on the internal state condition of the  model  For example  transitions from high to Z may have different timings than  transitions from high to low  Using this element you can differentiate between the  timing values     September 2001 Synopsys  Inc  173    Chapter 8  User Defined Timing SmartModel Library User   s Manual    Timing Check Label Format    Labels for timing checks have the following syntax     label   Type_Pinil  _Edge   _Pin2   _Edge   _Integer     Timing Check Label Syntax Elements    Timing check labels have the following syntax elements     Type    Specifies one of the following types of timing checks     O    174    ts   Setup check  where Pin1 before Pin2 must be greater than or equal to the  specified value     recovery   Same as ts  but the error message is different     th   Hold  where Pin1 after Pin2 must be greater than or equal to the specified  value     skewmin   Minimum skew  where Pin  m
190. o a  different online document  refer to the Guide to SmartModel Documentation  For the  information on supported platforms and simulators  refer to SmartModel Library  Supported Simulators and Platforms     For detailed information about specific models in the SmartModel Library  use the  Browser tool   LMC_HOME bin sl_browser  to access the online model datasheets     Manual Overview  This manual contains the following chapters and appendixes   Preface Describes the manual and lists the typographical    conventions and symbols used in it  tells how to get  technical assistance     Chapter 1  Provides an overview of the library  including how  SmartModel Library model and tool versioning works and the different  Features model types    Chapter 2  Overview of common model features and modeling  About the Models assumptions     September 2001 Synopsys  Inc  13    Preface    Chapter 3   Browser Tool    Chapter 4   Memory Models    Chapter 5   PLD Models    Chapter 6   SmartCircuit FPGA Models    Chapter 7   Processor Models    Chapter 8    User Defined Timing  Chapter 9   Back Annotating Timing    Files    Chapter 10   Library Tools    Appendix A   Reporting Problems    Appendix B   Glossary    e Default UNIX prompt    SmartModel Library User   s Manual    How to use the Browser tool to select model versions  and view product documentation     How to configure and use memory models     How to configure and use programmable logic  device models     How to configure and use Smart
191. of the PCL source file that you want  to compile  If      the compiler reads the source file  from STDIN   new_program Specify the name for compiled program  If     the    compiler writes the object file to STDOUT     154 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Switches    C Write source file comments to output     D  Define a symbol with the given  optional  value    H Display a help message and exit     I Add a directory to the  include search list     M Specify the name of the model being compiled    N Do not predefine target specific names     Stext Specify sizes for  if sizeof     Usymbol Undefine symbol     Xvalue Set internal debug flag    Example    The following example compiles the MySrc pl program into object code and puts the  output in the MyObj pcl output file     Q      compile pel MySrc pcl MyObj pcl     gt  Note    Note that compile_pcl is a model versioned tool  meaning that the model  itself determines which version of the tool is used when you invoke the tool   You only need to select the model version     Example PCL Program    This section shows a sample PCL program written for the Intel 80186 HV model  The  program begins with the include statement that instructs the PCL compiler to include the  model s command header   cmd  file  The command header file contains the processor  command definitions and  define directives  The program then defines a constant  called error_addr and declares the var
192. of the line is treated as a comment     Example 1    The following example shows how various constructs can be used or combined in a MIF  file  In this example  the width of the memory location is 8 bits     0 3 0   Colon separator for address range   4 6 0   Hyphen separator for address range   d7  b10101110   Address and data can use a different   numeric base   10 0  11  b10000000   Iwo records on the same line  12 le  HxF   d31  hX8   Information is case insensitive  20 7FF 4   Load remaining addresses with 00000100                            76 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 4  Memory Models    Example 2    When you specify the data value to load into memory  the safest practice is to specify  values that match the width of the memory location  however  this is not required  If the  data value has fewer bits than the memory location  the model pads the value with  leading zeros  If the data value is larger than the memory location  the model rejects the  data and issues a warning message     The following example specifies that the hex value F  binary 1111  is to be loaded into  memory location 0  zero   If the memory location is 9 bits wide  the value entered is  000001111  if the location is 6 bits wide  the value is 001111  and so on     0 F    Example 3    Unknown values are most easily specified in binary  often the unknown represents a  single bit  In the following example  for an 8 bit memory location the binary value i
193. ol    The ptm_make tool generates PortMap files based on ModelMap data contained in the  individual model directories  The tool uses the  LMC_HOME environment variable to  locate the models  Models are user versioned  The ptm_make tool selects model  versions based on information in the default or custom  Imc file     Syntax    PortMap files generated by the ptm_make tool are named model ptm  Run ptm_make  from the command line using the following syntax       ptm make  model         d   path_name    h   Arguments  model Use this optional argument to specify one or more    model names  If you do not specify any model names   ptm_make generates PortMap files for all installed  models     194 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    Switches    h elp  Specify this switch for help using the ptm_make tool     d ir  Use this switch to specify a destination directory for the  generated PortMap file  If you do not use this switch   ptm_make puts the PortMap file output in the current  working directory    Examples    The following example generates a PortMap file for all models in the library     ptm make   The following example generates specific PortMap files for the ttl00 and ttl821 models     ptm make tt100 tt1821    The following example places the generated PortMap files in the existing directory   user drj portmaps       ptm make tt100 tt1821  d  user drj portmaps    PortMap File Format    A PortMap file contains a cross
194. ome cases a model goes beyond the manufacturer   s specifications in order to make  simulation more useful  For example  the model of the Brooktree Bt458 RAMDAC  a  color palette component  has a special test mode that does not exist in the component     All model specific exceptions between the behavior of an actual device and its model  are documented in the model s datasheet  When appropriate  notes and warning  messages generated by a model also inform users about exceptions     36 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    The following sections provide details on modeling assumptions that are common to all  models in the SmartModel Library  Refer to the individual model datasheets for  information about model specific assumptions     Setup and Hold Timing Checks    When a range of values is specified by a semiconductor vendor  setup and hold timing  errors are triggered by violations of the worst case specifications     Unprogrammed States in Memory Models    All memory locations in RAM models  if used without memory image files  are read as  unknowns     The uninitialized contents of ROM models vary according to the manufacturer   s  specifications and are noted in the model datasheets  ROM models do not need to be  programmed as long as their data is not used during simulation     Read Cycle Checks in SRAMs    Read cycle timing checks are not performed in SRAM models  This eliminates spurious  read cycle timing v
195. ommand n    Docs Menu    The Docs menu provides links to the SmartModel Library online documentation     Help Menu    The Help menu displays the tool version number  copyright  and other information     September 2001 Synopsys  Inc  65    Chapter 3  Browser Tool    Toolbar    You can invoke the major Browser tool functions from the toolbar  The toolbar buttons  provide another way to access functions available from the Actions and Docs menus  To  display the function of each toolbar button  place the pointer on the button  Table 4    SmartModel Library User   s Manual    describes the different toolbar buttons and what you can do with them   Table 4  Toolbar Button Descriptions       Button    Use To              Display Datasheet       Displays the datasheet for the selected  model or timing version   Same as the  Display datasheet command on the Actions  menu         Filter       Opens the Model Filters dialog box  which  you can use to select the filtering criteria  for displaying a subset of the model list    Same as the Filter command on the  Actions menu         Copy Customizable Files       Opens the Copy Customizable Files dialog  box  which you can use to copy timing files  or other customizable files for the selected  model or timing version to a specified  directory for customization   Same as the  Copy Customizable Files    command on  the Actions menu         Model Detail       Opens the Model Detail dialog box  which  displays version  platform  and other  infor
196. ons   fault 35   processor models in partial designs 37  Simulator timing resolution 31  sl_browser command 48  49  65  sl_copy tool 199  smartbrowse command 109  smartbrowser command 22  47  90  92    121   123  127 215   SmartBrowser tool 112   creating WDFs 98   interactive 108   interactive commands   12   scope of commands 112  smartccn command 22  47  90  92  101     21  123  125  27 215   SmartCircuit models   data flow 89   netlists  compiling 211   pin mapping 92   scaling timing 122   using 87   using unsupported devices 103  SmartCircuit monitor   signal values 99  SmartCircuit technology 88  SmartModel Library   browser 45   features 19   overview 19   SWIFT interface  connection through 19  SmartModel Library Browser 45   starting 48  SmartModels   browser 45   configuration 23   datasheets  displaying 55   installation integrity  checking 209   library features 19   listed in Model Directory Web site 19   types 22   windows 24  35  SRAMs   read cycle check 37    Synopsys  Inc  229    Index    Startup  displaying model name in Browser 49  Statements  assignment 149  break 150  compound 149  continue 150  do 150  for 151  if 151  nested 149  null 148  PCL  program control 150  PCL  types 148  return 151  switch 152  while 153  States  changing  diagram 43  changing  modeling 42  initial  resetting to 35  TAP  diagram of 39  uncertain  modeling 42  unprogrammed in memory models 37  Status area 68  Status reports  models 32  SWIFT interface  connection between Smart
197. onventions and rules that apply to the syntax description  for MIF file records     e Braces       indicate a list of one or more entries    e Brackets       indicate optional entries    e Italics indicate variables for which you specify actual values   e Fields are not case sensitive    e More than one record can appear on a line     e The character    X    or    x    indicates an unknown value  and is illegal except in a data  word where the data is expressed in binary  octal  or hexadecimal  not decimal      September 2001 Synopsys  Inc  75    Chapter 4  Memory Models SmartModel Library User   s Manual    MIF File Record Syntax  Following is the syntax for MIF file records    addressI   address2    base_specifier data_value      comment     address 1  The memory location to which data is to be written  or the beginning address of a  range      address2  The end address of a range  Either a colon     or a hyphen     can be used as a  delimiter      base_specifier  A slash     separates the address specification from the data word  The  base_specifier argument is one of the following      b  Binary   To  Octal    d  Decimal    h  Hexadecimal  the default     You can mix different base numbers within a record     data_value   The value of the data word to be written to the specified memory locations  A  semicolon     defines the end of each record       comment  A comment can be included in a record by using the pound sign      All  information from the pound sign to the end 
198. or equal to the input data width   Switches   be Use this switch if you want your output to be big endian  If  you do not set this switch  mi trans creates little endian  output    single Use this switch if you want to create a single output file with  data in consecutive addresses   This only applies to the  Motorola S record input format     h Specify this switch for help using the mi_trans tool     The mi trans tool generates one or more SmartModel MIF files named mem 1  mem 2   mem 3  and so on  The first MIF file  mem 1  contains the most significant bits of the  data  If the input file data width is not a multiple of the output data width  mi_trans pads  the MSB with zeros to make it fit     Example  1   Input and output data widths match    Input data width   8 bits per address  Output data width   8 bits per address  2 nibbles        o      mi_trans input data 2    In this case  the mem 1 output file data width corresponds exactly to the input data     Example  2   Input data width a multiple of output data width    Input data width   16 bits per address       September 2001 Synopsys  Inc  201    Chapter 10  Library Tools SmartModel Library User   s Manual    Output data width   8 bits per address  1 nibble       mi_trans input data 1    In this case  mi_trans generates four files  mem 1 through mem 4   For each memory  address  the tool writes out the most significant four bits in mem 1 and the least  significant bits in mem 4     Example  3   Input data width not a 
199. oss reference table   which shows the mapping of a model   s port names to a particular package type   s pin    numbering     Programming PLD Models    PAL and PLD models are programmed with a file that conforms to JEDEC  STANDARD No 3 A  Standard Data Transfer Format Between Data Preparation  System and Programmable Logic Device Programmer  May 1986  To configure a  model to use a particular JEDEC file  use the SWIFT JEDECFile parameter  Table 6  shows the programming and testing fields specified by the JEDEC standard     Table 6  JEDEC Standard 3 A Fields and Their Uses in PLD Models                                                                Identifier Description Use   not applicable   Design specification required  N Note not used  QF Number of fuses in the device not used  QP Number of pins in test vectors not used  QV Maximum number of test vectors   not used   F Default fuse state optional if Field L is used   L Fuse list optional if Field F is used   C Fuse checksum optional  and    0000    is valid   X Default test condition not used  V Test vectors not used  P Pin sequence not used  D Device  obsolete  not used  G Security fuse not used  R  S  T Signature analysis not used  A Access time not used             82    Synopsys  Inc     September 2001    SmartModel Library User   s Manual Chapter 5  PLD Models    The F and L fields are complementary  if one is used  the other is optional  Fields  marked    not used    still can be included in the model   s programmin
200. our DSS  os os 5 295544 S RS bh girende oi eee a 93  Causal Tracing Command Descriptions 6266s ode eave sa seeded edes 94  Viewing Internal Nodes During Simulation               0 0 0    eee eee 97  Oe Windows sere pea tiaara ee ee ie aren eden 97  Smart ircoit Montor 4 55 6 be ned a DSS beds oes 98  Using Um  pporned EE  245 hb eccees ikp scence dened coeaen cece 100  Browsing Your Design Using SmartBrowser                 0c eee ee eee 108  Issuing SmartBrowser Commands Interactively                    004  109  Using the SmartBrowser Tool in Standalone Mode                      109  Using the SmartBrowser Tool to Create a Windows Definition File         111  Using SmartBrowser Commands ass 66 ks he bs aanere enera 112  SmatBrowser Command Referente cssrccsircrisrraptes berak REDE U ISN 113  Model Command File  MCF  Reference        oonnnnnurrrrrrrrrrrrrrna 121  MCF Command Descnipllons ego hg wd i KIONE SEWA EEIE 121  eircom Command Referent og needs hie eew ee keG eee cdaw ese haeee new aad 124  CP  Serrone oer a kone abi eee aes wines  127  ccn_report Command Reference         nunuuen ennan enner 127  PO ONS  E EE T E A E TT 130  Chapter 7  Processor Models srscisserretekierer OEE EE CHES HG 556 rkik 131  Conhgurine Processor Mod  ls nv che ea  e etre a b oe howe es 131  Simulating with HV Models    issicasicssisinaieenecariseri terre dasi 132  PCL Fie Checks fick endacsaeer tess innaka Ee 133  Processor Control Language  PCL  pesrrersrieritirnedtr ed r ENEKIN 134  Using
201. pendix A  Reporting Problems    Transmitting the Log File    Before copying the log file  call the Synopsys Technical Support Center to make sure  you have an acceptable media type  When you contact the Technical Support Center  your request is assigned an issue number  If you need to contact Technical Support later   please have this issue number available     Other Diagnostic Information    Depending on the type of model  the following information may be required in addition  to the mlog cfg file     e Hardware verification models  Send the PCL source program  and any other files  required for compilation     e PLD models  Send the source JEDEC program files   e Memory models  Send the memory image files     e SmartCircuit models  Send the netlist description files necessary to create a CCN  file  and your MCF file  Also provide the version numbers of any third party tools  you used  and the version number of smartccn     Please use e mail to send the test data described above for the type of model you are  using  In all communications to the Synopsys Technical Support Center  please include  a phone number where we can reach you     Model History and Fixed Bugs    At the end of each SmartModel datasheet is a model history section detailing significant  model changes that occurred during the past year  If the model has not changed  significantly in a year  its datasheet does not contain any model history entries   Significant changes cause the model to behave differently in
202. pin_number    pin_number      The MODEL  VERSION  FUNCTION  SUBFUNCTION  RANGE  and MODELFILE  records can appear only once in a PortMap file  The PACKAGE  PIN_COUNT   DEVICE COMP  and MODEL_PORT records can appear multiple times depending on  how many packages are defined for the associated model  Note that the PIN_COUNT   DEVICE COMP  and MODEL_PORT records are indented to indicate that they are  subordinate to the PACKAGE record  Following are definitions for each of the PortMap  file records     MODEL   model_name  Specifies the model to which the data corresponds  The model_name value is the  name of a model  for example  ttl00      VERSION   version  Specifies the version number for the PortMap file  Note that PortMap files  generated by the ptm_make utility do not have valid version records     FUNCTION   function  Specifies the name of a functional category for a model  for example  processor or  memory      SUBFUNCTION   subfunction  Specifies the name of a subfunctional category for a model  for example  dram or  sram      RANGE   range  Specifies the default timing range  Values for range can be MIN  TYP  MAX  or    blank  no value   However  the ptm_make tool only generates range values of  MAX     196 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 10  Library Tools    MODELFILE   type  I type       Specifies the type of additional configuration information the associated model  requires  Models that require more than one type of confi
203. plays a connection tree of all outputs from the specified instance cell  scope  The max_level parameter specifies how many levels of logic to trace     trace instances instance   net   port name  Reports all instances attached to the specified instance  net  or port     trace nets instance   net   port name  Reports all nets attached to the specified instance  net  or port     trace objs name  Traces all objects connected to the specified element  which may be an instance   net  or port    trace pkgPin package_pin_name  Traces the package_pin_name to the related symbol in design port names     trace ports instance   net   port name  Reports all ports attached to the specified instance  net  or port     September 2001 Synopsys  Inc  119    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    trace scvInstances instance   net   port name  Traces through the instance hierarchy until encountering an SCV cell  ultimately  reporting all SCV cell instances connected to the specified element     trace symbolPin symbol_pin_name  Traces the symbol_pin_name to the related package pin name and design port  names     trace topNet instance   net   port name  Finds the highest scope level net attached to the specified element     General Commands    The following general commands can also be issued through the SWIFT command  channel  except as noted     alias alias_name command        commandN  Defines the specified alias_name for a command or list of commands     unali
204. processor  interface  and oscillator models that also  have on chip memory  You configure memory models at simulation startup using a  Synopsys memory image file  MIF   For on chip memory in processor models you  configure the memory from a PCL program using the model specific PCL commands  documented in the model s datasheet  Memory models check their initialization files  when they are loaded for simulation  as shown in Figure 9        MIF File  Creation                Figure 9  Process Flow for Memory Models    September 2001 Synopsys  Inc  73    Chapter 4  Memory Models SmartModel Library User   s Manual    Using Memory Models    Memory models are flexible enough to support a wide range of potential uses in  simulation  To make optimal use of this flexibility  keep the following points in mind     e Load minimum memory  Because memory allocation is dynamic and due to the  fact that you do not have to load all of the memory locations in a device  it is good  practice to load only the minimum necessary to support the simulation  At  simulation startup the model allocates only as much system memory as required by  the data  The memory is allocated in groups of bytes based on the model s memory  size in order to minimize the number of allocations  During simulation  if an  address is used that is in an unallocated area  the model allocates new memory  locations to support the data written to the model     e Key memory image file  MIF  names to your schematic  It is best to na
205. r   At the top of the Browser window  the menu bar contains the File   View  Actions  Docs  and Help menus  You use these menus to initiate all Browser  functions     e Toolbar   Arranged vertically at the left side of the Browser window  the toolbar  buttons provide easy access to functions also available through the Actions and  Docs menus     e Selection Pane   tThe selection pane takes up most of the window  and contains lists  of models and timing versions     e Status Area   The status area shows the path name to the SmartModel Library  being operated on  and gives various status messages as appropriate     62 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 3  Browser Tool    You can customize the Browser window by adding an optional User menu or changing  the default display  For more information  refer to    Creating a Custom User Menu    on  page 48     Menu Bar    The menu bar  see Figure 8  features several pull down menus that you can use to  perform the tasks described below     sl browser Eee    Figure 8  Browser Tool Menu Bar       File Menu    The File menu has the following options     Use Environment Settings  LMCs    Displays an alphabetical list of models or timing versions  The list is based on  configuration  LMC  files specified by the  LMC_CONFIG and  LMC_HOME  environment variables    Open Specific Configuration  LMC    Opens the Open Configuration File dialog box to select a single LMC file from which to  obtain a list of 
206. r  O Unsigned octal number    Unsigned hexadecimal number       o    Print a    no conversion                 Each conversion specification  excluding     must have a corresponding argument     Because the following example has no conversion specification  the quoted string prints  directly to the output     printf      Print this string          In the next example  the value of the exit_value variable prints as a decimal integer at  the specified point in the error message     printf      Error  d has occurred     exit_value       146 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    Preprocessor Directives  The PCL compiler includes a preprocessor  which recognizes these directives      define   else   endif   if   ifdef   ifndef   include   undef    A preprocessor directive must be the first item on a line     The  define and  undef Directives    The  define directive lets you define named constants and macros  Macro names can  also include arguments to be passed into the macro body and operated on  The syntax is  as follows      define macro_name   argument     argument     macro body    Here is an example of the  define directive used for string substitution in the  180960sx_hv hardware verification model      define ONE_BYTE 1  The definition lets you specify the string    ONE_BYTE    for data transfer  rather than  specifying its numerical value for the cycle type     After a macro is defined  it retains its meaning unt
207. r is generally used to set an initial value for the loop control variable  The  cond_expr is a relational expression that determines how many times the loop is  executed  The  oop_expr defines how the loop control variable changes each time the  loop is repeated     The following example shows a for loop used to initialize array element values   for  i 0  i lt  9  i       sample_array i    0     The if Statement    The if statement allows you to execute a block of code based on a condition  The syntax  iS     if  expression  statementl1   else statement2       If the expression evaluates to true  a nonzero value   then statement  executes  The  optional else clause can be used to specify a default action  that is  if the expression is  false  equal to zero   then execute statement2 rather than statement      The return Statement  The return statement terminates the execution of a function     return   expression       If specified  the value of expression is returned to the calling function  If expression is  omitted  the return value is undefined     September 2001 Synopsys  Inc  151    Chapter 7  Processor Models SmartModel Library User   s Manual    The switch Statement  The switch statement is a multiple branch decision statement  The syntax is     switch  expression        case constanti   statements  break     case constant2   statements  break     default  statements      The value of expression is successively checked against a list of case constants  Program  flow is
208. r pent      Predefined Window Element  A window element created by Synopsys and supplied  with a specific model     218 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Appendix B  Glossary    SmartModel Library  A collection of behavioral simulation models of standard  integrated circuits  designed to be used in EDA simulation environments that use the  SWIFT interface      td file  A source timing version file    tf file  A timing version file that has been compiled and is ready for simulation   Timing File  A file that contains timing parameters for a SmartModel     Timing Version  A SmartModel representation that specifies model timing parameters   Each timing version has a unique name     User defined Window Element  A window element created by a user     User versioned Tool  A tool whose version number can be specified by the user   usually by placing it and its version number in a custom configuration file  Examples of  user versioned tools include ptm_make  mi_trans  and swiftcheck     Window  A view through which you can access one or more of a model   s internal  registers     Window Element  A window with a specific name  created to monitor a specific  register or memory array     September 2001 Synopsys  Inc  219    Appendix B  Glossary SmartModel Library User   s Manual    220 Synopsys  Inc  September 2001    SmartModel Library User   s Manual    Index    index    Symbols     define directive 147   include directive 147  148   undef directive 1
209. rcuit FPGA Models     source  Indicates that the model is to invoke smartccn to compile the design source file  specified by filename and generate a CCN file  if necessary  The load command  supplies the smartccn compiler with the necessary model component and instance  information  If a CCN file of the specified name already exists  the load  source  command compares the date time stamps of the source files against the date time  stamp of the CCN  The load  source command automatically recompiles the CCN  for the model if one of the component files is newer than the existing CCN  No  CCN compilation occurs if all files are up to date     filename  Specifies the name of the CCN file to be loaded  or  if load is invoked with the   source switch  the name of the design source file to be compiled  The specified  filename can include either an absolute or a relative path  though your simulator  environment may restrict or limit the use of relative path names      nocheck  Disables reporting of timing constraint violations     vo Aig    _           Compiling large JEDEC based CPLD models can take a long time  If  simulation initialization performance is important  compile the model  separately  before simulating  Then use the load design ccn command in  your MCF file to picked up the compiled netlist      scale factor  Indicates that all timing values loaded from the CCN are to be multiplied by factor   which must be a positive  nonzero number  The  scale switch must follow  sourc
210. re for Multiprocess Models    Some HV models use multiple process streams that execute concurrently  PCL  programs for multiprocess models are very similar to those for single process models   In addition to a    main    function  multiprocess models require two or more functions  named processN  where N is the process number   Whereas single process models have  one interrupt handler  multiprocess models may have a separate handler for each  process     In single process PCL programs the main function usually does the work of generating  bus cycles  while in multiprocess PCL programs  the main function is reserved for  initializing the model and handling variables  In multiprocess PCL programs the  process functions generate bus cycles     Interrupts and Exceptions    HV models do not have built in interrupt or exception handlers  You must write an  interrupt handler in your PCL program if you want your HV model to respond to  interrupts in simulation     The interrupt handler function must be named either interrupt or exception  In PCL  these two function names are synonymous   one function will suffice to handle both  types of events  When an HV model detects an interrupt  it generates a vector number   The PCL interpreter calls your interrupt handler function and passes the vector number  as the only argument     A typical interrupt handler function consists of a switch statement that evaluates the  vector number and passes control to an appropriate case labeled statement
211. rmal x  64 1 Oe SE RAA n E 167  Assumed Propagation Delays icc cn id eas escent aed chee kant ka bianet 168  Models With Vendor Supplied Delay Ranges                  20 00055 168  Calculated Propagation Delays boa oie das be GOSS ROG EEE 169  Tine Data File Comments 5g ka cit ae deeded daden Caprin ERRETA ONA i 170  o a LE e e 55555 TE E T EE E E EEE 170  Timing Description Comments ag  Ve Ona ood hrt t OME Ain ee 170  Timing Expression Comments sicisccsirisisiianierierertti ce sand 171  intemal OI ots onde ot esttaasi cashes biaceeaiass 171  Range COIS ob kee HGS Rah G RRO ORE ERY HERE OSS 4 Wee Er 172  Tine Data File Model Block crcicincicssedgrorcanori eidet ia pr tapi 172  Timing Statement Format 45 ier ke oie cerned diese eee ee E EE henge 173  Timing Statement Format ssiirscricrercesari inur ieniiasirhi insati 173  Tine Data File GAMMA bo cas eth hee ae krent ene ted NIER Redes ese aes 176  Using the Timing Compiler 6  hos een odeeee does yee hte 65ee ana 180  Timing Compiler Checks oc ise s bad eek Powders ea dTSk ese eee wees ed 180  Runnine the Timme Compil  r  criccagscrssigrontap rd EEEE rE EEGA 181  Chapter 9  Back Annotating Timing Files ses 6 nde keene 604s 6 x65 S RNs OWS ONS eee 183  Wia Sah ea  Ls en ee eee ere RA 183  oe fee ee ee ee ee ee  ee 184    September 2001 Synopsys  Inc  7    Contents SmartModel Library User   s Manual    Creating a Configuration Fale cade cedars ken beer dee eet ea ees cedekess  File Format sisiennneace 3 ketene terey hese bese ta
212. rogram file specified by the SWIFT PCLFile parameter for that model instance   If the HV model cannot find the necessary PCL file  it issues a warning message   Similarly  if you use a memory model to store a program to drive a full functional  processor model  the memory model looks for the memory image file specified by the  SWIFT MemoryFile parameter for that model instance  After successful initialization   the model generates a message that looks like the following example     NOTE  Loading the PCL program from file    pclfile       180386_hv 1 TESTMODEL   189   I80386 12   at 0 ns                September 2001 Synopsys  Inc  133    Chapter 7  Processor Models SmartModel Library User   s Manual    Processor Control Language  PCL     HV models represent system behavior by simulating external bus cycles directly rather  than simulating the internal processing that leads to the assembly language instructions   You control the actions of an HV model by writing a PCL program that specifies how  you want the model to respond to input stimulus  including interrupts  Each HV model  supports its own set of model specific PCL commands that implement the specific  capabilities of the modeled device  HV model datasheets provide comprehensive  information on the how to use the specific PCL commands supported by a particular  model  In addition  the code definitions for all model specific PCL commands and  some handy defines are contained in the model s command header file   cmd   Thi
213. ror  message  When the model finds the specified MCE  it checks the file syntax and  executes the commands that it contains  including the    load    command found in all  MCF files  After loading the compiled configuration netlist  CCN   the model  initializes  If the model cannot load the CCN file  it issues an error message     The operation phase begins at time 0 after the model loads the MCF  The actual  functions performed depend on the device being modeled  details are documented in the  datasheets for the device and model      gt  Note    SmartCircuit models do not support JTAG functions or configuration  through boundary scan pins     86 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Quick Start for SmartCircuit Models    Before using any SmartCircuit model in a design  refer to the model s datasheet for  specific information about how to configure and use that particular model  Individual  model datasheets provide information about technical issues or special usage  considerations you may need to be aware of  such as specific options required in the  FPGA vendor tools to target the netlist to SmartModels  For information on finding  model datasheets using the Browser tool  refer to    SmartModel Datasheets    on page 27     To use a SmartCircuit model in a design  follow these steps     1     N    Oo    Instantiate the model in your design     For information about instantiating SmartModels and configuring 
214. rs on a specific page  select the entire page  including  headers and footers   and copy to the buffer  Then paste the buffer to the body of your  e mail message  This will provide us with information to identify the source of the  problem     September 2001 Synopsys  Inc  17    Preface SmartModel Library User   s Manual    18 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 1  SmartModel Library Features    1    SmartModel Library Features    SmartModel Library Overview    The SmartModel Library is a collection of over 3 000 binary behavioral models of  standard integrated circuits supporting more than 12 000 different devices  The library  features models of devices from the world   s leading semiconductor manufacturers   including microprocessors  controllers  peripherals  FPGAs  CPLDs  memories  and  general purpose logic  SmartModels connect to hardware simulators through the  SWIFT interface  which is integrated with over 30 commercial simulators  including  Synopsys VCS and Scirocco  Cadence Verilog XL  and Mentor Graphics QuickSim II     Instead of simulating devices at the gate level  SmartModels represent integrated  circuits and system buses as    black boxes    that accept input stimulus and respond with  appropriate output behavior  Such behavioral models are well suited for distribution in  object code form because they provide improved performance over gate level models   while at the same time protecting the proprietary designs creat
215. rst problem and then rerun the simulation     SmartModel Library models are designed not to generate or propagate unknowns  unnecessarily  A model uses error messages to inform you about its states and the  assumptions made to substitute a good value for an unknown     For example  Figure 4 shows a simple 9 bit register  When    enable    is asserted  on the  next rising clock edge  the register puts the value of the D pins into the internal Q  registers and also on the output pins  When    clear    is asserted  the internal registers are  cleared to zero     M29823 COM  EGISTER          A             MOO  OZ IMI                                                           oloo oloo on  INIO JOT  JW IN  r                             Figure 4  9 Bit Register    Internally  this device is a series of positive edge triggered  D type flip flops  Even in  so simple a device  there are many opportunities for unknowns  the clock  clear  D  or   any combination of these could be unknowns  In addition  the Q register could start as  an unknown     40 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    Let us look at how a    Smart Flip Flop    handles unknowns  The operation of the Smart  Flip Flop is shown in Table 3  The following definitions apply to symbols used in the  table     e CLR   Clear input  asserted when low   e Q  Value of the Q output prior to evaluation   e    Smart    newQ  Value of the Q output of a Smart Flip Flop after t
216. ry     e Bus Functional Models  BFMs  simulate all device bus cycles  There are two types  of BFMs in the SmartModel Library     o Hardware Verification  HV  models  which you control using Processor Control  Language  PCL   a language that is similar to C     22 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 1  SmartModel Library Features    o FlexModels  which you can control using Verilog  VHDL  or C     For some devices  more than one type of model may be available  but these are  exceptions  not the general rule  For detailed information about a specific SmartModel   including FlexModels   refer to the model   s datasheet  For general information about  FlexModels  refer to the FlexModel User   s Manual     Model Timing Versions    All SmartModels have at least one timing version  To see what timing versions are  available for a particular model  use the Browser tool to display a list of timing versions  for that model     If you need a timing version that is not supplied with the library  or if you want to back   annotate customized delays into the model   s simulation  you can create a custom timing  version as described in    User Defined Timing    on page 159     Model Configuration    To configure a model means to define it completely  by doing the following   e Setting environment variables and specifying the model version    e Creating technology dependent setup files  JEDEC  MIF  or MCF   Different  model types require different setup
217. s  loaded into OF exactly as written  the hex value xF is loaded into FA as xxxx1111  Fora  9 bit memory location  the binary value is loaded as 01010x0x1 and the hex value as  Oxxxx1111     OF  b1010x0x1   FA xF     Memory Image File  MIF  Address Mapping    Each record in a MIF file specifies an address followed by the data value to load at that  address  To translate the address in a MIF file to a column and row address  or vice  versa   follow the steps below   Or  if you have an Intel Hex or a Motorola S record  memory image file  you can use the mi_trans tool to translate the file into the format  used by memory models in the SmartModel Library  For more information  refer to     Translating Memory Image Files    on page 200      1  Use Table 5 to find the number of bits in the row and column addresses   Table 5  Bits in Row and Column Addresses                      Column  Device Size Row Bits Bits  4 MB 11 11  1 MB 10 10  256 KB 9 9  64 KB 8 8                   September 2001 Synopsys  Inc  77    Chapter 4  Memory Models SmartModel Library User   s Manual    2  Write the address in the memory image file  in binary  padding with leading zeroes  to get the correct number of bits  For example  with a 1 MB memory device  the  address 4834 hexadecimal expressed in 20 bits is     0000 0100 1000 0011 0100    3  Divide the bits into two sets  The upper number of bits is the row address and the  lower is the column address     00 0001 0010 00 0011 0100  The row address  in hex
218. s 58  locating installation directory 47  model installation directory 20  path to model  v files 129  selecting model versions 46  with backanno 191  LMC_PATH  checking with swiftcheck 209  displaying user defined timing files 49  glossary definition 218  locating custom timing files 67  selecting custom timing files 54  setting on NT 161  218  timing file search path 161    226 Synopsys  Inc     SmartModel Library User   s Manual    with backanno 191  192  load command 122  log command 120  Log files   transmitting 215  Logging models 213  Logic values 32   table of 32    M   Mapping   address  MIF files 77  MCF files   command descriptions 121   naming conventions 124  MDL Version Numbers 28  216  Memory   configuration  models 73   data  dumping 79   image files 74  Memory Address window 26  Memory Array window 26  Memory arrays   windows 25  Memory image files 74   format 75   see also MIF files 74   translating 200  Memory models 73  unprogrammed states 37  Memory Read Write window 26  Memory windows 25  in VSS 200  Menus   actions 64   bar 63   custom user  creating 48   docs 65   file 63   help 65   user 65   view 64  Messages       September 2001    SmartModel Library User   s Manual    trace  debugging with 153  mi_trans command 47  50  51  77  200   201  203  MIF files 74  address mapping 77  format 75  format checks 78  record syntax 76  translating 200  Model  history 215  history  descriptions 216  name  displayed in Browser at startup 49  Model Directory  getti
219. s 81  Propagation delays  assumed 168  calculated 169  selectable 35  ptm_make command 47  50  51  194  198    Q    quit command 120    R    Read cycle check  in SRAMs 37  Reconfiguration  model 36  report cause command 94  96  report effect command 94  95  Reports  causal tracing analysis 94  model  repairing errors from 60  models  dialog box 70  problem 213  saving  dialog box 71  status for models 32  rerun command 120    September 2001    SmartModel Library User   s Manual    Reset   models 35  return statement 151  run command 120    S    Save and restore operations 35  save design command 120  save mcf command 120  Scaling timing in SmartCircuit models 122  Scopes  constraint violation 97  SmartBrowser tool 112  SDF files 192  Selection pane 67  set bus bitOrder command 117  set bus delimiter command 117  set cause command 94  96  set help completion command 117  set illegalchars command 117  set listAll command 117  set range command 123  set saveMcf command 117  set scope command 118  set timing range command 118  set timing unit command 118  Settings  environment  LMC  58  Setup and hold  timing checks 37  show bus bitOrder command 117  show bus delimiter command 117  show doc command 118  show help completion command 117  show illegalchars command 117  show saveMcf command 117  show scope command 118  show timing range command 118  show timing unit command 118  show version command 118  Signals  values  SmartCircuit monitor 99    September 2001    Index    Simulati
220. s assumed       DELAYSCALE MTM 1 0  1 0  1 0     The application of the scale factors works such that the  MIN   TYP   MAX  I MTM    construct specifies the selected SDF source and the scale factor triplet specifies the  scaling that occurs for each SDF destination     The mapping of SDF source to selected SDF in Figure 23 is controlled by the MIN   TYP  MAX  and MTM arguments as shown below     MIN TYP MAX MTM    MS ts 445 Ge                                                                                                          Interconnect Statement    The Interconnect statement specifies where to place the SDF interconnect delay on the  model  From the model   s perspective  there are three possibilities  interconnect delays  can be placed on model inputs  model outputs  or can be ignored     Syntax   INTERCONNECT   RCVR I DRVR   MIN   MAX        Arguments    RCVR   DRVR  Specifies whether the interconnect delay is placed on the receiving  RCVR  or  driving  DRVR  port     RCVR MIN  Use the shortest path to any receiver  adding the delay to all receiving input ports     RCVR MAX  Use the longest path to any receiver  adding the delay to all receiving input ports     September 2001 Synopsys  Inc  189    Chapter 9  Back Annotating Timing Files SmartModel Library User   s Manual    DRVR MIN  Use the shortest path from any driver  adding the delay to all driving output ports     DRVR MAX  Use the longest path from any driver  adding the delay to all driving output ports     I
221. s exit value  Consequently  you can access the first returned value from a  command in either of two ways     read_d   0x03  0x12341100  WORD     read_value   retval 0      Or  you can use the following   read value   read d   0x03  0x12341100  WORD       Either method is appropriate to obtain the first value  All other returned values must be  accessed through the retval   array     Unknown Values    In many simulation environments  an    X    or some similar character in place of a  numerical value signifies that one or more bits of the digit are unknown  PCL cannot  interpret unknown values  and so converts them to zeros without issuing any warnings  or messages  If an HV model returns an unknown value to its PCL program  errors may  occur     The impact of this conversion of unknowns to zeros depends on the representation of the  returned integer and on a given simulator s mechanisms for handling unknowns  In the  following example  the ninth bit of a returned binary value is unknown  If this is  translated into hexadecimal by the simulator  the hexadecimal digit containing the  unknown becomes unknown  as follows     0000 0000 0000 0000 0000 100X 0000 0001 Binary  0 0 0 0 0 X 0 1 Hexadecimal  0 0 0 0 0 0 0 1 PCL conversion       The PCL program converts the hexadecimal value of X to 0  so the number in  hexadecimal becomes 0x001  Similarly  if the simulation environment represents this  value in octal  the octal digit containing the unknown becomes unknown  as follows   
222. s file  must be included in your PCL source file using the  include preprocessor statement     In form and structure  PCL looks very much like the C programming language  but  despite the obvious similarities there are important differences  Do not assume that a  PCL program will work just like a comparable C program  PCL includes the following  features     e A preprocessor with a limited set of directives that allows for the definition of  constants and macros  as well as the inclusion of files    e Variables and constants  data types are limited to integers  arrays of integers  and  pointers to integers     e User defined functions  e Program control statements  including loops and conditional logic    e Arithmetic and logical operators    Using PCL to Configure HV Models    The following procedure describes the basic steps required to configure an HV model  for logic simulation     1  Write a PCL program that directs the HV model to perform the desired set of  operations     2  Use the  include statement in the PCL program s Declarations section to specify the  model s command header file  model cmd      3  Compile your PCL source code using the compile_pcl utility     4  Configure your model instance to use the compiled PCL program via the SWIFT  PCLfile parameter or symbol property     134 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    PCL Program Structure    All PCL programs have a basic structure in common  In addit
223. s has not provided  you can create custom timing files to use in simulation   For more information  refer to    User Defined Timing    on page 159      gt  Note    Netlist driven SmartCircuit models do not support user defined timing     34 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 2  About the Models    Selectable Propagation Delays    All SmartModels support a range of propagation delay values to represent minimum   typical  and maximum specifications     Implementation Specific Model Features    The availability of some SmartModel features depends on whether they are supported in  your particular simulation environment  Consult your simulator documentation to  determine which of these capabilities are supported and how to access them  Following  are brief introductory descriptions of these implementation specific model features     Fault Simulation    Fault simulation allows concurrent evaluation of multiple faulty circuits in a design   The SmartModel Library supports this feature as an extension to the logic simulation  capabilities of SmartModels     Save and Restore Operations    If your simulation environment supports Save and Restore operations  you can save a  simulation state  then later restore the saved state to the circuit using the SmartModel  Library save and restore capability     Timing Check Control    Timing check control allows you to control the timing constraint checks issued during  simulation  By default  all SmartMod
224. s the PCL compiler to generate an error message     Parameters are optional  but the pair of parentheses following the function name is  required  Parameters are assumed to be of type int     The printf   Function  The PCL compiler supports the built in printfQ  function  The syntax is as follows   printf   format     data_args         The printf   function formats the data arguments according to the format specifications  and writes the result to the simulator as a    note    message  The function supports a  maximum of nine data arguments  PCL automatically handles declarations for this  built in function  so there is no printf   header file to include in your PCL program     September 2001 Synopsys  Inc  145    Chapter 7  Processor Models SmartModel Library User   s Manual    The format argument can contain plain characters  which printf   copies to the stream   and conversion specifications  Each conversion specification starts with a   character  and ends with an alphabetic character determining the type of conversion  Between the    and terminating character  you can use the two modifiers shown in Table 13     Table 13  Conversion Specification Modifiers       Modifier Definition            Left justify the argument to be converted                N Pad the field to this width  N characters        The printf   function recognizes the argument conversion types shown in Table 14   Table 14  Argument Conversion Types       Modifier Definition                d Decimal intege
225. sed  SmartCircuit models     To compile the new timing file into a model  invoke smartccn with the  u switch and  specify the name of the user defined timing UDT file  The  u switch directs smartccn to  use the timing contained in the specified UDT file     The following example causes smartccn to compile a new CCN file for the mach110  model using a UDT file called my_new_timing tt     o      smartccn sample jed  u my_new_timing tf  m mach110    90 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Debugging Tools Overview    SmartCircuit debugging tools work in conjunction with the models to help you verify  and validate your design at the back end system level  After your design has been  flattened  mapped  and fitted   to the point where the original structure is lost     SmartCircuit models and debugging tools help you visualize and fix design issues     The SmartCircuit debugging tools have four major components     e Causal Tracing  described on page 93    enables you to identify the source of  timing or functional problems for models of CPLD and FPGA devices  For  example  you can use causal tracing to locate the source of setup  hold  or pulse  width violations before running your simulation  Afterwards  you can trace a design  error or a constraint violation to its source and quickly determine if the error is in the  system or in the programmable logic design     e SmartCircuit Monitor  described on page 98    
226. see if a CCN already exists  If you invoke smartccn with  the load  source command in the MCF  or if you invoke the tool in standalone mode  with the  t switch  it compares the date and time stamps of the component files against  the date and time stamp of the CCN  If one of the component files is newer than the  existing CCN  smartccn automatically recompiles the CCN     Like the models  some SmartModel tools can exist in the library in multiple versions   One such tool is smartccn  The correct version of smartccn to use is controlled by the  model  You select only the model version  The version of smartccn is automatically  determined based on the model version in effect when you invoke the tool  For  information on selecting a model version  refer to    Selecting Models in  LMC_HOME     on page 46     Syntax    Run the smartccn tool from the command line as shown in the following example  Be  sure to enter the command  the required arguments  and any optional switches on a  single line       smartccn  m model_name source_file   switches     Arguments   model_name Specifies the model name for which you are compiling  a netlist or JEDEC file    source_file Specifies the name of the netlist or JEDEC source file    that smartccn is to read  Device manufacturers and  some third party vendors supply tools to produce  netlists that are back annotated for pin package and  timing information  Refer to the model datasheets to  determine the source_file formats required by  individua
227. ses smartccn to suppress the generation of  informational messages  but not warnings and errors      Causes smartccn to examine the time and date stamps  of all component files and recompile the design if the  existing CCN file is older     This switch can be used only for JEDEC models  It has  no effect on other model types  You use this switch to  specify use of an alternate  tf timing file     Returns the version of smartccn     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    CCN Output Files    During the translation process  smartccn produces a compiled configuration netlist   CCN  file  By default  the CCN file has the same name as the netlist or JEDEC file that  smartccn reads  but with the extension  ccn     When you use the default file name extensions for your netlist or JEDEC file  smartccn  replaces the extension with  ccn  but  when you use file name extensions other than the  default  smartccn appends  ccn to the name you specified  The compiler places the  output CCN file in the same directory as the netlist source file     You can use the  o switch to specify an output CCN file name other than the default   file ccn   This can be useful when you want to use a netlist or JEDEC file with a  nondefault file name extension  but you want the CCN file to use the standard naming  convention  The following example shows how to use the  o switch to produce a CCN  file with a different name       smartccn sample
228. specific model s memory array  for example  a 16K  x 32 bit memory     Supports read write access  Has a model specific name that is specified in the model datasheet  Has an initial value of    X     unknown     For example  in Table 1 the model mt581c64k18b2 has a 64k x 18 bit array named  MEM that has read write access     The Memory Address Window     Represents the array index   Has as many bits as needed to contain the binary representation of the array size  Is read only   Is named by appending    _addr    to the memory array window name     For example  in Table 1 the model mt581c64k18b2 has a 16 bit memory address  window named MEM_addr that has read only access     The memory address window is loaded with the appropriate index value each time  there is a memory array transaction  Thus  the contents of this window always  represent the index of the last location accessed by either a read or a write  In rare  cases where more than one array location is accessed during a single model  evaluation  the memory address window contains all Xs  unknowns   this is also the  initial value of the memory address window     The Memory Read Write Window     26    Represents the read write and access status  Is always 2 bits wide  Is read only    6    Is named by appending    _rw    to the memory array window name    Has an initial value of    1X       Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 1  SmartModel Library Features    For example  in Table 
229. st also conform to this format       Begin device declaration  DEVICE    lt device_name gt          MODEL  lt model_name gt   LIBRARY  lt library_name gt   PIN  lt pin_name gt   lt package_pin_number gt      C   O   1 B             END    End device declaration  Keywords  DEVICE  MODEL  etc   and pin names must appear in uppercase  while the  model name and library name must be lowercase  Device names are case insensitive     O   Hint    To create a new device declaration block  you will probably find it easiest to  copy and modify an existing block that you know is properly formatted    If you include multiple device declarations in an interface file  each declaration must use  unique device names  Ordering of pin declarations is not significant  A pound sign      at the beginning of a line signifies a comment  which the compiler ignores     You can determine the pin type by looking in the interface file for the declaration of a  device with the same type     Following are descriptions of the SmartCircuit interface   inf  file keywords     DEVICE   device_name  Specifies the name of the device as it appears in the netlist file  for example   3020PG84 or 2064pc68      END  Signifies the end of a device declaration  required      MODEL model_name  Specifies the name of the model     102 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    LIBRARY vendor_cell_library  Specifies the name of the device model library     PIN pi
230. t package type  Multiple  pin_number values indicate a gate description where the values represent the pin  numbers of each gate of the physical package     September 2001 Synopsys  Inc  197    Chapter 10  Library Tools    SmartModel Library User   s Manual    Example PortMap File    The following sample shows part of a PortMap file generated by the ptm_make tool for  the pal22v10 model  Ellipses       indicate places where information has been removed  to conserve space       VERSION          FUNCTION  prog_   SUBFUNCTION  pal24    MODEL  pal22v10             RANGE   MAX          MODELFILE   PLD  PACKAGE   DIPO  PIN_COUNT   24  DEVICE COMP   AMPAL22V10 1                   DEVICE COMP   AMPAL22V10 1       Llogic_devices    5DC   AmPAL22V10 15  5DCB   AMPAL22V10 15          DEVICE COMP   TICPAL22V 1                      OMJT   TICPAL22V10M                   MODEL_PORT   IN8  IN  10             MODEL_PORT IN9 IN 11                         DEVICE COMP    PACKAGE   F LP 0  PIN_COUNT   24    DEVICE COMP   TICPAL22V1 OMNT   TICPAL22V10M  MODEL_PORT   COFBO   IXO  23  MODEL_PORT   COFBO    XO   22    AMPAL22V10    20BKA   AmPAL22V10 20             DEVICE COMP       PALCE22V10H 30 BKA   PALCE22V10H 30             DEVICE COMP       MODEL_PORT   COFBO   IXO  23    MODEL_PORT  IN9 IN 11  PACKAGE   LCCO  PIN_COUNT   28       AMPAL22V10 15JC   AMPAL22V10 15             DEVICE COMP             TIBPAL22V10MFK   TIBPAL22V10M                198    MODEL_PORT   COFBO   IXO  27    MODEL_PORT   
231. t scope and all SCV states     assign window instance name  Assigns a window to all nets attached to the specified instance     assign window net name      nameN     bus_name    Defines a window definition for the specified net  The optional   bus_name  parameter lets you bus the specified elements together     assign window net name  gt  bus_name  Defines a window for the specified net  looks for all related elements that could be  buses to the specified net  and buses the found elements together     assign window state name       nameN      bus_name    Defines a window definition for the specified net  The optional   bus_name  parameter lets you bus the specified elements together     assign window state name  gt  bus_name  Defines a window for the specified net  looks for all related elements that could be  buses to the specified net  and buses the found elements together     Examine Commands    The following examine commands can also be issued through the SWIFT command  channel     examine instance instance_name  Displays detailed information about the specified instance and all instance specific  data     September 2001 Synopsys  Inc  115    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    examine net net_name  Displays details about the specified net     examine port port_name  Displays details about the specified port attached to the current cell scope     examine state state_name  Displays details about the specified state attached to the curr
232. t2mif 202   Command  completion 113  header file 138   Commands 112  115  120   EXE 51   MOD 51   PLT 50  alias 120  aliasing 113  analyze cell 114  analyze design 114  analyze hierarchy 114  assign monitor instance 114  assign monitor net 114  assign monitor state 115  assign window auto 115  assign window instance 115  assign window net 115  assign window state 115  bus 121  ccn_report 22  47  90  92  98  cnvrt2mif 202  compile_pcl 133  134  154  155  compile_timing 22  47  160  163  165    167  170  181   do 122  echo 122  examine instance 115  examine net 116  examine port 116  examine state 116  examine timing 116  help 122  list all 116  list cells 116  list instances 116  list mcf 116    222 Synopsys  Inc     SmartModel Library User   s Manual    list nets 116   list pin Interface 116   list ports 116   list states 116   list timing 117   load 122   log 120   mi_trans 47  50  51  77  200  201  203   ptm_make 47  50  51  194  198   quit 120   report cause 94  96   report effect 94  95   rerun 120   run 120   save design 120   save mcf 120   set bus bitOrder 117   set bus delimiter 117   set cause 94  96   set help completion 117   set illegalchars 117   set listAll 117   set range 123   set saveMcf 117   set scope 118   set timing range 118   set timing unit 118   show bus bitOrder 117   show bus delimiter 117   show doc 118   show help completion 117   show illegalchars 117   show saveMcf 117   show scope 118   show timing range 118   show timing unit 118   show versio
233. tance based timing allows you to refine timing characteristics that might affect only a  particular instance of a model  For example  you could use instance based timing to  back annotate interconnect delays into a simulation     As an example  consider a design that contains multiple ECL 10H101 gates  each with a  typical propagation delay of 2 ns  The interconnect delay  printed circuit board trace  length  may be 1 5 ns for instance U101 and 3 0 ns for instance U135  With  instance based timing  you could add the interconnect delay into your simulation by  defining a U101 instance based timing of 3 5 ns  2 0 ns from the gate  1 5 ns from the  interconnect  typical propagation delay  and a U135 instance based timing of 5 0 ns  delay     Timing File Search Rules    Each model instance gets its timing information from a timing data file  Because you  can have many timing data files  models follow prescribed search rules for locating a  timing version  The rules are simple  a list of directories is searched until a match is  found  That is  timing data files in the first listed directory are searched before timing  data files in the second listed directory  and so on     160 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    The timing information in any timing data file can be specified by component name and  by instance name  both can exist in the same file   This is specified by the case selector  in the timing data file  k
234. ter 4  Memory Models SmartModel Library User   s Manual    The size of the dump file is minimized by filtering data that remains in its initial or  power up state  and by writing out only one data line for contiguous addresses that  contain the same data value  For example  consider the following memory contents     8 bits wide     Addr  Addr  Addr  Addr  Addr  Addr      O OGOOGO  N    111111  5   1100X1X0       rOoOWN H O                All other addresses contain an initial value of X   The dump file contents would be   0 3 0  8 FF  F  b1100X1X0     TS Note    If you subsequently load the dump file for the same instance of a memory  model  you are guaranteed to put the memory back in exactly the same state  it was in when it was dumped     80 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 5  PLD Models    9    PLD Models    Configuring PLD Models    Like the actual devices  Programmable Logic Device  PLD  models in the SmartModel  Library are programmable  To configure a PLD model  you use a JEDEC standard file   PLD models check their initialization files when loaded for simulation  as shown in  Figure 10        JEDEC File  Creation                Figure 10  Process Flow for PLD Models    September 2001 Synopsys  Inc  81    Chapter 5  PLD Models    SmartModel Library User   s Manual    Like all models in the library  PLD and PAL models provide error checking during    simulation     Each PLD model datasheet contains a port name to pin number cr
235. that equals the first two characters of the  command  For example  you can abbreviate the command    set scope    to    se sc        112 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models     gt  Note    When using the SWIFT command channel to issue a SmartBrowser trace  command  you must abbreviate the command to    tr        Command Aliasing    The SmartBrowser tool supports command aliasing  which is similar to the command  aliasing capability in UNIX  Aliasing enables you to provide shortcut names for  SmartBrowser commands  combine multiple commands into a single alias name  define  switch names for command keywords  and rename commands so that they are easier to  remember     Command Completion    Many of the SmartBrowser interactive commands require that you supply one or more  keywords with the command  as well as an argument that identifies the element you  want to work with  If you do not supply all the necessary keywords  or the argument   the SmartBrowser tool prompts you for the missing information  If you want to clear  the command  press the Return key until you get the SmartBrowser command prompt  back     Command completion is particularly helpful if you cannot remember a command s  syntax or if you type the command incorrectly  Note that command completion is  disabled when using the SWIFT command channel     SmartBrowser Command Reference    The following lists provide brief descriptions of the SmartBrows
236. them for use in  your simulator  refer to the Simulator Configuration Guide for Synopsys Models       Generate a design netlist or JEDEC file     Using the design tools provided by the device manufacturer or third party vendor   generate a netlist or JEDEC file for your design  Refer to the model datasheet for  information on the required netlist format or JEDEC file for your device       Create a model command file  MCF      An MCF file is an ASCII file that contains instructions the model executes at  startup  Your MCF can have any name you choose  but the convention is to give  these files  mcf extensions for consistency     Using an ASCII editor  create and save a file that contains the following line   load  source netlist_name  where netlist_name is the path to the netlist or JEDEC file you generated in Step 2     For example  if your netlist is named sample edo  use the following command in  your MCF file     load  source sample edo    The model automatically loads the specified netlist and translates it into a compiled  configuration netlist  CCN   if necessary       Verify or change the model s SCFFile parameter     To use a SmartCircuit model in a simulation  set the value of the SCFFile parameter  to the path name of the model s MCF file  This can be done in one of two ways     o Edit the parameter value to use the name of the MCF you created in Step 3    Or     o Assign your MCF file the same name as the current value of the SCFFile  parameter     September 2001 S
237. timing of  the simulation     Verilog HDL implements this operation as  sdf_annotate task  while at least one VHDL  implementation uses command line arguments  It appears that VHDL is less  configurable and is a subset of the Verilog implementation  Most Verilog and VHDL  capabilities are addressed     Syntax   ANNOTATE SDF File InstScope custom_parameters     Arguments    SDFFile  The complete path to the SDFFile     InstScope  The hierarchical reference specifying the module instance  Verilog  or design  region  VHDL  scope for application of the SDF file     custom_parameters  Optional settings that customize the handling of timing values in the SDF file   These are     o delay_scaling  o delay_selection    o delay_application    O    process_reporting    September 2001 Synopsys  Inc  187    Chapter 9  Back Annotating Timing Files SmartModel Library User   s Manual    The SDF format can contain either one or three  minimum  typical  and maximum   values  The model   s compiled time files contain min  typ  and max values  Models can  be configured by the simulator to use either min  typ  max  or a combination version   MTM  during simulation  As shown in Figure 23  delay scaling is applied to the SDF  delay values prior to their usage  The scaled delay selection is applied to create the  model   s compiled time file  The model   s DelayRange parameter selects the model   s use  of minimum  typical  or maximum timing delays during simulation    Three SDF value case    Select
238. timing versions to display    Print   Opens the Print dialog box  available only on NT platforms      Print Preview  Opens the Print Preview  available only on NT platforms      Print Setup    Opens the Print Setup dialog box  where you can select a default or user defined printer    This menu item is only available on NT platforms      September 2001 Synopsys  Inc  63    Chapter 3  Browser Tool SmartModel Library User   s Manual    Exit  Ends the active Browser tool session     View Menu  The View menu has the following options   Display by Timing Version Name  Displays an alphabetical list of timing version names from models in the LMC files     Display by Model Name  Displays an alphabetical list of model names from the LMC files     Show Model Names  Displays the model name associated with each timing version name       Expand Model    Expands the models by displaying hierarchical trees of the available timing versions for  each selected model  You can do the same thing by clicking on the model icons     Expand All    Expands all models by displaying hierarchical trees of the available timing versions for  all models     Collapse Model    Hides the timing versions for the selected models  You can do the same thing by  clicking on the icons of the expanded models     Collapse All  Hides the timing versions for all models     Actions Menu    The Actions menu has the following options     Display Datasheet    Displays the datasheet for the selected model or a timing version 
239. trace the causes of  a problem to their roots  You can use the causal tracing capability to do just that     Throughout this discussion of causal tracing  we often use the terms parent event and  child event  Parent events and child events have a cause and effect relationship  some  stimulus or circumstance on the parent event causes the child event to occur  An event  that was caused by a preceding event  and in turn causes another event  is both a parent  and a child at the same time     Causal tracing consists of two commands  set cause and report  These commands have  several forms you can use to define the scope of event tracing and produce reports  detailing the cause or effect of an event  Report output appears in the model message  transcript     The signal values displayed within causal tracing are the same as those displayed by the  monitor command  These signal values are described in Table 8 on page 99     September 2001 Synopsys  Inc  93    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    Causal Tracing Command Descriptions    Following are summaries of the causal tracing commands that you can put in the  model   s MCF file  For causal reporting purposes  when events occur simultaneously at  a circuit element  only one event is determined to have caused any subsequent circuit  changes     e report cause   produces a list of parent events of the triggering event on a net or  port that occur between start_time and stop_time     e report eff
240. ts    PCL program control statements specify or determine the next statement in the program  to evaluate  The program control statements available in PCL are     e break   e continue  e do   e for   e if   e return    e switch    e while    The break Statement    The break statement terminates execution of the most recent enclosing while  do  for  or  switch statement  Control passes to the first statement following the terminated while   do  for  or switch statement     break     The continue Statement  The continue statement passes control to the next iteration of a do  for  or while loop   continue     The remaining statements in the current iteration of the loop body are not executed     The do Statement    The do statement is a loop that executes the associated statements once  and then  evaluates an expression to determine whether to continue or exit the loop  The syntax  iS     do  statements  while  expression      If the expression evaluates to true  a nonzero value   the loop statements are executed  again  otherwise  program flow continues to the next statement following the loop  Note  that the statements inside the body of a do loop execute at least once     150 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 7  Processor Models    The for Statement    A for loop executes its associated statement the number of times specified by the entry  expressions  The syntax is     for  init_expr  cond_expr  loop_expr   statements     The init_exp
241. tyle identifier syntax are supported  By default  the  identifiers in the configuration file are treated as case sensitive  However  the     i     command line option causes the backanno tool to treat the identifiers as case insensitive   Also  escape identifiers are allowed in both Verilog format     such as       AMY MODULE     and VHDL format     such as     MY_MODULEY        Sample Configuration File    The following is an example of a configuration file  To see how the sections in the file  tie together  you can refer back to this example as you read further     This file is for a simulation session containing two SmartModel instances  I 1  I 4  of  the ttl08  The model was generated from compiled Verilog with a vector input IN split  into scalar ports I1 and I2      MODEL TTLO8    PORTMAP   I1 IN 1       I2 IN 2         INSTLIST   I 1 CD74AC08      I 4 SN74LS08                   LMC_PATH   run16       ANNOTATE new sdf Top_ Level     DELAYSCALE MTM 1 0  1 0  1 0      DELAYRANGE MTM                     INTERCONNECT RCVR MAX    LOGFILE sdf log           September 2001 Synopsys  Inc  185    Chapter 9  Back Annotating Timing Files SmartModel Library User   s Manual    MODEL Section    The Model section consists of one or more model entries  There must be a model entry  for each model in the design that is to be back annotated  Each model entry can define  optional port mapping and must declare one or more model instances     Syntax   MODEL modelName  port_map  instance _list
242. uency  pulse width  and  recovery times specified in the semiconductor vendor   s specifications  Timing checks  generate a single value   they do not have a range and thus are not affected by the  propagation delay range     For example        ERROR  PULSE WIDTH on CLK  High  was 1 0 ns  10 0 ns is the specified  minimum   DEMO68K PAL16L8A 2MJ 167P   MMI_16L8A COM   at 12201 0 ns   Nominal and Worst Case Specifications for Timing Checks    In cases where a manufacturer specifies both nominal and worst case values for a timing  parameter  the model always uses the worst case specification     Turning Off Timing Checks  You can turn off timing checks using any of the following methods     e Through the SWIFT command channel with the SetConstraints ON   OFF command   not available for FlexModels      e Using a simulator command implemented by the vendor  Note that this method may  not be available  refer to your simulator documentation for information about  turning timing checks on or off for SmartModels     e With explicit settings in a user defined timing file     Handling of Unknowns    SmartModels make the most of each simulation by generating or propagating unknowns  only when necessary  When appropriate  a model issues a warning message rather than  propagating an unknown  This pessimistic unknown handling can preserve the  usefullness of a simulation     User Defined Timing    Most SmartModels support user defined timing  If you need a model timing version  that Synopsy
243. uescaeesasavcusds T71  JEDEC Standard 3 A Fields and Their Uses in PLD Models             82  Windows and Monitors Tool Comparison      4 464624s000se0seeen we 97  Monitor Sisnal Values 645 h4 eset sande aeaes dines S4ekwn ee nweases 99  Comparison of HV and Full Functional Processor Models             132  PELE OOS ann ae a ae eee ee moe RA a Era ce ae 140  ig OS 1 5   Se ee ee ee er ee eee eee eee ee ee eee ee ee 142  PCL Operator Precedence and Associativity  c s 4ess4essies 65005 144  Conversion Specification Modifiers 42 6 466i 6645s H44 Sod eee ed 6 146  Argument Conversion Types 66 0 i568 646 R 04a SSO ERs He sierra 146  Derived Propagation Delay Values   44 465454 s4e kb ooh Se Kha ess bases 168  CIS VAIS ie ho he Dg bs ee ae a eee es 178  Tie Umit Vanes co  oh 95 445 005 0669S SES REUSS SSERLER TRAE SOA 180  Gli 2 Execution Status Values  44c0eesiavceneeicesiicoeousys 203    September 2001 Synopsys  Inc  11    Tables SmartModel Library User   s Manual    12 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Preface    Preface    About This Manual    This manual contains user and reference information for SmartModel Library users   The focus is on how to use the SmartModel simulation models and tools  This manual  does not contain information about installing the library   that information is presented  in the SmartModel Library Installation Guide     Related Documents    For general information about SmartModel Library documentation  or to navigate t
244. ur simulator  Some  simulators might allow as few as 256 characters in a message string  thus  limiting the number of monitor statements you can use     Let   s take a look at an example based on the sample circuit shown in Figure 12  To  monitor an element  you include a monitor command statement in the model   s MCF file   For example  if you want to monitor input nets OE  Al  A2  and CLK   internal nets  N3   N8  and output nets Y and Q  the command in your MCF would look like this     monitor OE Al A2 CLK N3 N4 N5 N6 N7 N8 Y Q    98 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    When you start your simulation and load the MCF file  monitors are assigned to the  elements specified on the command line     To make the report easier to read  place a label at the beginning of each line of the  report  Use the set label command  from within the MCF file  to specify the string  For  example  to specify the label    SAMPLE gt         set label SAMPLE gt   The complete MCF file for our example would look like this     load  source sample edo  set label SAMPLE gt   monitor OE Al A2 CLK N3 N4 N5 N6 N7 N8 Y Q    You can also assign monitors using the Visual SmartBrowser or the SmartBrowser  For  information on using the Visual SmartBrowser  refer to the Visual SmartBrowser User s  Manual  UNIX version or NT version   For information on using the SmartBrowser  tool  refer to    Browsing Your Design Using SmartBrowser    on pa
245. uration netlist   ccn  file and     Follow connectivity between all circuit objects    List circuit objects    Examine specific circuit objects    Modify and save circuit properties    Create window and monitor definitions    Map illegal characters to valid strings    Run command files and save log files    You might choose to use one tool or the other based on your preference for command   line tools like the SmartBrowser that can be used in batch mode with shell scripts or  GUI tools like VSB that provide a more intuitive interface and superior visual display of  design netlist information  You might also opt to issue SmartBrowser commands  interactively in your simulator session  as described next  rather than using one of the  browsing tools in a separate window     108    Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models    Issuing SmartBrowser Commands Interactively    Most SmartBrowser commands can be issued through the SWIFT command channel   The command channel is a handy way to issue SmartBrowser commands interactively  during your simulator session to any SmartCircuit model instance in your design  When  you use the command channel you don   t have to open a separate window and search for  your design netlist before returning to your main task of probing and verifying a design  in a simulator session  The ability to interact directly with any SmartCircuit model in  your design is the primary reason to use the co
246. ust come before Pin2    skewmax   Maximum skew  This is the same as ts  but the error message is  different     pwmin   Minimum pulse width  where Pin1 pulse width high or low must be  greater than or equal to the specified value     pwlmin   Minimum pulse width low  where Pinl pulse width low must be  greater than or equal to the specified value     pwhmin   Minimum pulse width high  where Pin  pulse width high must be  greater than or equal to the specified value     pwmax   Maximum pulse width  where Pin  pulse width high or low must be  less than the specified value     pwlmax   Maximum pulse width low  where Pin  pulse width low must be less  than the specified value     pwhmax   Maximum pulse width high  where Pin1 pulse width high must be  less than the specified value     fmin   Minimum frequency  where Pin1 frequency must be greater than or  equal to the specified value     fmax   Maximum frequency  where Pin1 frequency must be less than the  specified value     Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 8  User Defined Timing    o permin   Minimum period  where Pin  period must be greater than or equal to  the specified value     o permax   Maximum period  where Pin  period must be less than the specified  value     Pinl  Specifies the input pin or bus     Edge  Optional element whose value can be either Ih  low to high  or hl  high to low    The timing check occurs only if the pin makes the specified transition     Pin2  Same as Pin
247. ut unneeded pins  because the smartccn netlist compiler requires the number  of pins to match the model specification  240 in this case   Here  we assigned the  unneeded pins to false pin numbers of 900 and above  as shown in the following edited  version of the interface file   Note that the ordering of pins is not significant   The user  edits to the original  inf file in the following example are highlighted       Edited inf file   DEVICE XCS30 3PQ240C s30xlpq208 4   MODEL xcs30_240   LIBRARY xilinx   LIBRARY simprims     PIN  lt symbol_pinName gt   lt package_pinNumber gt   lt pinType gt                    September 2001 Synopsys  Inc  103    Chapter 6  SmartCircuit FRGA Models    104      where pinType is either  I nput   O utput                                                                                                                                                                                 C onfigurable  PIN CCLK 155 C  PIN DIN 153 C  PIN DONE 104 C  PIN ERR_INIT 77 C  PIN HDC 56 C  PIN LDC 60 C  PIN MODE 52 I  PIN PAD2 206 C  PIN PAD3 205 C  PIN PAD4 204 C  PIN PAD5 203 C  PIN PAD6 202 C  PIN PAD7 201 C  PIN PAD8 200 C  PIN PAD9 199 C  PIN PAD10 198  PIN PAD11 197  PIN PAD12 196  PIN PAD13 194  PIN PAD14 193  PIN PAD15 900  PIN PAD16 901  PIN PAD17 191  PIN PAD18 190  PIN PAD19 189  PIN PAD20 188  PIN PAD21 187  PIN PAD22 186  PIN PAD23 185  PIN PAD24 184  PIN PAD25 181  PIN PAD26 180  PIN PAD27 179  PIN PAD28 178  PIN PAD29 177  PIN PAD30 176  PIN PAD31 17
248. x or click on the Close button to dismiss it  The list box in  the Browser window displays a list of models and timing versions that meet the  filtering criteria  The status pane displays the number of models and timing  versions found     Copy Customizable Files Dialog Box    The Copy Customizable Files function opens the Copy Customizable Files dialog box   Use it to copy a model s timing file  or other customizable file  to your directory for  customization  For information about customizing timing files  refer to    User Defined  Timing    on page 159     To copy a customizable file  follow these steps     1  From the selection pane  select the model or timing version whose timing file or  other customizable file you want to copy     2  From the Actions menu  choose Copy Customizable Files  The Copy Customizable  Files dialog box opens  All customizable files for that model appear in the dialog  box     3  If the file you want to customize is not already selected  click on its check box     September 2001 Synopsys  Inc  69    Chapter 3  Browser Tool SmartModel Library User   s Manual    4  In the To Destination Directory text field  type the full path name of the directory  where you want the file to be copied     5  Click on the Copy button     Model Detail Dialog Box    The Model Detail function opens the Model Detail dialog box  Use it to get information  about a specific model  such as its configuration file  installed versions  timing versions   and installed platfor
249. xternal  output signals without reference to the internal clock     To accurately model the internal behavior of such a device  the model timing is specified  relative to the internal clock  For example  in the model of the Intel 87C51FA 8 bit  microcontroller  timing is specified relative to the internal clock  XTAL2   These  timing values are derived from Intel s data   the values faithfully reproduce the  relationships among external signals as they are described in the vendor   s datasheet     The internal clock to output timing relationships are modeled to approximate the  vendor   s output to output timing specifications  If you need to duplicate individual  vendor specifications  you can use the user defined timing feature of the SmartModel  Library  but note that there is no way to model the complete set of vendor timings  simultaneously     Modeling Assumptions    In most cases SmartModel Library models represent all of a device   s functional  behavior  but there are exceptions  Sometimes a manufacturer does not quantify a  component parameter or a model is designed in cooperation with a vendor before the  actual device is available in silicon  In addition  there are some device capabilities that  do not make sense in the context of logic simulation  because the chip   s electronic  environment is not the same as a simulation environment  The electrical programming  of an EEPROM is a good example  programming voltage levels do not exist in logic  simulation     In s
250. y  other required design specific options   Refer to the individual SmartCircuit model  datasheets for information about the design netlist or JEDEC file format required for a  specific model      SmartCircuit models also obtain vendor specific functions from a cell library  for  example altera ccl  that is based on device families from semiconductor vendors such as  Actel  Altera  Vantis  Lucent  Cypress  Intel  Lattice  QuickLogic  and Xilinx     The smartccn tool uses inputs from both of these sources to produce the complied  configuration netlist  CCN  file needed to configure a SmartCircuit model for  simulation  You can also use the smartccn tool to generate other files  such as pin map  files   pmp   For more information  refer to    smartccn Command Reference    on   page 124     You can later extract information from the CCN file using the ccn_report tool  the  SmartBrowser  or the Visual SmartBrowser  VSB   For example  you can generate a  windows definition file  which allows you to monitor internal nets within your design     As illustrated at the bottom of Figure 11  the simulator loads the model  which  configures itself based on commands found in the MCF file     User Defined Timing for JEDEC based Models    If you have created a timing file that contains timing specifications that are newer than  those shipped with the model  you can compile the netlist with the more recent timing  information  Note that the user defined timing feature only works with JEDEC ba
251. y 26  Memory Read Write 26  memory  in VSS 200  predefined elements 25  SmartModel 24  35    Synopsys  Inc  231    Index SmartModel Library User   s Manual    232 Synopsys  Inc  September 2001    
252. y User   s Manual     gt  Note    To see all of the timing versions and components supported by any model in  the library  review the model   s datasheet     Model Versions    Model versions have the five digit format xxyyy  for example  01001   where xx  designates a major revision and yyy designates a minor revision  This five digit version  number appears on all model datasheets  Look in the banner section at the top of the  datasheet for this key piece of information     Tool Versions    SmartModel Library tools are also versioned and use the same numbering scheme as  models  For some SmartModel Library tools  called model versioned tools  the version  of the tool to use is determined by the model  You cannot change the versions of  model versioned tools because a particular version of a model may depend on a specific  tool version to function properly  Examples of model versioned tools include  compile_timing  ccn_report  smartbrowser  and smartccn  For other SmartModel  Library tools  called user versioned tools  you select the version of the tool to use via the  default and custom configuration  LMC  files     TS Note    For information on selecting specific model and tool versions  refer to     Selecting Models in  LMC_HOME    on page 46 and    Selecting Tool  Versions    on page 47     SmartModel Types    There are two basic types of SmartModels     e Full functional Models  FFMs  simulate the complete range of device behavior   Most SmartModels fall into this catego
253. ynopsys  Inc  87    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    1  Run your simulation     SmartCircuit Technology Overview    SmartCircuit technology uses a hierarchy of cell descriptions to model a family of  FPGAs or CPLDs  Each cell provides logic building blocks that map to specific  functions of the device  The cell descriptions for a device family are combined into a  cell library for that family of devices     Figure 11 illustrates the typical data flow for a SmartCircuit model  boldfaced items  indicate tools or files supplied by Synopsys     88 Synopsys  Inc  September 2001    SmartModel Library User   s Manual Chapter 6  SmartCircuit FPGA Models       Single CPLD  device ina  user   s design                            ps              Design  Database                Third Party netlist    generation tool        Family cell library Netlist JEDEC Generic cell library   family ccl  file  base ccl     Pin Map file CCN file   design pmp   design ccn     Model Command File Mode  SmartBrowser   design mcf     load design ccn    EDA Simulator    Figure 11  SmartCircuit Model Data Flow       September 2001 Synopsys  Inc  89    Chapter 6  SmartCircuit FRGA Models SmartModel Library User   s Manual    At the top of Figure 11  starting with a single FPGA or CPLD device you have  instantiated in your design  you use the device manufacturer   s  third party  compiler  tool to generate an FPGA design netlist or a JEDEC file for the model along with an
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
PURE RUN 1.1  Loan Syndication User Manual  Lecture : Donner son avis, avoir « les mots pour le dire »  Targus Trademark DVD Player Case  ハンドグリースガン取扱説明書    Copyright © All rights reserved. 
   Failed to retrieve file