Home
        PowerMill User Guide
         Contents
1.               2 49 414 0 89 0 89 top_xsr34x22 x1165  aa a arises 2  0 031295  0 00  0 00 top_xsr34x22 x1170     2 0 0 00 0 00 top_xsr34x22 x1168                 2 0 0 00 0 00 top_xsr34x22 x1159  BLOCK top  RMS POWER    LEVEL POWER PERCENT OF PERCENT OF CHILD BLOCK NAME    uW  PARENT TOP               0 25053 100 00 100 00 top  SF aoe 1 25053 100 00 100 00 top xsr34x22     ka 2 14856 59 30 59 30 top  xsr34x22 x1161             2 8329 2 33 25 33 25 top  xsr34x22 x1164  a nm   2 6077 24 26 24 26 top xsr34x22 x1166  a eae 2 5702 9 22 76 22 76 top_xsr34x22 x1162  SE sees 2 4995 3 19 94 19 94 top xsr34x22 x1163  AKA 2 4796 9 19 15 19 15 top xsr34x22 x1158  Ba ere eee  gt  2787 9 T143 11 13 top xsr34x22 x1167  KABA 2 2331 9 Foal 9 3  top xsr34x22 x1157             2 PAT 39 5 88 5 88 top_xsr34x22 x1160                  2 1141 1 4 55 4 55 top_xsr34x22 x1169  See eee ee 2 602 31 2 40 2 40 top xsr34x22 x1165  PIE 2 9 3168 0 04 0 04 top  xsr34x22 x1170                  2 0 0 00 0 00 top_xsr34x22 x1168                   2 0 0 00 0 00 top_xsr34x22 x1159             Appendix B    Using Shared Memory       Many 32 bit machines limit the virtual memory space to 2GB  If  you need to simulate a very large circuit that requires more than  2GB of memory  you need to set the EPIC USE SHM  environment variable before running PowerMill     EXAMPLE   setenv EPIC_USE_SHM          This setting causes the simulator to allocate memory from a  region that is shared by all the processes running on your  ma
2.         2 81 777 5 32 Bb  32 xsr34x22 x1163 top  a aa 2  57 569 3 74 3 74 xsr34x22 x1157 top  a a 2  52 966 3 44 3 44 xsr34x22 x1160 top               2  42 359 2 75 2 75 xsr34x22 x1169 top               2  5 8502 0 38 0 36 xsr34x22 x1167 top  Ca SETA 2 0  0086932 0300  0 00 xsr34x22 x1170 top  kA ERE 2 0  0 00  0 00 xsr34x22 x1165 top  a 2 0  0 00  0 00 xsr34x22 x1168 top  LA 2 0  0 00  0 00 xsr34x22 x1159 top             Figure 4 Sample supply current report  from the  power file     In addition  you can generate a block level waveform and current  histogram for each of the sub block reports  For details  see the  PowerMill Reference Guide  and    Working with Probes    on   page 100     Assigning Power Budgets    You can use PowerMill to assign power current budgets to blocks  created with the report_block_powr command and monitor  those blocks for violations     You will need to use the set_block_budget command to do this     EXAMPLE 17     report_block_powr top    set block budget max_avg_src 100uUA max_inst_src 1mA  top    PowerMill User Guide    94 Chapter4 Power Analysis    This pair of commands creates a block labeled top which consists  of the entire circuit  and assigns current budgets of 100 uA for  the average supply current  and 1 mA for the instantaneous  supply current     Violations of the assigned budgets are reported as errors to the   err file and reported to the  power file  See Appendix A for a  sample  power file     You can assign budgets to the instan
3.         Access display Access to    of netlist pa analysis tools Error  amp  Warning messages  hierarchy    Figure1 PowerMill GA main window       Setting Up for a Simulation 207    Setting Up for a Simulation    Your next set of steps involves specifying the design data  setting  up multiple supply nodes  and specifyi ng the blocks you want to  simulate     First  click the Simulation Setup button to bring up a dialog  box that lists a set of simulation setup forms  see Figure 2      H Simulation Setu p    Design Data Setup  Power Diagnosis Setup          Dismiss          Figure 2 Simulation setup form    Specifying Design Data    To start specifying design data  click the Design Data Setup  button in the Simulation Setup form     The Design Data Setup form appears  Enter the following  information either manually or using the Browse    button when  applicable     Work File  powrmill wrk   Netlist Files  adder4 ntl adder4 cmd  Tech File  tech typ 25c 5v  Simulation Time  300    Figure 3 shows the completed form     PowerMill User Guide    208 Chapter8 PowerMill Graphical Analyst Tutorial    To save your changes and close the Design Data Setup form   dick OK     NN aaa       adderd ntladderacmd Browsen    Tar  CE HY  Cy    aaa   EE    Give any other command line options and filenames  You may use this to provide  your own configuration files        Figure 3 Design data setup form    Setting Up the Power Supply and Blocks    The next step is to set up the power supplies and sp
4.    1 Enable GAP customization by specifying the fit 3 or fit 4  option with the guide gap search configuration command   Fit 3 applies a function based on the peak average value per  clock cycle while fit 4 applies a function based on peak  instantaneous value     2 Inan ADFMI C file  create a regular C function with type  double and void argument     Using the GAP Feature to Estimate Maximum Power 109    The GAP estimation will use the value returned by this C  function as the objective to be maximized  The following  table lists the types of arguments you can use to define the  fitness measure in your C function                                            Number   Type Argument Name  1 Node Voltage v node_name   2 Node Logic I node name   3 Node Current inode node name   4 Pin Current ipin pin_name   5 Branch Current ibranch_num elem_name   6 Block Power p block label   7 Probe Current iprobe probe_ name   8 Math Signal m signal label   EXAMPLE   fmRegisterGap  1 cinl  ipin xll ain  v cinl   p x11 m dot    fitness      This example specifies that a total of five arguments   1 cinl  ipin x11 ain  v cinl  p x11  andm dot    to be used in the customized objective function for  PowerMill s GAP feature  It also specifies    fitness    as the  function pointer to the customized obj ecti ve function  defined  in the ADFMI C file      You can access the value of an argument either by name   usi ng the fmGapGetValueByName   API function  or by ID  usi ng the fmGapGetValueB yl D   fun
5.   PowerMill s GAP   Genetic Algorithm for maximum Power estimation  feature  combines a genetic algorithm with advanced circuit simulation  techniques  to efficiently search for input vectors to maximize  the power dissipation of a given circuit  You can use the GAP  feature to generate a tight lower bound on the maximum power  of a given circuit  which you can use to analyze various design  issues  power management  for example      The GAP feature is able to maximize four objective functions   m Average power per clock cycle of the circuit  m Instantaneous power of the circuit    m Average value per clock cycle of the customized fitness  function    m Instantaneous value of the customized fitness function    The usage model for GAP customization  which involves the last  two object functions  is illustrated in tutorial 7     For combinational circuits  the maximum power  instantaneous  or average  is produced by two vectors  referred to as a vector  pair  applied in two consecutive clock cycles  The first vector sets  up states of the internal nodes of the circuit  The power is  measured in clock cycle ll     The GAP feature keeps a specific group of vector pairs as  candidates for maximizing power dissipation  The quality of each  vector pair is measured by the power consumption it produces   Using a genetic algorithm  the GAP feature repeatedly improves  the quality of the vector pairs  in the group that was kept   generation by generation until the result is recognized b
6.   Specifying Design Data          0 0 0    cc ee 207   Setting Up the Power Supply and Blocks                     208   Specifying Diagnosis Checks           0 00 000 ees 213   Running the Simulation         4 0 0 00  e ee 214  Analyzing Results           ea aiae ia i aa te 215   Viewing Histogram Information    216   Viewing the DC Paths        2    0 0    218   Viewing the Power Diagnostics           a  219   Appendix A  Sample Power Reports                          223  Appendix B  Using Shared Memory                           229  Combined Index            22222000 000  231   NAX aaa naan ha AN r ee aa an ee 241    PowerMill User Guide    X Table of Contents       About This Manual       The PowerMill User Guide describes how to use the PowerMill  simulator to do power simulations on and analysis of integrated    circuit designs                 For information on  See    A general overview of the Chapter 1     Introduction to  features and capabilities of PowerMill      the PowerMill simulator   The basic steps for preparing Chapter 2     Getting Started     initial files  running a   simulation  and viewing the   results of a PowerMill   simulation   Tutorials that give detailed Chapter 3     PowerMill  instructions and scenarios of Tutorials      how to use PowerMill   Procedures for doing different Chapter 4     Power Analysis     types of power analyses   General information on using Chapter 5     Using the ACE  the ACE feature to simulate Feature       analog and mix
7.   fmConfigCmd   report block powr blocki1 track power 1  od AA 8   fmConfigCmd   report block powr block2 track power 1  K2           Register arguments and function pointer of  customized objective function     fmRegisterGap  p blockl  p block2    fitness               Figure 7 Sample custoomized objective function    Performing a Dynamic Power Consumption Analysis 111    This example uses report block powr configuration  command to create two block power signals  which it then  uses to define the customized fitness function     See the following tutorials in Chapter 3     PowerMill Tutorials     for more information on using the GAP feature     e    Tutorial 5  Estimating Maximum Power for  Combinational Circuits    on page 41    e    Tutorial 6  Estimating Maximum Power for Sequential  Circuits    on page 50    e    Tutorial 7  Customizing a GAP Objective Function using  an ADFMI Code File    on page 69       Performing a Dynamic Power Consumption Analysis    This section provides an overview of the PowerMill features that  can be used to identify and diagnose  during the dynamic  simulation  conditions in your circuits that could lead to  excessive power consumption     Information is included on the following subjects    m Dynamic Rise Fall Time Checking   Detecting Dynamic Floating Nodes  Z State N odes   Detecting Excessive Branch Currents    Analyzing Hot Spot Node Currents    Detecting Dynamic DC Paths    Checking Dynamic Rise and Fall Times  U State Nodes     There 
8.   leakage current  wattage report  creating U 90  waveform display  changing R 451  waveform viewers   SimWave R 418   turboWave R 418   ViewTrace R 418    239    waveforms  block analysis simulation U 34  DC paths U 40  full chip power simulation U 31  maximum instantaneous power U 49   U 62  U 67  waveforms  print resolution U 130  wirecap  adding R 42    X    X state  printing R 288    Z    Zstate  printing R 288  reporting R 187  R 338    PowerMill User Guide    240 Combined Index       PowerMill User Guide    Index       Symbols    SEPIC HOME 13  21  137  205   dcpath file  sample  39   epicrc file   description 10   keywords 14   sample 15    A     A command line option 132   ACE tutorials  CV curve generation 139  differentiator simulation 149  integrator simulation 147  PLL SPICE macro modeling 151  156  step input simulation 145  voltage follower simulation 143   ADF MI  See ADF MI Manual   analog circuit simulation 125 134  137 158   aspd 129   autodetection selection 125   automatic memory 229    automatic techfile generation 12  automatic vector generation 103  Seealso  GAP feature    batch mode 10   block power analysis 31  87  88  90  91  branch  Seedement   BSIM1 models 13   BSIM2 models 13   BSIM3 v3 models 13    C    chip level power analysis 85  command line options   A 132  comment line  in  epicrc file 15  configuration commands  assign_branch_i 100  122  assign_node_i 100  122  limit_dcpath_search 115    242 Index    print branch i 122   print node i 86  
9.   limit     PowerMill User Guide    108 Chapter4 Power Analysis    e Usethep size option to specify the population size used  by the genetic algorithm  Acceptable val ues for  population size are any integers between 20 and 50  A  larger population size tends to generate a better  larger   estimate with a longer CPU time  The default valueis 20     4 During the estimation  you can use the  report gap progress interactive command to retrieve  information on the progress of the simulation and display it  in either a table or a graph  At the end of the GAP  estimation  PowerMill automatically generates a  gap  summary file and one or more history files   gav   The input  vectors used during the simulation are kept in the history  files  which can then be used as normal vector files in another  simulation  using the  nvec PowerMill command line option      5 You can use the report gap parameters interactive  command to show the current settings for all of the GAP  commands     Creating a Customized Fitness Function    For a GAP estimation  you can specify one of four types of fitness  functions using the fit  option of the guide gap search  command  Types 1 and 2 are based on the peak average power  per clock cycle and peak instantaneous power  respectively  of the  whole circuit  These functions are built into the software  In  addition  you can use types 3 and 4 to apply a customized  objecti ve function defined in an ADFMI C file     To create a customized objective function  
10.   nationals of other countries contrary to United States law is prohibited  It is the reader s responsibility to determine the applicable  regulations and to comply with them     Disclaimer   SYNOPSYS  INC   AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND  EXPRESS OR IMPLIED  WITH REGARD TO  THIS MATERIAL  INCLUDING  BUT NOT LIMITED TO  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  A PARTICULAR PURPOSE     Registered Trademarks   Synopsys  the Synopsys logo  AMPS  Arcadia  CMOS CBA  COSSAP  Cyclone  DelayMill  DesignPower  DesignSource  DesignWare   dont use  Eagle Design Automation  Eaglei  EPIC  ExpressModel  Formality  in Sync  Logic Automation  Logic Modeling  Memory  Architect  ModelAccess  ModelTools  PathBlazer  PathMill  PowerArc  PowerMill  PrimeTime  RailMill  SmartLicense  SmartModel   SmartModels  SNUG  SOLV IT   SolvNET  Stream Driven Simulator  Synthetic Designs  TestBench Manager  and TimeMill are  registered trademarks of Synopsys  Inc     Trademarks   ACE  Behavioral Compiler  BOA  BRT  CBA  CBAII  CBA Design System  CBA Frame  Cedar  Chip Architect  Chronologic  CoreMill   DAVIS  DC Expert  DC Expert Plus  DC Professional  DC Ultra  DC Ultra Plus  Design Advisor  Design Analyzer  DESIGN  ARROWS    Design Compiler  DesignTime  DesignWare Developer  Direct RTL  Direct Silicon Access  dont_touch  dont_touch_network  DW 8051   DWPCIl  Eagle  EagleV  ECL Compiler  ECO Compiler  Falcon Interfaces  Floorplan Manager  Foundation  FoundryModel  FPGA  Comp
11.   spi SPICE netlist of the sequential circuit     a segment of a datapath with two  pipelined stages  to be estimated                   max seq power vec Vector file to be used for maximum  power estimation   run max seq power Run script for maximum power  estimation of sequential circuits   tech typ 25c 5v Technology file   runpm Run script for latch detection by  PathMill   cfgpm Configuration file for latch detection    using PathMill       Advanced PowerMill Simulations 55    Procedure    Use the following procedure to run the tutorial on estimating  maximum power for sequential circuits     1 Open and study the cfg_max_power configuration file     The following file sample shows the contents of this  configuration file        use_vec_gap vec max_seq_power vec   set_gap_opt period 40ns save_history on vec_history 1  guide_gap_search fit 2 level 7   set_ckt_cmd d ff mark_node_latch no q  print_probe_i inst gap total_power    report block powr stagel track_power 1 x1    report_block_powr stage2 track power 1 x2    report block powr ff array track power 1 xd    report  probe i avg stagel total power   report  probe i avg stage2 total power   report  probe i avg ff array total power    report  probe i avg gap total power          Each linein this fileis critical to the function of the GAP  feature     E use vec gap vec max seq power vec       This line specifies the vector files for the GAP simulation   The GAP function generates a history file  as the simulation  progresses 
12.   transistor IOBUFFO P1  type PMOS  current    119 91 uA  gate IOBUFFO INGATE voltage   0 00 V  drain IOBUFFO OUT1 voltage   5 2010  y  source IOBUFFO DP1 voltage   5 00 V  transistor IOBUFFO P2  type PMOS  current    119 93 uA  gate IOBUFFO PGATE voltage   0 00 V  drain IOBUFFO DP1 voltage   5 00  Vv   source EVDD voltage   5 00 V  inductor IOBUFFO L1 current    119 93 uA  voltage   5 00 V       Figure 9 Sample DC path report    Performing a Static Power Consumption Diagnosis    This section provides an overview of the static power diagnosis  features available in PowerMill  You can use these features to  analyze your circuit based on its topology and look for conditions  that might lead to excessive power use  They are intended to  provide an alternative to the dynamic power diagnosis when  dynamic simulation requires too much simulation time and you  want to scale down power consumption  These analyses are    Performing a Static Power Consumption Diagnosis 117    performed before the dynamic simulation begins and generally  require significantly less simulation time than a full dynamic  simulation     This section includes information on the followi ng subjects     m Detecting Static DC Paths    m Static Excessive Rise Fall Time Detection    Detecting Static DC Paths    A static DC short circuit path exists if a node has a static  conducting path to VDD and a static conducting path to GND   Each node in both paths are in a fighting condition at all times   Use the report_c
13.   wasted power 88  See also  leakage current  wattage report  creating 90  waveforms  block analysis simulation 34  DC paths 40  full chip power simulation 31  maximum instantaneous power 49  62   67  waveforms  print resolution 130    245    PowerMill User Guide    246 Index    
14.  340   power R 147  R 152  R 161  R 172  R 176    R 181  R 185  R 187   diode  modeling R 368  double precision mode R 4  U 132  dynamic power analysis U 111    E    EDIF netlist format R 8  edisplay utility R 417  element  current printing U 98  excessive current check R 161  getting status R 61  R 65  name R 97  printing branch currents U 98  printing current R 109 R 119  reporting current R 145  See BJ T  Seediode  See MOSFET  simulating R 369  R 371  R 374  element names  listing by index R 97  environment parameters R 3  environment variables  command R 215  EPIC netlist format R 8    PowerMill User Guide    234 Combined Index    EPIC HOME environment variable U 21  U   205  epicrc file  See  epicrc file U 15  errors  ckt   handling R 82  errors  simulation   suppressing R 92  R 93   R 237  estimating max power  See maximum power  estimation  esv  for analog simulations  See a6sv  setting node R 251  setting simulation R 297  event generation  changing R 451  event resolution voltage  analog  See a6sv  digital  See esv  event resolution voltage  esv   setting U 128  Eview utility R 418  evp  event points   setting R 308    F    file samples   epicrc file U 15  powrmill act file R 422  powrmill cnt file R 434  powrmill dcpath file R 407  R 446  powrmill gap file R 444  powrmill gav file R 445  powrmill hist file R 412  R 447  powrmill log file R 423  powrmill log file  block power   report  R 438   powrmill nad file R 422  powrmill nodealias file R 436  powrmill out file 
15.  5    BP PH AD  Sook D          Figure 8 Excerpt from block power reports in block1 log file    block2 log    Figure 9 shows a portion of the block power reports printed in  the block2 1 0g file  This particular excerpt provides a block power  report for the x1 block and was generated by the following  command     report block powr xl track src 1 track gnd 1 x1     The report generated by this command lists the contents of and  partitioning information for the reported block  This information  consists of the number of stages used  the number of nodesin the  block  and the total number of elements in the block     PowerMill User Guide    36 Chapter3 PowerMill Tutorials    This report also provides a detailed analysis of the current  contributions from different parts of the circuit  inputs  outputs   and bidirectional ports  etc          Block  x1  Number of nodes in block   18    Number of elements in block    41  Number of block supply nodes   1  Number of block ground nodes 1  Number of block biput nodes   1  Number of block input nodes w 2  Number of block output nodes 5 0  Number of block stages 1  Number of block partial stages I    Average supply current    59 873924 uA  RMS supply current   313 624995 uA  Average ground current   61 049494 uA  RMS ground current   311 347667 uA  Average input current   0 000000 uA  RMS input current   0 000000 uA  Average output current   0 000000 uA  RMS output current   0 000000 uA  Average biput current    1 172278 uA  RMS biput cu
16.  GAP   s time window with the clock  you need to  specify the delay  option with a value of 100 ns with the  set gap opt command  In addition  to address the clock to   Q time  you would have to set the delay  option of the  set_vec_opt command to 0 5 ns     Open and study the max seq power  vec vector file     Notice that this file contains only the PI signals  therefore   the mark node latch command is used to generate a vector  file containing PPIs and add it to the GAP estimation  automatically     Run the simulation using the run_max_seq_power script     The autodetection simulation stops and restarts with the  following message     Reading configuration files          PPI dumping has been completed  Adding vec file  maxpower ppi vec to GAP and restarting GAP  estimation     When you see that the simulation has progressed somewhere  beyond generation 4  type Cont rol c to stop the simulator  in interactive mode     6 Type quit to quit the simulation     List the directory contents     10    Advanced PowerMill Simulations 59    Notice that the GAP feature automatically saved a file with a  name for similar to maxpower save 7200 000000ns Z for  generation 3  which improved the maximum power     You can use this compressed file to restart the GAP run from  where you stopped it     Torestart  restore  the simulation from where you stopped it   add the following command to the configuration file     restore_ckt_state 7200ns    Start the simulation again using the run_max_seq_
17.  GAP vector file can have one of  three different input output types  i  input    b  biput   and p  pseudo primary input   Open the  cfg max power file     Comment out the following line   set ckt cmd d ff mark node latch no q    Add the pathmill ppi vec file  generated by PathMill  to the  PowerMill GAP simulation using the vec  option of the  use vec gap command        use vec gap vec max seq power vec  vec pathmill ppi vec    Add the following command to the cfg_max_power file to  verify the functionality of the FFs or latches     print node logic s1    d       Add the max  gen 1 option to the end of the  guide  gap  search command specification     guide  gap search fit 2 level 7 max gen 1    Setting themax gen  option to 1 forces the GAP simulation  to stop after one generation     This circuit contains only one type of FF  and the s1    and  d    nodes are the inputs and outputs for the FFs     Run the simulation using the run_max_seq_power script     After the simulation stops  type quit to get out of interactive  mode and the simulation     Advanced PowerMill Simulations 67    10 Load the maxpower out file in turboWave and view the two  bus signals d 3 0  and s1 3 0      File Signal View Waveform Analog Tools Window Help    2   5  8  DE  _ es3                  Ca    v2    Figure 19 Waveform of bus signals d 3 0  and s1 3 0  in the maxpower out file       For the first vector triplet  the value of s1 3 0  at the end of clock  cycle       c     is equal to the value of 
18.  GN DL  In addition  its substrate is  connected to a voltage source of voltage GN DH  where GN DH  is greater than GNDL     PowerMill reports any problems it detects to the  err file  For  details of the syntax of these reports see Chapter 7     Utilities for  Dynamic EPIC Tools    in the EPIC Tools Reference Guide     Static Excessive Rise Fall Time Detection    A large transient short circuit current might occur if the voltage  rise fall transition time for a node is excessive  You can use the  report node maxrf command to report nodes with worst case  transition times that exceed a specified threshold time     The node rise fall time is the time taken for the node to make the  transition between its high and low logic thresholds  This time is  estimated based on the lumped capacitance for the node and the  maxi mum impedance driving it  By default  the logic high and  low thresholds are set to 70  and 30   respectively  of the node s  high voltage  You can adjust these default levels using the   set node thresh command     PowerMill reports any problems it detects to the  err file  For  details on the syntax of these reports  see Chapter 7     Utilities  for Dynamic EPIC Tools    in the EPIC Tools Reference Guide     Analyzing Power Using the RC and UD Simulation    Modes    TheRC and UD modes provide a fast power estimation for digital  CMOS circuits  In most digital circuits  major power  contributions come from switching activities  Therefore  the RC  and UD modes   wh
19.  Hierarchy Browser to exit the  Hierarchy Browser     5 Click OK in the Power Supply  amp  Block Setup form to  save your changes and exit the form     Specifying Diagnosis Checks    PowerMill will check only those conditions you specify  To set the  diagnosis checks  click the Power Diagnosis Setup button in  the Simulation Setup form     The Power Diagnosis Setup form appears  see Figure 7       Power Diagnosis Setup       Static Power Checks      Report static paths         Report nodes whose rise fall time exceeds 5ns       Excessive Current        Find DC paths at times    l  report paths  gt     0 05mA       W Find DC paths starting at Ons and every 50ns  W Show transistors whose current is greater than  5mA and lasts longer than 2ns  Tristate Check      W Report nodes that are undriven longer than 5ns          Report Hazards    W Report nodes with multiple transitions within any 40ns period  Power Distribution      Report power histogram starting from Dns to 300ns   generate 10 segments                Help Message Show    Clear   Default   Cancel               Figure 7 Power Diagnosis Setup form    PowerMill User Guide    214 Chapter8 PowerMill Graphical Analyst Tutorial    By default  all the checks on the form are sel ected  However  in  order to check for DC paths  you must specify the appropriate  time segments     Enter the following value in the Static Power Checks area   Report nodes whose rise fall time exceeds   8ns    Next  activate the Excessive Current chec
20.  Power Diagnostics Browser appears  see Figure 12      To display a particular set of errors  you ll first need to select  an error type in the form     For this design  select the following error categories   e Excessive Rise Fall Time   e Undriven Nodes   e Excessive Transistor Current   e Multiple Transitions    Click the Show Errors button to display the errors you  selected     To view Specific nodes  you can copy and paste node names  from the list at the bottom of the window  Use the left mouse  button to select the ADDERO XOR2A N 4 node        Next  use the middle mouse button to drag the node name to  the text field above the Show Errors button  Click the  Show Errors button to list only the errors that occurred on  that node     To exit the Power Diagnostics Browser  select   File     Close Power Diagnostics Browser     PowerMill User Guide    220 Chapter8 PowerMill Graphical Analyst Tutorial       Power Diagnostics Browser       File Help         Static Paths           W Excessive Rise Fall Time       0   6   W Node Does Not Settle To Rails 0  W Undriven Nodes 6  2    M Excessive Transistor Current          W Multiple Transitions 28                Show errors beginning at time  2 00 and ending at time    300 00    and onlyon      nodes                        Show Errors   Reset    Node Error       E   ADDERO     XORZB  NA a Rise Fall time of node exceeds limit  ADDER1 XORZA N 4 Estimated Rise Fall time of node exceeds limit  0 ADDER1 XORZ2B N 4 Estimated Rise Fall 
21.  R 281    J  J FET models U 13    K    keepers  removing R 204  Kirchhoff s Current Law U 99    L    latch nodes R 101  leakage current  detecting DC paths U 115    235    finding cause R 147  R 152  measuring R 140  U 88  listing R 100  log file  closing R 47  opening R 108  logic diagrams  adder circuit with four bit output register  U 27  cell of four bit adder circuit U 20  four bit adder circuit U 19  xor2 cell U 20  logic states  forcing R 51  printing R 128  releasing R 138  logical display R 418    maximum power estimation R 78  R 163   R 164  R 165  R 232  R 336  U 41   U 103   Seealso  GAP feature  memory  freeing R 54  merging parallel transistors R 104  MESFET models U 13  messages   limiting by index R 92   limiting by phase R 93  mixed signal simulation U 125  model swapping R 324   Seealso  ADF MI Manual  models  directly supported    BSIM1 U 13   BSIM2 U 13   BSIM3 v3 U 13   J FET U 13   MESFET U 13   MOS9 U 13  MOSFET   changing size R 199  R 200  R 240     PowerMill User Guide    236 Combined Index    R 241  R 243  R 244  R 246   R 247   getting status R 65   modeling R 364  R 366  R 369  R 370   R 371  R 373  R 374  R 381   R 397  R 398  R 399  R 400   R 401   partitioning R 88  R 89  R 204  R 245   R 396   simulating R 242   multirate simulations  ACE  U 130    N    netlist file  compressed R 8  formats U 11  specifying R 8  specifying format R 8  types of stimulus U 13  netlist file  setting text case R 335  NMOS U 118  NMOS transistors R 88  node  active
22.  U 94  in hierarchical netlists U 91  measuring true power  in watts  U 90  power analysis  accuracy R 275  R 285  R 290  block level R 43  R 45  R 140  block level U 31  estimating maximum power U 41  full chip U 29  U 85  max power estimation R 78  node level R 126  R 180  printing branch currents U  98  RC UD mode U 119  static leakage paths U 79  power diagnosis  dynamic U 111  static U 116  power estimation  max  R 78  R 163  R 164   R 165  R 232  R 336  PowerMill environment  graphic  U 9  powrmill command U 10  U 23  command line options R 3 R 11  PPI detection R 101  print resolution  of waveforms U 130  printing  command descriptions R 55  current waveforms R 119  R 126  R 134  digital state printing options R 288  stage information R 76  voltage waveforms R 131  printing command descriptions R 121  printing windows R 286  R 292  probes  creating R 43  R 45  R 140  U 87  U 88     237    U 90  U 91  U 100  printing current R 134  U 100  reporting current R 72  R 189  prompt  interactive   setting R 215  PWL simulation mode R 256  R 295  R 300    R    RC  full delay  simulation mode R 257   U 119  reporting  U state R 185  Z state R 187  resistor  setting value of R 296  resolution  current R 299  return codes R 11    S    saving partition information R 198  scripts  creating U 16  separator  hierarchical  setting  R 298  short circuit current  See leakage current  simulation control R 34  R 369  R 371  R 374   R 380  global time step control R 391  global voltage sens
23.  and x1 x2   but not the first  level sub blocks     In each case  the specified level refers to the absolute level in the  circuit hierarchy  and is not relative to the level of the specified  pattern     EXAMPLE 3   report block powr my block at level 4 x1 x2      This command generates a power report for thex1 x2 x sub   block and its fourth level hierarchal sub blocks  such as  X1 x2 x3 x4       For each sub block generated using the level or at_level   options  PowerMill writes a standard block power report to the  Jog file  In each case  the reporting options will be the same as  the top level block  In addition  when either option is used  the  simulator writes a hierarchical power report for the specified  block hierarchy to the  power file  The file sample in Figure 4  shows a report for the total supply current as printed tothe   power file     PowerMill generates a similar report for the ground  supply   biput  wasted currents  and the power if those quantities are  being tracked     Analyzing Power Consumption 93          BLOCK top  AVERAGE SUPPLY CURRENT    LEVEL CURRENT PERCENT OF PERCENT OF CHILD BLOCK NAME    uA  PARENT TOP     aaa 0 1537 8 100 00 100 00 top               1  1537 8 100 00 100 00 xsr34x22 top  HA aa 2 35983 23 40 23 40 xsr34x22 x1161 top  maa a 2  322   71 20 98 20 98 xsr34x22 x1164 top     ka 2  214 54 13 95 13 95 xsr34x22 x1166 top                  2  207 33 13 48 13 48 xsr34x22 x1158 top  ta aaa 2  192 92 12 55 t255 xsr34x22 x1162 top       
24.  any time     2 Click the Clear button if you want toclear all information on  the form     3 Click the Cancel button if you want to close the form  without saving your changes     Power Supply Setup 173    Power Supply Setup    Use the Power Supply  amp  Block Setup form to assign  alternate voltages to the supply nets     1 Inthe Simulation Setup form  click the Power Supply  amp   Block Setup button     Figure 5 shows the Power Supply  amp  Block Setup form   Power Supply  amp  Block Setup Form O       IT aaa OO O a o o  m rove ADDER    IT a OO a o o    Pover Supply Setup   Use this form to indicate the different power supplies  i e  VCC  VDD  GND  etc    their voltages  and whether or not they are Power or Ground nodes  Use the right  mouse button to bring up a popup which allows you to select between power ground   Note that only the power supplies listed here are read as a default  The interface  makes an effort to identify some of the power supplies for you  but it may not be  a comprehensive list     Figure 5 Power supply  amp  block setup form  Thetop section of the Power Supply  amp  Block Setup form    identifies the supply nets and voltages for each block of the  circuit you want to simulate  T he setti ngs that appear in the    PowerMill User Guide    174 Chapter7 Using the PowerMill Graphical Analyst    Voltage column are specified in the technology file  or from  a previously saved modification  You can modify the voltage  for any net  The GND is automatically 
25.  apply the Synchronous Matrix Solver   SMS  model to specified elements     m set elem sync  Use this command to apply the synchronous simulation  algorithm to specified elements     Both the set elem sync command and the set elem sms  command apply the synchronous mode  However  they use  different models  the set elem sync command uses a  simplified region dependent gate capacitance model for MOS  transistors at linear  saturation  and cut off regions  while the  set elem sync command uses a voltage dependent gate  capacitance model  In addition  the set elem sms command    PowerMill User Guide    132 Chapter5 Using the ACE Feature    models the crosstalk Miller effect between gate and drain or  source terminals     Usually  the autodetection algorithm applies these commands as  needed  However  there are situations when you might want to  apply them manually  for example  when you need precise  accuracy in digital circuits   You could use this technique  for  example  when simulating an inverter ring oscillator     Activating Double Precision Mode    You can start the double precision version of PowerMill for  voltage and current using the  A command line option  Under  normal conditions  you won t need to use double precision    H owever  in some cases  double precision could be necessary  F or  example  highly damped PLLs with slow lock times  low static  phase error  and low jitter requirements usually need to be  simulated in the double precision mode  Very high gain  
26.  at 0  jreport ckt leak el   partial off n partial off p  report ckt leak el   n path p path  j report ckt leak el   nc vdd nc gnd  ireport  ckt leak el   forward bias n forward bias p  report ckt  leak el     set  node thresh 0 5 2 5 v 1 gnd  vdd        Figure 27 Contents of the cfg static file    2 Run the simulation using the run static script   3 When the simulation is finished  list the directory contents     Notice that the directory now contains several output files  with the static prefix     4 Open the static log file and notice the number of errors  reported in the  err file     5 Usethe viewerror utility to view the errors reported in the  staticerr file     Viewerror  i static err  o all error    Theall error file should list 25 errors  This file lists the type  of error followed by a brief description of why the error  occurred  It also lists the transistors that are present in the  static leakage path     6 Study each type of error and go back to the netlist and figure  out why they are occurring  Also try to match the topologies    PowerMill User Guide    82    Chapter3 PowerMill Tutorials    present in the netlist with those detailed in the reference  guide     NOTE  The set node thresh command is important and  should be used while doing static leakage analysis   This is because the static analysis uses the node  voltages and logic thresholds for the constant  voltage source nodes to identify which nodes are  ground and which nodes are supply  VDD      Althou
27.  cat cfg3 bl    1   ock  ock  ock    cat cfg_dcpath  cat cfg max power    Tutorial 2  Performing a Full Chip Power Analysis    This tutorial shows you how to determine the power  consumption of a complete circuit or full chip  In this case the     full chip    is a small adder circuit  with an output register  A  small circuit is used in these tutorials so that simulations finish    quickly        Files Needed for this Tutorial    The followi ng table lists the input files needed for this tutorial   These files are located in the pw advanced  full chip  subdirectory in your working directory     Filename    adder cmd    Description    EPIC format netlist file that describes the  filename for the vector file and the node  names and port ordering for the vector file       adder vec    Tabular digital vector file used as the digital  stimulus for the simulation       cfg full    Configuration file for full chip power  analysis       full spi    SPICE netlist for full chip power analysis       PowerMill User Guide    30 Chapter 3 PowerMill Tutorials    Filename Description    run full Run script for full chip power analysis       tech typ 25c 5v     Technology file          Procedure  Use the following procedure to run the full chip analysis  tutorial     1 Using the UNIX cat command  look at the contents of the  cfg full configuration file     The following file sample shows the contents of this  configuration file        print node logic    print node v         Power reports fo
28.  command to apply the trapezoidal integration   This command is intended for use with LC circuits and inductors  where free oscillations should not be suppressed or damped  This  is critical for crystal oscillator models that use an RLC model   Theset sim trap command allows these to start up normally  If  the default Euler integration method is used  the crystal  oscillator will not start because the free oscillations are damped  out  The set_sim_trap command will not work for very high Q  crystals such as a 32 KHz crystal model  This is due to the very  high equivalent inductance  very small equivalent capacitance   and high equivalent series resistance        Files Needed for this Tutorial    The following table lists the files needed for this tutorial  They  are located in the crystal_osc directory   You were instructed  at  the beginning of this chapter  to copy this directory from   SEPIC HOME   tutorials  ACE                  Filename Description   cfg1  cfg2  cfg3 Batch run configuration files   crystal_oscspi SPICE netlist for the crystal oscillation  simulation   run1  run2  run3 Run scripts for the crystal oscillator  simulation   cmos35 mod BSIM3 v 3 model file   Procedure    Use the following procedure to run the crystal oscillator tutorial     1 Run the simulation using the run1 script     Getting the Input Files 157    This case uses the default mode and will run very fast  because the oscillator will not start  You will see the normal  biasing curve as the inv
29.  current  tristate  hazard  and power  distribution checks for the simulation  PowerMill will check only  those conditions you set  see Figure 6      Enter  threshold  values in  text fields       Enter default    setting in  form mz             Figure 6 Power diagnosis setup form  The followi ng steps provide the basic procedure for using the  Power Diagnostics Setup form     1 Click on the Power Diagnosis button in the Simulation  Setup form     The Power Diagnostics Setup form will appear     Power Diagnosis Setup 177    2 Select the checks you want by clicking the appropriate toggle  buttons located on the left side of the form     Thecheck is active when the button is red and contains a  black check mark  Many checks require you to enter  threshold values in text fields     3 Click the Default button at the bottom of the form to select  the default power diagnosis checks  The Clear button de   selects all checks     Static Power Checks    There are two buttons you can click in the Static Power  Checks section of the Power Diagnosis Setup form  These  buttons have the following functions     m Report static DC paths  checks for circuit topologies that  are likely to cause unwanted power consumption  For  example  the settings in Figure 9 will catch circuits with no  paths to VDD or GND     m Report node whose rise fall time exceeds     checks for  nodes with rise fall times that exceed a specified time     Excessive Current    The Excessive Current section lets you specif
30.  eek ee pe be ee ee ed 183  View Menu 2 riist En  ean BANNER ERA weed 183  Options Menu           0 00  es 185   DC Path  Browser eiie a a he ma eh a ee Sed 186  File Menu perentorio 2a et etee ade e eee oi aes 187   Option Menu      2 0    0c es 187  Analyzing DC Paths                a 187  Standalone Version of DC Path Browser               189   Power Diagnostics BrowSer         00 0000 a 189  Selecting Checks        0 0 00    cee eee 191  HileMETU  na pawa iat See eet ee Ga i ace we aed 193  Waveform Tool    2 2    es 193  Hierarchy Browser         0  00000 cece eee 193  File MENU ahh Glee a a oe Se 194  Hierarchy Display          0 000  194  Panning Display          0 0 0 0  cee eee ee 195   Thee Display kaaa sete sek wey ead ede oes 195   SHOW ATO sas paaa haa eaa eS ee beatae ads Belay 196  OPtlOnS ska Panaad Bd dal eG alee nek ERROR RAHE 196    Show Internal Nets        0 0a  196    Show Instructions         0 0 0  cece eee eee eens 196  Ordering Instance Information               00000 196  Set Expansion Threshold                    a  197  Select Instances to Display                   0005  198  Displaying Connectivity            eee 199  Dragand Drop is son Gaia en NG NARRA ha eb wie eect 200    8 PowerMill Graphical Analyst Tutorial    OVERVIEW kak pons tae hi Wi id ee re ee ace de chew ae Beta 205   Getting the Input Files    2    0    ee 205   Starting the Graphical Analyst            0 00000 cc eee ee 205   Setting Up for a Simulation            0 000000 ee 207
31.  for each vector file  You can specify multiple  vector files to be used with the GAP feature     E set gap opt period 40ns save_history on  vec_history 1    This command sets the following parameters for the GAP  algorithm       Theperiod 40ns argument sets the clock period for the  circuit to 40 ns       Thesave_history on argument saves the simulation  history  which allows you to stop the simulation and    PowerMill User Guide    56    Chapter 3 PowerMill Tutorials    restart it from where you left off  This feature can come  in handy when simulating large circuits  which can be  very CPU intensive and often require a long simulation  time  This option saves both the circuit state and vector  stimuli  which allows you to do further power analysis on  a specific generation without having to run the  simulation again       Thevec history 1 option saves the vector history for  only those generations that improve  increase  the  maxi mum power estimation     guide  gap search fit 2 level 7    This command sets up the fitness function and the search  level  The fit 2 option tells the simulator to maximize the  instantaneous power  fit 1 maximizes average power per  clock cycle      NOTE  To ensure the quality of the resulting estimate  this  tutorial uses a larger search level  7  than that used  in tutorial 5 because the size of the solution space to  be searched is larger than it is in tutorial 5     set_ckt_cmd d ff mark_node_latch no q    This command enables the automatic
32.  gt E xit to  exit the program     Advanced PowerMill Simulations    This section illustrates some of the power analyses you can do  with the PowerMill simulator  Figure 5 shows the adder circuit  used for these advanced simulations  This circuit is the same as    that used in tutorial 1 except that here a 4 bit register has been  added to the output     PowerMill User Guide    26 Chapter 3 PowerMill Tutorials    Tutorials 2 6 illustrate the use of configuration commands  related to different types and levels of power analyses  Once you  understand how these commands work in separate simulations   you can combi ne them into a single run  Tutorials 2 4 cover only  digital simulation     Tutorials 2 6 are written with the assumption that you know  how to run vi  or another text editor  and turboWave  therefore   the specific steps needed to open and reopen files  using these  tools  are not described     Advanced PowerMill Simulations 27                Figure 5 Logic diagram of the circuit for the advanced tutorials    Before You Begin    Before beginning any of the following tutorials  we recommend  that you examine the run scripts and the configuration files for  each tutorial in which you are interested     1 Usethe UNIX cat command to display the contents of each  run script as needed     PowerMill User Guide    28    Chapter 3 PowerMill Tutorials    cat full chip run full  cat block powr runl block  cat block powr run2 block  cat block powr run3 block  cat dc path run dcep
33.  node reporting R 168  capacitance R 41  R 42  R 123  changing connectivity R 105  current printing R 126  U 99  current reporting R 174  dangling node reporting R 171  forcing  logic state R 51  voltage R 53  getting connectivity R 66  hot spot reporting R 172  hotspot checking U 112  index number R 98  initial conditions R 253  logic state R 128  marking latches R 101  name R 99  partitioning R 381  R 382  R 385  R 387    releasing R 138  R 139   sensitivity R 251   simulating R 251  R 258  R 380  R 384    U 129   skipping wirecap estimate R 107   tracing fanin R 329   U state checking U 111   U state reporting R 185   voltage R 131   X state reporting R 187   Z state checking U 112   Z state reporting R 187  node names  listing by index R 99  node sensitivity control U 128  notation  bus R 210    O    online help  printing to file R 121  printing to the screen R 55   output files  compressing R 278  contents of R 405 R 417  FSDB format R 281  ISDB format R 281  prefix specification R 8  splitting R 322   output filter  selecting R 215    p    parameter R 64  parasitic  printing node voltage R 131  partition information  saving R 198  partitioning R 369  R 371  R 374  R 380   R 385  analog R 356  at high connectivity nodes R 382  R 387  charge pump R 357  memories R 358    mixed signal R 359  pattern matching R 102  R 271  R 454  phases  simulation R 74  PMOS U 118  power  assigning power budgets U 93  estimating maximum power U 103  getting power information interactively 
34.  now contains several output files with the    dcpath prefix     Advanced PowerMill Simulations 39    4 Open at the dcpath dcpath file and study the messages     This file contains time stamps for when violations occur and  lists the transistor at fault  Figure 11 shows the first DC  path reported in the dcpath dcpath file        transistor x2 x2 xl mn1l  type NMOS  current   345 30 uA  gate n2 voltage   2 60 9  drain x2 x2 n4 voltage   O61      source gnd voltage   0 00 V  transistor x2 x2 x1 mp1  type PMOS  current    343 63 uA  gate n2 voltage   DEEN  drain x2 x2 n4 voltage   Dx6L Vy  source vdd voltage   5 00 V          Figure 11 First DC path reported to dcpath dcpath file    The report_ckt_dcpath command has other syntax options   This particular option with no arguments finds all DC paths that  violate the 200 microamp threshold  In this case  the checks are  triggered by any signal change     5 Load the dcpath out file in turboWave and display the cout   v cout   n2  and v n2  signals  see Figure 12      PowerMill User Guide    40 Chapter 3 PowerMill Tutorials    File Signal View Waveform Analog Tools Window Help    2   mle   fe EL  e  By       mi    fv  cout  140  Ony    angal          TIM               EC    Figure 12 Waveform of DC path output file       Advanced PowerMill Simulations 41    Tutorial 5  Estimating Maximum Power for Combinational    Circuits    This tutorial shows you how to estimate the maximum power of  combinational circuits at the full chip level
35.  power is  synonymous with current        Analyzing Power Consumption    This section provides an overview of the features and methods  available in PowerMill for the analysis of power use in your  circuits at the full chip  block  and individual node or element  levels     This section includes information on the followi ng subjects     Analyzing Power at Full Chip Level   Analyzing Power Block by Block   Measuring Wasted Power   Measuring True Power in Watts   Measuring Power Hierarchically   Assigning Power Budgets   Retrieving Power Information I nteractively  Controlling Power Reporting Resolution and Accuracy    Printing and Reporting Branch Currents    PowerMill User Guide    86 Chapter4 Power Analysis    m Printing and Reporting Internal Node Currents  m Working with Probes    m Current Histograms and Tracking Windows    Analyzing Power at Full Chip Level    Full chip power analysis is the simplest type of power analysis   At this level the power usage of the chip can be characterized by  the current statistics and waveforms of the main power nodes   such as VDD and GND  These can be obtained by using the node  current printing and reporting configuration commands     print_node i print node didt  print node iavg report node i  print node irms report node powr    When used for any voltage source node the current reported is  the current being supplied by the source  see    Printing and  Reporting Internal Node Currents    on page 99      The print node i7 commands are
36.  producing the maximum  power are kept in the history files   gav files   At the end of  the estimation  GAP generates a history file corresponding to  each vector file     In this configuration file  the fit 1 option  default  of  guide gap search command instructs GAP to maximize the  average power per clock cycle  You can choose to set up    PowerMill User Guide    44    Chapter3 PowerMill Tutorials    various stopping criteria for GAP using the  guide gap search command  for example  CPU time   number of generations  and number of pairs   See the  command definition for the guide gap search command in  the Power Mill Reference Guide    Theleve1 5 option is the default search level  Each search  level  from 1 to 10  defines a corresponding parameter set  used in the genetic algorithm  Selecting a larger search level  generally produces a better  larger  estimate of the   maxi mum power  but increases the CPU time     Run the simulation using therun max power script   Type Control  c to switch into the interactive mode    In this mode  you can use the interactive GAP commands   Type report gap progress at the interactive prompt     This command shows the progress of the GAP estimation in  a tabular format  default  to the screen  This table contains  the maximum power  corresponding vector pair  and CPU  time     Type report gap progress mode 2 at the interactive  prompt     Maximum Power So Far  watts     Advanced PowerMill Simulations 45    This command displays GAP progr
37.  searching and  identification of latches and flip flops in the circuit  Thed ff  subcircuit is identified and the mark_node_latch no q  command is applied to all instances of the d ff subcircuit   If you have a circuit with FFs that have many different  subcircuit names  you have to apply a separate set_ckt_cmd  command to each subcircuit  Specifying the   mark node latch command causes the PPI vector file   maxpower ppi vec  to be generated and added to the  simulation automatically     print_probe_i inst gap total_power    report  block powr stagel track_power 1 x1    report  block powr stage2 track power 1 x2     j report block powr ff array track power 1 xd       Advanced PowerMill Simulations 57     report_probe_i avg stagel total power        report_probe_i avg stage2 total_power   report probe i avg ff_array total_power   report  probe i avg gap total power    This section of the configuration file controls power  reporting  All but the first line are commented out    See    Analyzing Generations with Saved State Files    on  page 63 for information on using these power reporting  commands     NOTE  You can reduce the size of the resulting output file by  using the F SDB or ISDB output format  To do so   simply add the set print format for isdb  or  for fsdb  command to the configuration file  This  setting does make the simulation run more slowly     Open and study the max_seq_powerspi netlist file     The described circuit contains four PPIs  which are the  output o
38.  size  using thep size  option of the  guide gap search configuration command  In general  a larger  population size generates higher quality vector sets  while  increasing the CPU time needed for the estimation     You can use the GAP result when analyzing various reliability  issues  For example  if the lower bound of maximum power   generated by GAP  exceeds your power budget  you will probably  need to redesign the block     The following PowerMill configuration and interactive  commands are part of the GAP feature for estimating maximum  power consumption     guide gap search set gap opt  report gap prediction report gap parameters  report gap progress use vec gap    Running a Basic GAP Estimation    This section provides a general procedure for using the GAP  commands  It is strongly recommended that you run the  following tutorials in Chapter 3     PowerMill Tutorials    before  running the GAP feature     m    Tutorial 5  Estimating Maximum Power for Combinational  Circuits    on page 41    Using the GAP Feature to Estimate Maximum Power 105    m    Tutorial 6  Estimating Maximum Power for Sequential  Circuits    on page 50    m    Tutorial 7  Customizing a GAP Objective F unction using an  ADFMI Code File    on page 69    NoTE  Searching for the optimum pairs or triplets to maximize power  consumption is a time consuming optimization process   even for  small circuits  For example  it might take about 10 minutes of  CPU time to estimate a small sequential circuit wit
39.  that autodetection  command  that is  the default search ckt msx is not applied to  that portion of the circuit   If you apply more than one  autodetection command to the same block in a circuit  the  simulator combi nes the rules for both commands and applies  them to the specifi ed block     EXAMPLE 1     search ckt mem el xdram      This command applies search ckt mem rules to the xdram  block  The default search ckt msx is applied to the remainder  of the circuit     EXAMPLE 2    search ckt mem el xmemory    search ckt msx el xmemory xsubcircuit    search ckt analog el xanalog            PowerMill User Guide    128 Chapter5 Using the ACE Feature    Using this example  the simulator combines the rules for  search ckt memand search ckt msx and applies them to the  xmemory xsubcircuit block  while applying search ckt mem  to the remainder of the circuit in xmemory  In addition  the  simulator applies the search ckt analog rule tothe xanalog  block and search ckt msx to the remaining portions of the  circuit     See Chapter 3     ACE Configuration Commands    in the PoweM ill  Reference Guide for more information on the search ckt mem  and search ckt analog configuration commands  For  information on search ckt logic  see Chapter 2     Configuration  and Interactive Commands    in the PowerMill Reference Guide    Controlling Node Sensitivity    Both the speed control and event sensitivity can be applied on a  global basis  to the entire circuit  either all digital or all ana
40.  tools    Figure 1 PowerMill GA main window    Starting the Graphical Analyst 165    File Menu    You can use the File menu to start setting up a simulation run   send feedback via e mail to Synopsys  save the window settings   or to exit PowerMill     m Tostart setting up a run  select File  Design Data Setup   See the    Setting Up a Run    on page 167 for more information  on this process     m Tosend feedback to Synopsys  select File  Send Feedback   This pops open an e mail window that allows you to enter  your comments     m Tosavethe size and placement of the PowerMill GA  windows  you can select File  gt Save Window     m Toexit the PowerMill Graphical Analyst  select File Exit     Options Menu    The Options menu lets you either choose the measurement unit  you want to use for your analysis  or select your preferred  waveform viewer     Select Options  u  micro  to view data in micro units  or  select m  milli  to view data in milli units in the Results  Display area of the PowerMill GA main window as well as the  Power Histogram Display     Select turboWave to use the turboWave viewer  or SimWave to  use the SimWave viewer     Help Menu    The Help menu gives you access to help information on the  PowerMill Graphical Analyst     Simulation Setup Button    The Simulation Setup button  located on the middle left side  of the PowerMill GA main window  is one of two ways you can    PowerMill User Guide    166 Chapter 7 Using the PowerMill Graphical Analyst    begin sett
41.  used to print the  instantaneous  average  RMS  and didt waveforms of the  requested nodes to the  out file  The report node i command  can be used to request the reporting of the average  RMS  or peak  currents to the  log file at the conclusion of the simulation  You  can also useit to request a current histogram to be generated for  the specified nodes  see    Current Histograms and Tracking  Windows    on page 101   The report node powr command is a  macro and can be used to request all of the above information   except the didt waveform and current histogram  with one  command     The simplest approach is to use the report node powr  command without specifying any arguments  This automatically  selects all the supply and ground nodes  as well as all current  probes  for current reporting     Figure 1 shows a sample report generated by the  report node powr command  This report is first printed to the    Analyzing Power Consumption 87    screen and then printed in the  log file  at the end of the  simulation  The instantaneous  average  and RMS current  waveforms for these nodes are also recorded in the  out file              Current information calculated over the intervals   0 00000e 00   6 00000e 03 ns  Node  gnd  Average current 7 11217e 02 uA  RMS current  26582e 03 uA  Current peak  1 1 49260e 04 uA at 4 40180e 03 ns  Current peak  2  40570e 04 uA at 4 20180e 03 ns  Current peak  3  32660e 04 uA at 4 00180e 03 ns  Current peak  4 1 32540e 04 uA at 3 80180e 03 ns  C
42.  with  the    lowercase letter L  argument specified  will be set as the  default  This is because HSPICE is case insensitive and sets all  characters to lowercase     See Chapter 1     The PowerMill Command    in the PowerMill  Reference Guide for details on all of the PowerMill command line  options     Batch Versus Interactive Mode    PowerMill can be run in batch mode or interactive mode  The  default is batch mode  In this mode  PowerMill runs to  completion without intervention  To use PowerMill interactively   you must specify the  i option or type Control c while the  simulation is running  that is  after netlist compilation   The  interactive commands are descri bed in Chapter 2      Configuration and Interactive Commands    in the Power Mill  Reference Guide    Environment File    PowerMill lets you define certain simulation environment  parameters in the  epicrc file  The PowerMill simulator uses  these parameters  but they can be overridden with options on the  command line  The syntax  description  and example of this file    Netlist Files 11    are included in the section    Creating the Environment   epicrc   File    on page 13        Netlist Files    The netlist file describes the system or circuit to be simulated   and is required torun a simulation  The following formats are  accepted by PowerMill  EPIC  HSPICE SPICE  EDIF  LSIM   Verilog  and Cadence SPF  Morethan one netlist  with the same  or different formats  can be specified simultaneously  for  exampl
43. 0  c eee 168   Using the File Finder Form                 20000005 170   Importing Existing Run Scripts               0000e eee eee 171  Specifying Netlist and Technology Files                 04  171  Setting the Simulation Time             00 0000 cee ee 172   Design LIBParys niche ka maan Be ed Bae ae DD 172  Command Line Options          0 0000 ee 172  Saving  Clearing or Cancelling Your Changes                 172   Power Supply Setup          0 000  ee 173  Block Setup ua saeenieict ace a ma a Granite ase dat eee yen do wa LY NANANA 174  Selecting BIOCKS    lea i a aae aE eee 175    PowerMill User Guide    Vill Table of Contents    Saving  Clearing or Cancelling Your Changes                 175  Power Diagnosis Setup            4 te 176  Static Power Checks          0 ee 177  Excessive CUT enU nei mikrora daa ki pa e OER Kee Da UAR 177  Tristate Check  os  en iener bk reai eee ew a a 178  Report Hazards  uk a maa AD KAG pa die eG eed ete eek 178  Power Distribution            0 000002 cece eee 178  Showing or Hiding Help Messages              0 a  178  Saving or Clearing Checks           0 000000 cee eee 178  Running a Simulation sacia s ea aeaa a a E E aE ae EN t a aE 179  Analyzing a GCITOIEnn Na ma DA Ea iae e a anna e fea I Gee 180  Power Consumption    180  S  rt By MENU ss  aan dank Ada eae a Na AN 181  Hierarchical View of Power Consumption              182  Results Analysis          000 c eee ee 182  Power Histogram            0 000 e ee 182  PIl MO NU 20 nee ee
44. 01101110011  10001101011000zzzz  11101011110111zzzz    40 0 000759248    101101111000110111  01000101100110zzzz  10010010111111zzzz    0 000938212    101101110001110101  01000101011000zzzz  10010011110111zzzz    120 0 00111505    001101110111000010  01000101010011zzzz  10010010111101zzzz    Current CPU Time   33 47  secs   Maximum power so far   0 00111505  watts   Current number of generations   8       Figure 24 Report of GAP parameter settings    The simulator generates an entry in this file for each  generation that improves the maximum value of the fitness  function  Each file entry lists the time  number of triplets   current value of the fitness function  and the stimuli     11    12  13    14    15    Advanced PowerMill Simulations 77    In addition  the current CPU time  maximum value  and  number of generations are printed at the bottom of the  report     You can also use the guide_gap_search command to set  various criteria for stopping GAP at the interactive mode  command line  See the command definition for the  guide_gap_search command in the PowerMill Reference  Guide    Type cont to continue the GAP simulation     When the simulation finishes  type quit to quit the  simulation     Open and study the custom gap file  see Figure 25      The simulator creates an entry in this summary file for each  generation that improves the maximum value     Open and study the max seq power gav and custom ppi gav  files  These two files are the vector history files for  max_se
45. 122   print node logic 23  30  print node v 23  30   print probe i 30  100  122  report block leakage 89  report block powr 30  88  122  report ckt dcpath 38  39  115  report ckt leak 117  118  report ckt phist 101  report elem exi 112  122  report elem i 101  report node hotspot 112  report node i 86  101  122  report node maxrf 119  report node powr 23  86  100  report node quick 112  report node u 112   report node z 112   report probe i 100  101  122  search ckt analog 126  128  search ckt cpump 126  search ckt logic 126  128  search ckt mem 126  128  search ckt msx 126  127  search ckt rc 127  search ckt ud 127   set dcpath thresh 38  115  set elem acc 131   set elem pwl 131   set elem sms 131   set elem sync 131   set hotspot factor 114   set node aspd 129   set node spd 129   set node thresh 112  119  set print ires 131   set print iwindow 102   set print tres 131   set print vres 131   set sim aspd 130   set sim spd 130    set sim subgroup 130  set sim trap 156  set sim tres 129  use sim case 10  configuration files 12  current printing and reporting  block 87  element 98  histogram 101  node 99  probes 100  current resolution  controlling 132    D    DC paths  finding  tutorial  37  static 117  diagnosing power problems  dynamic 111  static 116  double precision mode 132  dynamic power analysis 111    E    element   current printing 98   printing branch currents 98  EPIC HOME environment variable 21  205  EPIC USE SHM environment variable 229  epicrc file   See epicr
46. 2   3000e102    70006102   1000e102    BWWNNNH H OW    Start  ns    0000e 01   0000e 01   3000e102   7000e102   1000e 02   5000e 02   9000e102   3000e 02   7000e 02   1000e102    BS WWNNNH H OW       SBWWNNNH RH O    Element  IOBUFF0 P1 Branch  1    BSBWWNNNEH EO    Stop  ns  Avg  UA  RMS  uA  Peak  uA  Time  ns     0000e 01 2 8779e 01 5 3431e 0 1 0100e 02 6 0400e 01   3000e 02 7 0781e 01 8 4014e 0 1 1700e 02 1 0245e 02   7000e 02 5 3766e 01 7 3174e 0 1 0100e 02 1 5040e 02   1000e 02 2 1036e 01 4 5936e 0 1 3500e 02 2 0232e 02   5000e 02 1 0000e 02 1 0000e 02 1 0000e 02 2 1000e 02   9000e 02 9 0790e 01 9 0970e 0 1 0100e 02 2 5040e 02   3000e 02 7 3625e 01 7 3732e 0 8 2000e 01 2 9000e 02   7000e 02 6 1875e 01 6 1934e 0 6 8000e 01 3 3000e 02   1000e 02 5 4000e 01 5 4032e 0 5 8000e 01 3 7000e 02   5000e 02 4 9000e 01 4 9015e 0 5 1000e 01 4 1000e 02  Stop  ns  Avg  uA  RMS  uA  Peak  uA  Time  ns     0000e 01 1 0304e 03 4 9851e 03 3 3619e 04 6 2000e 01   3000e 02 1 4845e 03 7 0174e 03 5 1510e 04 1 0190e 02   7000e402 1 0614e 03 4 9601e 03 3 3150e 04 1 5200e 02   1000e 02 8 5798e102 5 1421e 03 4 3718e 04 2 0181e 02   5000e 02 1 2009e 02 1 2009e 02 1 2100e 02 2 1000e 02   9000e 02 2 9633e 01 5 0674e 01 3 2600e 02 2 5214e 02   3000e 02 1 1750e 01 1 1874e 01 1 5000e 01 2 9000e 02   7000e402 7 2500e 00 7 3144e 00 9 0000e 00 3 3000e 02   1000e 02 4 6250e 00 4 6771e 00 6 0000e 00 3 7000e 02   5000e 02 2 7500e 00 2 7839e 00 4 0000e 00 4 1000e 02          Figure 6 Sample current histogram 
47. 2_powr     return sum              Figure 21 Excerpt from execution function    Thefirst section of this function checks to see if the simulator  is in the DC initialization phase prior to the start of the  transient simulation  If so  it sets the ID pointers  If it is not  in the DC initialization phase  the transient simulation has  already started     The second section calculates the sum variable by adding up  the power from both blocks     Notice that the power number you get is much lower than in  the previous tutorial  in which you calculated the maximum    PowerMill User Guide    74 Chapter 3 PowerMill Tutorials    power for the entire circuit  In contrast  this tutorial only  covers two blocks of the circuit  see Figure 22                           COUT 1 COUT2  t    gt  S2 3    gt  S2 2    gt  S2 1    gt  S2 0   CINI CLK CIN2  Block 1 Block 2          Figure 22 Block diagram of the circuit    5 Open and study the run custom script   6 Locate the following option    fm gap  customize c    This option identifies the gap customizec file as an ADF MI  C file  In addition to describi ng and registering ADF MI  models  an ADF MI C file can also descri be and register a  GAP customized fitness function  Specifying the ADF MI C  file on the command line is required for GAP customization     7 Run the simulation using the run custom script     Advanced PowerMill Simulations 75    The simulation performs PPI detection first  After it  generates the custom ppi vec PPI vector f
48. 5971 uW          Figure 10 Excerpt from block power reports in block3 log file    Tutorial 4  Finding DC Paths    This tutorial illustrates how you can use the PowerMill  simulator to find DC paths  The following table lists the fil es    PowerMill User Guide    38 Chapter3 PowerMill Tutorials    needed for this tutorial  These files are located in the  pw advanced  dc path subdirectory in your working directory     Filename    adder cmd    Description    EPIC format netlist file that describes the  filename for the vector file and the node  names and port ordering for the vector file       adder vec    Tabular digital vector file used as the digital  stimulus for the simulation       cfg_dcpath    Configuration file for DC path checks       dcpath spi    SPICE netlist of the circuit for DC path  checks       run_dcpath    Run script for DC path checks       tech typ 25c 5v    Technology file          Procedure    Use the following procedure to run the DC path check tutorial     1 Open and examine the cfg dcpath configuration file  The  following file sample shows the contents of this configuration    file     print node logic      print node v      report node powr vdd gnd    report ckt dcpath  set dcpath thresh 200u       2 Run the simulation using the run dcpath script     Watch the on screen messages as they scroll by during the  simulation  These messages are included in the  dcpath file     3 When the simulation is finished  list the directory contents     The directory
49. Applying report branch i  print_branch_i   print node v   report elem exi  assign branch i  or assign node i causes  the given elements to be PWL  which defeats the fast power  estimation feature for elements intended to be RC or UD  elements        Chapter 5    Using the ACE Feature    124 Chapter5 Using the ACE Feature    Overview 125    Overview    The Analog Circuit Engine  ACE  is a built in feature that  extends PowerMill   s capability to simulate analog and mixed   signal circuit designs     The default autodetection algorithms can simulate most analog  CMOS circuits  such as bandgap references and PLLs  in mixed   signal designs with no additional configuration commands  If  you are simulating sophisticated or complex designs  you might  want to apply some additional configuration commands to  improve the accuracy of a simulation     Since output printing and other controls are usually induded in  the SPICE netlist  you will most likely not need a configuration  file when running ACE     Included in this Chapter    This chapter highlights some of the capabilities of the ACE  option  The following sections are included     Selecting Autodetection Rules   Controlling Node Sensitivity   Controlling the Simulation Time Resolution   Applying Multiple Time Steps  Multi Rate Simulations   Controlling Waveform Print Resolution   Applying Multiple Simulation Modes   Simulating BJ Ts       Selecting Autodetection Rules    TheACE option provides a group of autodetection command
50. CK top  MAXIMUM INSTANTANEOUS SUPPLY CURRENT OF  157249 uA EXCEEDS BUDGET OF 30000 uA   BLOCK top  AVERAGE SUPPLY CURRENT OF  1537 84 uA EXCEEDS BUDGET OF 1000 uA    BLOCK top  MAXIMUM INSTANTANEOUS POWER OF 566098 uW EXCEEDS BUDGET OF 100000 uW   BLOCK top  AVERAGE POWER OF 5536 21 uW EXCEEDS BUDGET OF 3000 uW     KKKKKKKKKKKKKKKKKKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKKKKKKKKKKKKKK    BLOCK HIERARCHICAL POWER ANALYSIS    KKKKKKKKKKKKKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKKKKKKKKKKKKKK    BLOCK top  AVERAGE SUPPLY CURRENT     LEVEL CURRENT PERCENT OF PERCENT OF CHILD BLOCK NAME   uA  PARENT TOP   Ka 0  1537 8 100 00 100 00 top   SS RS 1 So   lt 8 100 00 100 00 top xsr34x22  SEKTA 2 2359 83 23 40 23 40 top  xsr34x22 x1161     2  322 71 20 98 20 98 top  xsr34x22 x1164             2  214 54 13 95 L395 top_xsr34x22 x1166  Paa See 2  207 38 13 48 13 48 top_xsr34x22 x1158             2 92 92 125255 12 55 top  xsr34x22 x1162             2 SOL PEL S232 5 32 top_xsr34x22 x1163  Ser ea 2 567 2669 3 74 3 74 top xsr34x22 x1157  CAN 2  52 966 3 44 3 44 top_xsr34x22 x1160  ma 2  42 359 2 75 2235 top xsr34x22 x1169  EG 2      8502 0 38 0 38 top_xsr34x22 x1167             2 0 0086932  0 00  0 00 top_xsr34x22 x1170             2 0  0 00    r00 top  xsr34x22 x1165             2 0  0 00  0 00 top  xsr34x22 x1168                  2 0  0 00  0 00 top  xsr34x22 x1159          BLOCK top  RMS SUPPLY CURRENT        LEVEL CURRENT PERC
51. DC Path Browser by selecting Close DC Path Browser from  the File menu     Option Menu    Select Option Search to bring up the Search DC Paths  form  This form allows you to specify a particular time period of  the simulation for viewing DC paths  This is useful if you are  interested in seeing DC path for a particular time of the  simulation  or if you cannot display all the DC pathsin a single  window  see Figure 15         eas Option       re 0 58   bow       Search DC Paths    Find DC Path   at time  ns  iI  v Starting at time  ns         for every  ns     ending at time  ns            w for all  OK   Cancel      Figure 15 Search DC paths form             Analyzing DC Paths    The DC Path Browser automatically loads the  dcpath file for  the current run  A series of time blocks are displayed at the top  of the window  You can view detailed DC path information for a    PowerMill User Guide    188 Chapter 7 Using the PowerMill Graphical Analyst    particular time period by clicking on any time segment   see Figure 16      DC Path Browser    4150 4250 4550 4750 4850 5150 5250 5550 5750 5850 6150 6250 6550 6750 6850  Simulation Time  ns      1  core dff 121 P5   gt  core   1  core dff 121 P5   gt  core  dff 121 P5   gt  core  o         Figure 16 Detail view of DC path browser    When you ve clicked a particular time segment  all the DC paths  that occurred at that time are displayed in the DC Paths text  field located at the bottom left corner of the window  By default   the 
52. ENT OF PERCENT OF CHILD BLOCK NAME   uA  PARENT TOP   Kz 0 6959 2 100 00 100 00 top   aiid pean ale 1 69592 100 00 100 00 top_xsr34x22   AE ce AN 2 31741 53 41 53 41 top  xsr34x22 x1161  a Pan 2 2966 7 42 63 42 63 top xsr34x22 x1164  paa 2 1785 1 25 65 256i top xsr34x22 x1166  AG 2 1584 1 22 716 22 16 top xsr34x22 x1162  ma Waaa See 2 133253 19 18 13 15 top xsr34x22 x1158  a eo teed ts 2 1202 1 1721 11484  top xsr34x22 x1163     2 647 76 9   3 1 9 31 top  xsr34x22 x1157  a a aa 2 408 87 5 88 5 88 top xsr34x22 x1160  Hei  SG  2 316 96 4 55 4 55 top xsr34x22 x1169    PowerMill User Guide    228 Sample Power Reports          ma E 2 1275 03 1 65 1x65 top xsr34x22 x1167  Soken 2 2 588 0 04 0 04 top_xsr34x22 x1170               2 0 0 00 0 00 top  xsr34x22 x1165             2 0 0 00 0 00 top_xsr34x22 x1168     2 0 0 00 0 00 top_xsr34x22 x1159  BLOCK top  AVERAGE POWER    LEVEL POWER PERCENT OF PERCENT OF CHILD BLOCK NAME    uW  PARENT TOP               0 55362 100 00 100 00 top  AR AA I 5536 2 100 00 100 00 top xsr34x22  AA 2 1467 9 26  51 26 51 top_xsr34x22 x1161    GA 2 746 39 13 48 13 48 top_xsr34x22 x1158     2 722 92 13 06 13 06 top  xsr34x22 x1166  a 2 694 52 LE OS 12 55 top xsr34x22 x1162  BET ee eee 2 639 25 LL  lt 55 LG top xsr34x22 x1164  kan 2 430 29 De TT  TESTES top_xsr34x22 x1163  SRS SSeS 2 258 27 4 67 4 67 top_xsr34x22 x1167  SRS SES 2 207 25 3 74 3 74 top xsr34x22 x1157  KAB AA acne 2 190 68 3 44 3 44 top xsr34x22 x1160  Fr a 2 152 49 275 2 75 top_xsr34x22 x1169    
53. Generation 22   Maximum power  0 00653965  Vec 0   000000000   Vec 1   110101101    Generation 125   Maximum power  0 00653967  Vec 0   000000000   Vec 1   110101101        watts      watts      watts      watts     Total number of generations  152       Total CPU time       144 29     secs        Figure 14 Contents of the maxpower gap file    PowerMill User Guide    48    Chapter 3 PowerMill Tutorials    12    13    This file contains a summary of the GAP estimation  The  maxpower gap file contains an entry for each generation that  improves the maximum power  Each entry contains the  following three fields  generation ID  maximum power  induced  and the input vector pair producing the maximum  power  The total CPU time and total number of generations  are printed at the end of the file     Open and examine the max com power1 gav and  max com power2 gav files     These are history files that save the input vectors used  during the estimation  GAP produces a separate  gav file for  each input vector file  The max com powerl1 gav and   max com power2 gav files generated by this tutorial contain  only the vectors of the generation producing the maximum  power  You can specify which vectors you want GAP to keep  using the vec history  option of the set gap opt command     See the PowerMill Reference Guide for details on all of the  GAP configuration and interactive commands     NOTE  You can use the  gav files  generated by GAP  as  vector files for a regular PowerMill simulatio
54. Measuring Wasted Power           00  e eee eee eens 88  Measuring True Power in Watts              cc eee eee ees 90  Measuring Power Hierarchically                0000 eee eae 91  Assigning Power Budgets           0 00 cece eee 93  Retrieving Power Information Interadively                   94  Controlling Power Reporting Resolution and Accuracy           97  Printing and Reporting Branch Currents                  4  98  Printing and Reporting Internal Node Currents                99  Working with Probes            0 00  ee 100  Current Histograms and Tracking Windows                  101   Using the GAP Feature to Estimate Maximum Power                103  Running a Basic GAP Estimation    a s a sasaaa aan 104  Procedure Tanada aiia a eho ie Na 2 ed kd 105   Creating a Customized Fitness Function                     108  Performing a Dynamic Power Consumption Analysis                 111  Checking Dynamic Rise and Fall Times  U State Nodes         111  Detecting Dynamic Floating Nodes  Z State Nodes             112  Detecting Excessive Branch Currents             00 cee eens 112  Analyzing Hot Spot Node Currents             0000 cee eee 112  Detecting Dynamic DC Paths                20000 eee 115  Performing a Static Power Consumption Diagnosis                  116  Detecting Static DC Paths              0 0 0 0 22 eeeeeeeee 117   Static Excessive Rise Fall Time Detection                    119    PowerMill User Guide    Vi Table of Contents    Analyzing Power Using the RC 
55. OS transfer gate on node  Single NMOS transfer gate on node  Node is floating  Node is floating  Node is floating  Node is floating  Node is floating  Node is floating       Static Power Diagnosis  Single NMOS transfer gate on node 15 net9       Figure 17 Power diagnostics browser    Analyzing a Circuit 191    Selecting Checks    The numbers that appear in the upper part of the browser  indicate the number of messages in each error category  Select  the type of errors you want to view by clicking the appropriate  buttons at the top of the form  The button will turn red when a  check is active  see Figure 18      Power Diagnostics Browser                                           Click here   for aa E Static Paths 18  E No Path To VDD 5    No Path To GND 7  j Path To VDD 0  W Path To GND 3  E Leakage Path 3                      Figure 18 Selecting static paths    Use the following buttons related to selecting checks   m Static Checks  causes additional selections to appear     m Show Errors  shows a list of errors corresponding to the  error types you selected     Select a particular error to get a detailed information on that  error at the bottom of the browser     m Reset  clears your selections     You can use your middle mouse button to drag and drop node  names from the Error List to other parts of the window  You can  also drag and drop node names from other sources in the    PowerMill User Guide    192 Chapter 7 Using the PowerMill Graphical Analyst    PowerMill GA  suc
56. PowerMill User Guide    Release 5 4  J anuary 2000    Comments   E mail your comments about Synopsys  documentation to doc synopsys com    SYNOPSYS       Copyright Notice and Proprietary Information   Copyright   2000 Synopsys  Inc  All rights reserved  This software and documentation contain confidential and proprietary  information that is the property of Synopsys  Inc  The software and documentation are furnished under a license agreement and may  be used or copied only in accordance with the terms of the license agreement  No part of the software and documentation may be  reproduced  transmitted  or translated  in any form or by any means  electronic  mechanical  manual  optical  or otherwise  without  prior written permission of Synopsys  Inc   or as expressly provided by the license agreement     Right to Copy Documentation   The license agreement with Synopsys permits licensee to make copies of the documentation for its internal use only  Each copy shall  include all copyrights  trademarks  service marks  and proprietary rights notices  if any  Licensee must assign sequential numbers to  all copies  These copies shall contain the following legend on the cover page        This document is duplicated with the permission of Synopsys  Inc   for the exclusive use of  and its employees  This is copy number       Destination Control Statement   All technical data contained in this publication is subject to the export control laws of the United States of America  Disclosure to
57. R 430  powrmill power file R 441  powrmill stat file R 437  powrmill sum file R 417  R 435   files  output R 405 R 417    See  epicrc files   Seeinput files   See output files  FSDB format R 281  functional model   Seealso ADF MI Manual  functional model  specifying R 333    G    GAP feature U 103  guiding R 78  predicting convergence R 164  printing a progress report R 165  reporting parameters R 163  selecting a clock period R 232  specifying vector files R 336  tutorials U 41  U 50  U 69  Gentech utility U 12  graphical analyst  child cells U 198  path tracing U 199  power diagnostics browser  error list U 191  show info about box U 196    H    help   command R 55   printing R 121   See also online hap R 19  hierarchical   delimiter R 298   separator  setting R 298  hierarchy browser   options menu U 196   panning display U 195   path tracing U 199   select instances to display U 198   set expansion threshold U 197    show instructions U 196  tree display U 195  histogram  current R 145  R 160  R 174   R 189  U 101  HSPICE SPICE netlists U 11    i  index  command prefix R 19  index numbers  listing R 19  R 98  initial conditions R 253  input files  configuration R 4  U 12  netlist R 8  U 11  stimulus U 13  technology R 9  U 12  input netlist R 8  instance parameter R 64  interactive mode  accessing R 19  command line option   i  R 7  interactive log file  closing R 47  interactive log file  opening R 108  R 405  tracing signal events R 36  R 327  R 328   R 330  ISDB format
58. T FROM 21 4 TO 21 5 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 21 4 TO 21 5 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 21 6 TO 21 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 21 6 TO 21 9 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 22 2 TO 22 5 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 22 2 TO 22 5 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 50 4 TO 50 5 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 50 4 TO 50 5 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 61 4 TO 61 5 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 61 4 TO 61 5 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 61 6 TO 62 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 61 6 TO 62 4 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 101 6 TO 101 8 ns  BLOCK top  DRAWS EXCESSIVE POWER FROM 101 6 TO 101 8 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 102 2 TO 102 3 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 102 2 TO 102 3 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 141 6 TO 141 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 141 6 TO 141 8 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 142 2 TO 142 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 142 2 TO 142 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 170 8 TO 170 9 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 181 4 TO 181 5 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 181 4 TO 181 5 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 181 6 TO 181 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 181 6 TO 181 8 n
59. adder circuit  This circuit contains 164 transistors and is simulated with 150    vectors  Figure 2 and Figure 3 further illustrate the adder  circuit used in this tutorial     PowerMill User Guide    20 Chapter 3 PowerMill Tutorials               40 1 40 1       ADDER  40 1 40 1 10 1  bn b  SUM  20 1 20 1  a     5 1  mn1    AIN    10 1 10 1           20 1 20 1       Figure 2 Logic diagram of the adder cell    10 1  IN  XI N4         5 1    5 1  10 1       df 10 1                      Figure3 Logic diagram of an XOR2 cell    Getting the Input Files  21    Tutorials Included in this Chapter    This chapter includes the followi ng tutorials     Tutorial 1  Running a Basic Simulation   Tutorial 2  Performing a Full Chip Power Analysis  Tutorial 3  Performing a Block Level Power Analysis  Tutorial 4  Finding DC Paths   Tutorial 5  Estimating Maximum Power for Combinational  Circuits   Tutorial 6  Estimating Maximum Power for Sequential  Circuits   Tutorial 7  Customizing a GAP Objective Function using an  ADFMI Code File   Tutorial 8  Finding Static Leakage Paths    NOTE  The turboWave screens in this chapter are displayed with  altered colors and signal height to improve readability   Therefore  the waveforms you actually seein turboWave will look  significantly different from the screens in this chapter     Getting the Input Files    Before you can run any of the tutorials in this chapter  you need  to copy the required input files to your current working directory   The follow
60. amplifiers or analog to digital circuits and digital to analog  circuits beyond 12 bits might also require double precision     Simulation Speed and Double Precision    Using double precision mode will slow down the simulation by  approximately 10   while increasing memory consumption by  approximately 30   Therefore  it is recommended that you do  not use double precision mode unless absolutely necessary     Controlling Voltage and Current Resolution    There are no limits on the voltage and current resolution  settings except those imposed by the floating point  float  data  type  The float data type is the default in single precision  which  is an 8 bit mantissa and a 3 digit exponent  This means that the  absolute lowest resolution available depends on the absolute  value of a stored number     Simulating BJTs 133    For small voltages and currents there are more significant digits  available at lower values  For example  if you have 1 00000000 V  and you need to maintain accuracy to 1 nV  the nanovolt level  will be lost  that is     1 000000000 V   0 000000001 V  1 000000000 V    However  if you have 1 mV instead  the 1 nV can be retained   that is     0 001000000 V  0 000000001 V  0 001000001 V    Therefore  if you have large signals that require nanovolt  accuracy and precision  you will need to use the double precision  data storage     CAUTION  The higher precision printing has a direct impact on the size of  the output file  If you try to print every node voltage i
61. and UD Simulation Modes            119  Technical Background    sssaaa cece eee 120  Running a Simulation in RC or UD Mode                    121    5 Using the ACE Feature    OVERNTEN na LE Un BAND DA Pba BRP PALAG PRN 125   Included in this Chapter           0 0000  125  Selecting Autodetection Rules            ee 125   Applying Multiple Autodetection Rules                      127  Controlling Node Sensitivity           0 0 00  ee 128  Controlling the Simulation Time Resolution                        129  Changing the Time Step Selection Parameter                       129  Applying Multiple Time Steps  Multi Rate Simulations               130  Controlling Waveform Print Resolution                 000000 aes 130  Applying Multiple Simulation Modes               220 0c eee eae 131  Activating Double Precision Mode              0000  132   Simulation Speed and Double Precision                     132  Controlling Voltage and Current Resolution                        132  Simulating BJ TS eers na ei BANA ee ee ees BUNGAD nee Se ee 133   Procedure for Simulating BJ Ts             2s eee eae 134    6 ACE Tutorials    OVERVIGW aa Mestad watt Sipa we aii eaten thoes 137  Getting the Input Files    2    0 0 00    0c ees 137  Tutorial 1  CV Curve Generation              02000 eee 139   Files Needed for this Tutorial                 0 00   140   Procedure freo dreara eet Ra PG Ue ed eee 140   Tutorial 2  Operational Amplifier Simulations                142  Voltage Follower Simulati
62. applies a more conservative autodetection algorithm     m search ckt mem    Usethis set of rules for embedded DRAMs  PLDs  and ROMs   You can also use the default search ckt msx for these  circuits  but the simulation will likely take longer to run     m search ckt cpump    Use this set of rules for charge pump circuits  flash memory  circuits  etc  Flash memory circuits can usually be simulated  with the default search ckt msx set of detection rules   however  some circuits might require the more conservative  search ckt cpump rules     m search ckt logic    Selecting Autodetection Rules 127    Use this set of rules for digital circuits  This set of rules is  more aggressive and can greatly improve the simulation  speed for digital circuits     m search ckt rc    Use this set of rules for digital only blocks  If you use the  set sim mode rc command  this set of rules is applied to the  entire circuit by default     m search ckt ud    Use this set of rules for digital only blocks  If you use the  set  sim mode ud command  this set of rules is applied to  the entire circuit by default     Applying Multiple Autodetection Rules    TheACE option allows you to apply different autodetection rules  to individual portions of a circuit  If you do not specify an  autodetection command  by default  the search ckt msx rules  are applied to the entire circuit  However  if you apply an  autodetection command to a portion  a block  of the circuit  that  portion is searched with rules set by
63. are a couple of reasons why a circuit could end up  consuming an unexpectedly large amount of power  If a node  spends an excessive amount of time in a U state  it could create  a large short circuit current     PowerMill User Guide    112 Chapter4 Power Analysis    Thereport node u and report node quick configuration  commands provide a mechanism to check for excessively long  and excessively short rise fall times  respectively  during the  dynamic simulation  Each command checks the time taken by  the node to transition between its logic high and low threshold  and reports violations to the  err file  By default  the logic high  and low thresholds are set to 70  and 30  of the nodes high  voltage  respectively  You can use the set node thresh  command to adjust the default voltage     Detecting Dynamic Floating Nodes  Z State Nodes     If a node is left floating  Z state  for an excessive time  the node  voltage could drift into an intermediate voltage level due to sub   threshold short circuit currents in the associated elements  This  can lead to unexpected DC paths in logic blocks that arein the  node fanout     The report node z configuration command provides a  mechanism to report any node that stays in the Z state longer  than a user specified time during the dynamic simulation   Violations are reported to the  err file     Detecting Excessive Branch Currents    When attempting to diagnose excessive power in a circuit  it is  often helpful to determine which circuit e
64. ath   cat max powrl run max power          cat max powr2 run max seq power  cat max powr3 run custom    The preceding scripts contain the following command lines   respectively     powrmill  n full spi adder cmd  c cfqg full   o full  p tech          powrmill  n block spi adder cmd  c cfg1 block   o blockl  p tech       powrmill  n block spi adder cmd  c cfg2 block   0o block2  p tech                powrmill  n block spi adder cmd  c cfg3 block   0o block3  p tech          powrmill  n dcpath spi adder cmd  c cfg_dcpath   o dcpath  p tech          powrmill  n max com power spi  c cfg max power   o maxpower  p tech             powrmill  n max seq power spi  c cfg max power   o maxpower  p tech                   powrmill  n max seq power spi  c cfg max power  fm  gap customize c  0 custom    All of the run scripts contain the powrmill command with  the  n   c   p  and  o options specified     See Chapter 1     The PowerMill Command    in the PowerMill  Reference Guide for more information on command line  options     Although all of the simulations in this chapter use SPICE  netlists  you can combine SPICE  EPIC  Verilog  and EDIF in    Advanced PowerMill Simulations 29    the same run  If a netlist file with a  sp or  spi extension is  used  the parser assumes it isan HSPICE netlist and sets all  nodes and elements to lowercase by default     2 Usethe UNIX cat command to display the contents of the  confi guration files as needed     cat Cfg  ful  cat cfg1 bl  cat cfg2 bl      
65. ation  and inversion regions  Normally  the  exact flat band voltage point is in the negative voltage region  below zero Vgs and is not critical to most simulations  A large  area square transistor of 50 um by 50 um is used to avoid short  channel effects and give a large enough capacitance to give a  measurable current  A 1 ohm series resistor is used as the  monitoring element  The current through this resistor is plotted  to produce the CV curve     PowerMill User Guide    140 Chapter6 ACE Tutorials    Files Needed for this Tutorial    The following table lists the files needed for this tutorial  They  are located in the ACE  cv curve directory                    Filename Description   cfg_cv Batch run configuration file   CV_curvespi SPICE netlist for this tutorial   runcv Run script for this tutorial   cmos35 mod BSIM3 v3 model file  Procedure    Use the following procedure to run the CV curve tutorial     1 Using vi  or another text editor  open and study the  CV curvespi netlist file     Notice that this is a very simple  short netlist  Notice that  the PWL voltage source sweep is over 4 us  This is done so  that the time scale corresponds to the voltage scale  The full  voltage sweep is 4 V from  2 V to  2 V  The 2 us point will be  the zero volt point of the sweep since the time starts at zero   You can subtract 2 from the time to get the voltage at any  given point     2 Run the simulation using the runcv script     Getting the Input Files 141    3 UsingturboWave  l
66. axrf U 119  report node powr U 23  U 86  U 100  report node quick U 112  report node u U 112  report node z U 112  report probe i U 100  U 101  U 122  search ckt analog U 126  U 128  search ckt cpump U 126  search ckt logic U 126  U 128    search ckt mem U 126  U 128  search ckt msx U 126  U 127  search ckt rc U 127  search ckt ud U 127  See Command Index on page R 457  set_dcpath_thresh U 38  U 115  set_elem_acc U 131  set_elem_pwl U 131  set_elem_sms U 131  set_elem_sync U 131  set_hotspot_factor U 114  set_node_aspd U 129  set node spd U 129  set node thresh U 112  U 119  set print ires U 131  set print iwindow U 102  set print tres U 131  set print vres U 131  set sim aspd U 130  set sim spd U 130  set sim subgroup U 130  set sim trap U 156  set sim tres U 129  use sim case U 10  configuration files U 12  configuration files  specifying R 4  connectivity  changing R 105  to nodes R 66  tracing R 327  R 328  current  reporting R 145  R 174  R 189  resolution  setting R 299  waveforms  printing R 111 R 119   R 126  R 134  current printing and reporting  block U 87  element U 98  histogram U 101  node U 99  probes U 100  current resolution  controlling U 132    233    D    dangling nodes  reporting R 171  DC current R 119  DC initialization R 30  DC paths   dynamic R 147   finding  tutorial  U 37   static R 152  U 117   threshold setting R 224  delimiter  hierarchical R 298  diagnosing power problems   dynamic U 111   static U 116  diagnostics   functionality R 337  R 338  R
67. be the first bank of 4 adders         and block2 the second bank of 4 adders      fmConfigCmd   report block powr blockl track_power 1 x1      fmConfigCmd   report block powr block2 track power 1 x27          Register arguments and function pointer of customized  objective function       fmRegisterGap  p blockl  p block2    fitness         Figure 20 Excerpt from registration function    The first two lines use the fmConfigCmd    function to  specify a PowerMill configuration command that maps the  x1  and x2    blocks to the block1 and block2 power   tracking variables  They also tell the simulator what to track  by setting the track power   argument to 1     Next  the fmRegisterGap    function maps the power of  block1 and block2 variables into the GAP algorithm  They  are used in the fitness function     NoTE  The asterisk  4  wild card specifies that all four  adders in each bank are to be included in the block  specifications     Advanced PowerMill Simulations 73    Find the execution function at the top of the file   see Figure 21         double fitness          static int id_4_blockl_powr  id_4_block2_powr     double sum   0     if  fmSimPhase      FMDCINITPHASE        get id for signals  which can be used later to  access their value     id_4_blockl_powr   fmGapGetSignalld   p block1l      id 4 block2 powr fmGapGetSignallId   p block2        return 0      else       calculate fitness measure     sum    fmGapGetValueById id_4_block1_powr   fmGapGetValueById id_4  _block
68. cfile 15  event resolution voltage  esv   setting 128    F    file samples    epicrc file 15   block power report 229  files    See  epicrc files  See input files    G    GAP feature 103   tutorials 41  50  69  Gentech utility 12  graphical analyst   child cells 198   path tracing 199   power diagnostics browser   error list 191  show info about box 196    H    hierarchy browser  options menu 196  panning display 195  path tracing 199  select instances to display 198  set expansion threshold 197  show instructions 196  tree display 195  histogram  current 101  HSPICE SPICE netlists 11    input files  configuration 12  netlist 11  stimulus 13  technology 12    J  J FET models 13    243    K  Kirchhoff s Current Law 99    L    leakage current  detecting DC paths 115  measuring 88   logic diagrams  adder drcuit with four bit output   register 27   call of four bit adder circuit 20  four bit adder circuit 19  xor2 cell 20    maximum power estimation 41  103  Seealso  GAP feature  memory  shared 229  MESFET models 13  mixed signal simulation 125  models  directly supported   BSIM1 13  BSIM2 13  BSIM3 v3 13  J FET 13  MESFET 13  MOS9 13  multirate simulations  ACE  130    N    netlist file  formats 11  types of stimulus 13  NMOS 118  node  current printing 99  hotspot checking 112    PowerMill User Guide    244 Index    simulating 129   U state checking 111   Z state checking 112  node sensitivity control 128    p    PMOS 118  power  assigning power budgets 93  estimating maximum p
69. chine  This feature is only available on HP UX and Solaris  platforms     230 Using Shared Memory       PowerMill User Guide    Combined Index       Symbols    SEPIC HOME U 13  U 21  U 137  U 205   dcpath file  sample  U 39   epicrc file   description U 10   keywords U 14   sample U 15    A     A command line option U 132  ACE configuration commands  See Command Index on page R 457  ACE tutorials  CV curve generation U 139  differentiator simulation U 149  integrator simulation U 147  PLL SPICE macro modeling U 151   U 156  step input simulation U 145  voltage follower simulation U 143  ADFMI model  debugging   DFM  R 5    model swapping R 324  see also ADFMI Manual  specifying R 333  using the  FM   fm  command line op   tions R 6  aesv  default value R 380  R 390  setting simulation R 390  aliases R 100  creating R 19  R 100  deleting R 49  for pattern matching R 102  analog circuit simulation U 125 U 134   U 137 U 158  aspd U 129  aspd  setting  for simulation R 391  autodetection rules  applying  analog circuit detection R 356  charge pump circuit detection R 357  memory circuit detection R 358  mixed signal circuit detection R 359  autodetection selection U 125  automatic techfile generation U 12    232 Combined Index    automatic vector generation U 103  Seealso  GAP feature    batch mode U 10  BJ T modeling R 355  R 365  R 367  block power analysis U 31  U 87  U 88  U 90   U 91  block level power  See power analysis  branch currents  excessive R 161  printing R 109  re
70. clock period to be used  by the GAP estimation  For sequential circuits  the period  should be the same as the clock signal defined in the  netlist file  or  cmd file   If you do not specify a period  the  GAP estimation will use the default period of 20 ns     e Usethedelay option to synchronize GAP with the signal  dock  if it is not started from time 0      e Usethe vec history  option specify which vectors will be  kept in the history files  At the end of the simulation   GAP produces a history file corresponding to each vector  file used during the estimation  If you do not specify a  history option  GAP keeps only the vector pairs or  triplets from the generation producing the maximum  power     e Usethe save history option to save the circuit state  during a GAP simulation  You can use the save history  option in conjunction with the vec history option to  specify how the state files of the circuit will be saved  You  can use the saved state files to either resume the GAP  estimation from a saved time  or do advanced power  analysis for specific generations under GAP     Therange of the saved state information is dependent on  the setting for the vec history  option     vec history  1 saves only the state at the beginning of  the generation that produces the maximum power     vec history   2 saves the state at the beginning of all  the generations that improve the maximum power  estimation     Using the GAP Feature to Estimate Maximum Power 107    vec history  3 saves 
71. cmd d ff mark_node_latch no q  print_probe_i inst customize_gap_fitness       Each linein this fileis critical to the function of the GAP feature        use  vec gap vec max_seq_power vec    As in tutorial 6  the vector file max seq power vec contains  only the PIs  This command registers this vector file to GAP  estimation  A vector history is tracked for this vector file as  the simulation progresses     set gap  opt delay 100ns period 40ns  vec_history 2    This command synchronizes GAP   s time window with the  clock driving the circuit by specifying a delay of 100ns anda  period of 40ns  This command also uses the vec_history   option to tell the simulator to track the vector history for all  generations that improve the maximum value of the fitness  function  Notice that the save history  option is disabled   therefore  no state files  printed with a  Z extension  are  generated for this GAP simulation     NOTE  The clock to Q time is not considered for the circuit in this  tutorial since delay through the combi national part of it can  satisfy thehold time of theFF s  Otherwise  you would need to set    Advanced PowerMill Simulations 71    the delay  option  of the set vec opt command to be equal to  the clock to Q time     E guide gap search fit 3 level 7    This command enables GAP customization by setting the fit   option to 3  which notifies GAP that the average value of the  fitness function  defined in an ADFMI C file  should be the  objective to maximize  This c
72. command could overwrite that  file or directory     3 Verify that your newly copied ACE directory contains the  following subdirectories  crystal osc  cv curve  op amps  and  pll  Each of these directories corresponds to and contains the  files needed for a tutorial in this chapter     SPICE Netlists    All tutorials in this chapter use SPICE format netlists   Conversion to EPIC format is not necessary     Getting the Input Files 139    Tutorial 1  CV Curve Generation    This tutorial demonstrates the procedure for checking the  voltage dependent gate capacitance CV curve  Figure 1 provides  a schematic of the CV curve test circuit          proportional to C of MN1      Cdv dt  O        RIN   1 ohm         MN1    PWL voltage source 38 4 38 4   2v to  2v over 4ms  to set dv dt constant    The current through RIN is monitored and is proportional to C of  MN1 because dv dt is constant as supplied by VIN  This results  in a current waveform that is the CV curve of the voltage   dependent gate capacitance of MN1  The time sweep of VIN is  set so that Tus corresponds to 1 volt of change           Figure 1 Schematic of CV curve test circuit    Checking the voltage dependent gate capacitance CV curve is  done using the relation i C dv dt  In the example circuit used in  this tutorial  the current    i    is made proportional to the  capacitance C by the input of a linear voltage ramp so that dv dt  is a constant  The voltage is swept from  2 V to  2 V to cover the  depletion  accumul
73. commended  that you not simulate crystal oscillators in the full chip  configuration  It is better to drive the input side of the inverter  with a SPICE  style sinewave source  This produces realistic  behavior of the oscillator input clock buffers to the interior of the  circuit and accurate power consumption numbers  L eave the  external load capacitors in place and remove the crystal model to  prevent the simulator from trying to handle the RLC model and  slow the simulation down unnecessarily        Chapter 7    Using the PowerMill  Graphical Analyst    160 Chapter 7 Using the PowerMill Graphical Analyst    Overview 161    Overview    The PowerMill simulator s Graphical Analyst  GA  provides an  integrated approach to simulating circuits and analyzing results  using the PowerMill simulator     We value your comments and encourage you to give us feedback   You can give us direct feedback by selecting Feedback from the  File menu of the PowerMill GA main window  See    File Menu     on page 165 for details     This chapter explains how you can use the PowerMill Graphical  Analyst to do the following tasks     Running a Basic PowerMill Simulation  Starting the Graphical Analyst  Setting Up a Run   Running a Simulation   Analyzing a Circuit    The followi ng tools are available for circuit analysis     Power Consumption   Power Histogram   DC Path Browser   Power Diagnostics Browser  Hierarchy Browser    Running a Basic PowerMill Simulation    This section describes the proce
74. ction  see the ADF MI  Manual for more information   If you are using arguments of  type 6 or 7  you first need to create the corresponding blocks  or probes using the appropriate configuration commands  for  example  report block powr  assign node i  etc     Likewise  to use arguments of type 8  you need to define the  math signals using HSPICE  print   probe  or  plot control  lines     PowerMill User Guide    110 Chapter4 Power Analysis    3 Register the objective  fitness  function     In the ADFMI registration function  RegisterUserModel      invokethe GAP registration function fmR egisterUserGap     see Figure 7  To it you need to provide a  the function  pointer of the objective C function  and b  a string containing  the names of all the arguments used in defining the fitness  measure  In the string  the space character serves as the  delimiter to separate argument names          Customized objective function to be maximized  F   double fitness         static int id_4_blockl_powr  id_4_block2_powr   double sum   0     if  fmSimPhase      FMDCINITPHASE        get id for signals  which can be used later to  access their value     id_4_blockl_powr   fmGapGetSignalId   p block1      id_4_block2_powr   fmGapGetSignalld   p block2      return 0      else       calculate fitness measure     sum    fmGapGetValueById id_4_block1l_powr   fmGapGetValueById   id 4 block2 powr    return sum           void  RegisterUserModel     f       Specify block power for blockl and block2    
75. d  They are shown in  italic text to distinguish them from commands and  keywords   tag  Tags can be followed by either a value or a keyword   value Tags and keywords are in the base font  Argument  keyword values are in italics to distinguish them from  commands  keywords  and tags   Symbol Definition      A pipe symbol      represents the word    or    and  separates choices between two or more arguments        An ellipsis       indicates that more than one  argument can be specified  Ellipses are used only for  multiple arguments with tags        PowerMill User Guide    XIV    About This Manual    Symbol Definition          Open and closed square brackets indicate that the  enclosed arguments are optional              Open and closed parenthesis indicate that there is a  choice between the enclosed arguments  two or  more   These are used only when a command has  several groups of argument choices  multiple pipe  symbols       in this case  would result in  ambiguous syntax        SYNTAX   report node i a vg    r ms   pleak   h ist  node name s     For this command  a vg   r ms   p eak   and h ist  are keywords   choose one of these  The node name s  are user determined     EXAMPLE 1   report node i a VDD GND   In this example  a is a keyword  and VDD and GND are values   SYNTAX    report node ic  a ll    qluoted    for epic   spice   ti me s      For this command  a ll  and q uoted  are optional keywords  The  tag for is part of an optional argument for which you can choo
76. d 3 0  at the beginning of  dock cycle Il  This is also true for the second and third vector  triplets  which verifies the functionality of the FFs or latches as  described in the section     Testing Latch Functionality for Flip   Flops with Non Buffered Outputs    on page 53     11 Open the cfg_max_powe file   12 Remove the following line     print node logic s1      d       PowerMill User Guide    68    Chapter 3 PowerMill Tutorials    NOTE     13 Remove the max gen 1 argument from the  guide  gap  search command specification     14 Run the regular GAP simulation using the  run max seg power script     At this point  you can resume the regular GAP procedure  starting with step 5 on page 58     When you use PathMill  instead of PowerMill  to detect the PPIs  the maxpower  ppi vec file is replaced by the pathmil  ppi vec file   therefore  the corresponding maxpower ppi  gav is replaced by the  pathmill ppi gav file     Advanced PowerMill Simulations 69    Tutorial 7  Customizing a GAP Objective Function using an  ADFMI Code File    This tutorial illustrates an advanced GAP feature which allows  you to customize the objective function using an ADF MI C file   Using this feature  you can create your own objective function to  be maximized by GAP  instead of using the two default objective  functions     A customized objective function is a regular C function in an  ADFMI C file  You can use various circuit parameters  for  example  node voltage  node current  element branch cu
77. d Reporting Branch Currents    Using PowerMill  you can print many different types of branch  currents  There are commands that print instantaneous   average  and RMS currents as waveforms to the  out file   PowerMill also provides commands to report average  RMS  and  peak current summaries to the  log file    The branch current printing commands follow the HSPICE  conventions for i1  i2  i3  and i4 currents  The following list  shows the branch current mapping for MOS transistors     i1  drain current  i2  gate current    Analyzing Power Consumption 99    i3    source current  i4    bulk current    PowerMill also provides commands for printing and reporting  DC current for specifi ed elements  Use the following commands  to print all types of branch currents     print branch didt1 print branch i3  print branch didt2 print branch i3avg  print branch didt3 print branch i3rms  print branch didt4 print branch i4  print branch didtdc print branch i4avg  print branch il print branch i4rms  print branch ilavg print branch idc   print branch ilrms print branch idcavg  print branch i2 print branch idcrms  print branch i2avg report branch i  print branch i2rms report branch powr    For more specific information on each command  see Chapter 2      Configuration and Interactive Commands    in the Power Mill  Reference Guide     Printing and Reporting Internal Node Currents    It is sometimes useful to be able to measure the amount of  current flowing through an internal  non voltage so
78. dify the  simulation time resolution     EXAMPLE   set sim tres 0 0lps  This example sets the minimum time resolution to 0 01 ps     Once you choose the appropriate time resolution  you can apply  additional time step control commands to control the time step     Changing the Time Step Selection Parameter    You can use the set node spd and set node aspd  for analog   commands to change the size of the time step for a particular  node     EXAMPLE 1   set node spd VCO IN 0 05    PowerMill User Guide    130 Chapter5 Using the ACE Feature    This command sets the time step size parameter  spd  at node  VCO  INto 0 05 V  With this setting  the maximum voltage  change each time step at node VCO IN cannot exceed 0 05 V    Additionally  you can use the set sim spd and set sim aspd   for analog  to change the size of the time step selection  parameter  spd  for the entire simulation     EXAMPLE 2   set sim spd 0 3  This example sets the simulation step size parameter  spd  to    0 3 V  With this setting  the maximum voltage change at each  time step cannot exceed 0 3 V        Applying Multiple Time Steps  Multi Rate Simulations     In mixed speed systems  such as DSPs  or other discrete   sampled circuits with a high clock speed sampling low frequency  signals  it might be necessary to use the multi rate simulation  capability  The ability to do multi rate simulations means that  you can apply different time steps to different parts of the  circuit  Using multiple time steps helps yo
79. dure for running a basic  PowerMill simulation using the Graphical Analyst     1    Set up your environment so that you can access the directory  containing the current PowerMill release  see Chapter 2      Getting Started    for details      Have the following input files in your current directory     PowerMill User Guide    162 Chapter7 Using the PowerMill Graphical Analyst      Anetlist filein SPICE  HSPICE  xxx spi  or EPIC format   xxx ntl        Oneor more technology files  xxx tech      A vector file  optional    e Any additional configuration files  optional      3 Start the Graphical Analyst by typing one of the following  commands at the UNIX prompt     pwga  powrmill  ga    4 Select Simulation Setup  Design Data Setup     5 Select the applicable netlist  technology  and configuration  files     6 Click OK     This will create a  wrk file by default  After it is created  you  can specify it when invoking the Graphical Analyst and the  Setup Information will be automatically entered by  PowerMill     7 Click the Start Simulation button  This invokes the  simulation in the powrmill pwga directory  This directory  contains the confi guration files automatically created by the  GUI as well as the following output files   powrmill log  powrmill err  and powrmil  out    8 Click the Result Analysis button to access the analysis  tools     9 When you are finished viewing the results  close the window     Starting the Graphical Analyst    As stated previously  you can start 
80. e       7600 00    a    mo 7       Figure 13 Supply net histogram    To return to the block histogram  select Options  Show Block  Histogram     Using the Histogram    You can view the average or peak current for each time segment  displayed in the histogram To view the average current for a  particular time segment  click your left mouse button on a time  segment block in the histogram  A time marker  along with the  average current for the selected segment  will appear     To view the peak current for a segment  use your middle mouse  button to click on a segment  or move the marker to another  segment     PowerMill User Guide    186 Chapter7 Using the PowerMill Graphical Analyst    You can access the histogram for lower level blocks if they have  been specified in the Supply and Block Setup form   To dothis   double click on a block with your left mouse button  To come up  a level  double click on a block with the right mouse     DC Path Browser    The DC Path Browser graphically displays transistors from  DC paths at predefined intervals  To open the DC Path  Browser  click the DC Path Browser button in the Result  Analysis form  see Figure 14      No  of dc paths    8   5   ia  STITT  0    293 313 333 353 373 393 413 433 453 473 493 513 533 553 573  Simulation Time  ns         2  ADDER1 XOR2B   3  ADDER1 3NOR F   4  ADDER1 P1   gt  A       Figure 14 DC path browser    Analyzing a Circuit 187    File Menu    After you ve completed your DC path analysis  you can dose the  
81. e  vbfe   Average current  RMS current   e  vnbl   Average current  RMS current   e  vsc   Average current  RMS current   e  gnd   Average current  RMS current       e currents    e  vbwe   Average current  RMS current    9764 697468 uA  13 538631     179937 712787 uW  259344 959596 uW     1292 744780 uA  2689 379684 uA     13 113817 uA  60 555783 uA     1 306000 uA  1 306000 uA    0 000000 uA  0 000000 uA     0 096472 uA  125 248341 uA    0 000000 uA  0 000000 uA     3254 654260 uA  6735 633010 uA     46 280923 uA    65 944698 uA     48 694494 uA    65 990722 uA     22 313620 uA    35 782504 uA     40465 456275 uA    62012 343945 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    45127 965926 uA  64878 957946 uA    0 001269 uA  0 014343 uA    Node  vbcas    Average current  RMS current    Node  vbras    Average current  RMS current    Biput node currents     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     Node     vdin   Average current  RMS current  vdq0   Average current  RMS current  vdql   Average current  RMS current  vdq2   Average current  RMS current  vdg3   Average current  RMS current  vainl   Average current  RMS current  vaino   Average current  RMS current  vain2   Average current  RMS current  vain3   Average current  RMS current  vain4   Average current  RMS current  vaind   Average current  RMS curr
82. e  you can combine SPICE  EPIC  Verilog  and EDIF in  the same run  If a format is not specified  PowerMill uses the file  extension to determine the format  For information on supported  netlist formats and their corresponding extensions  see Chapter  3     Netlist Compiler and Translators    in the EPIC Tools  Reference Guide    Using HSPICE SPICE Format    If a netlist file with a  sp or  spi extension is used  the parser  assumes the netlist is in an HSPICE format and sets all nodes  and elements to lowercase  Don   t use case sensitive node names  and element names if you are going to use SPICE netlists     If a SPICE netlist is not specified  the netlist input  by default   is case sensitive  You can override this default setting with the  use_sim_case configuration command     HSPICE Netlist Compatibility    PowerMill is capable of recognizing  measure commands in  HSPICE netlists  For more information about HSPICE netlist  commands  see   HSPICE Netlist Syntax    in Chapter 3 of the  EPIC Tools Reference Guide    PowerMill User Guide    12 Chapter2 Getting Started    Using Other Formats    For information on supported netlist formats  see  Chapter 3     Netlist Compiler and Translators    in the EPIC Tools  Reference Guide       Configuration Files    The configuration file contains information that tells PowerMill  how to perform the simulation  Any number of configuration  files  including none  can be used  The configuration file contains  run parameters data     N
83. e Hierarchy Browser by clicking the  Hierarchy Browser button in the Powermill GA main  window     Setting Up fora Simulation 211    The Hierarchy Browser appears  see Figure 5      ADDERO      ADDER       ADDERZ        ADDERS           Figure 5 Hierarchy Browser    You can use the procedure outlined below to view the power  consumption for lower level blocks within the design hierarchy   This process shows you how to drag and drop blocks from the  Hierarchy Browser to the Power Supply  amp  Block Setup  form     PowerMill User Guide    212 Chapter8 PowerMill Graphical Analyst Tutorial    1 In the top display area of the Hierarchy Browser  Hold  down the Shift key and use the left mouse button to expand  the hierarchy for the block identified as ADDE R3  See  Figure 6 for a sample     Hierarchy Browser Jo          Instance Name ADDER    __  Instance Type ADDER        _  Name And Type ADDERZ      2NOR         INVI      INV2      INV3        INV4      ADDER3          Selected Instance    JADDER3 3NOR    Figure 6 Expanding the ADDERS block    2 Inthe Hierarchy Browser  select the 3NOR instance with  the left mouse button  This highlights the instance     3 Usethe middle mouse button to drag it into the empty Block  Setup field in the Power Supply  amp  Block Setup form     To add additional blocks  click the Add Block button in the  form to create another empty field and use the drag and drop  feature to include them     Setting Up for a Simulation 213    4 Select File     Close
84. eal AG  ge dee eine KAN aati eg aaa ect 9  The PowerMill Environment         0  0 0 a  9   The PowerMill Command           a    10  Batch Versus Interactive Mode        0 0 0 0 cc eee 10  Environment File deserere aaee a ee ee eee 10   Netlist FISS ce ele mil ae ack Bayan Balad hacen     ood el AREE DAA mpa 11  Using HSPICE SPICE Format          00000  e eae 11  HSPICE Netlist Compatibility                        11   Using Other Formats          0 00000 cee eee 12  Configuration Files         rriad ewak nie a i a E E 12    Technology PINES  ma pana meha penai BG a a dite SG a ies ANA 12    Table of Contents    Stim  l  s Files uban Daan hee LA Da a ae Ghee tebe eats 13  Creating the Environment   epicrc  File          aa  13  Running a Basic Simulation            0 000  15    PowerMill Tutorials    OVEIVIEW soc naa ae td Vas daw dea wits vos ead SG haa Wwe to 19  Tutorials Included in this Chapter                 00000005 21  Getting the Input Files    2    2 0 0 0    cece 21  A Basic PowerMill Simulation            0 0 0 0 2 cee eee 22  Tutorial 1  Running a Basic Simulation                      22  Procedure HA eh mar tA e dle Ue Nee Git the oe 22  Advanced PowerMill Simulations               0 000  25  Before  Y o    BEGIN po pins cued dete ag DP Da See ba a 27  Tutorial 2  Performing a Full Chip Power Analysis             29  Files Needed for this Tutorial                   004  29  Procedure aa Wie KNANG ee eke Bea Gea AA 30  Tutorial 3  Performing a Block Level Power A
85. ecify the  blocks you want to use in the simulation  To do this  click the  Supply Block Power Setup button in the Simulation Setup    Setting Up for a Simulation 209    dialog box  The Power Supply  amp  Block Setup form will  appear  see Figure 4             Power Supply  amp  Block Setup Form i    VDD CdS OO power       GND ground  Kia aaa      PODER fer li a     Power Supply Setup   Use this form to indicate the different power supplies  i e  VCC  VDD  GND  etc    their voltages  and whether or not they are Power or Ground nodes  Use the right  mouse Sutton to bring up a popup which allows you to select between power  ground   Note that only the power supplies listed here are read as a default  The interface    makes an effort to identify some of the power supplies for you  but it may not be  a comprehensive list        OK   Cancel      Figure 4 Power Supply  amp  Block Setup form    Normally at this point you would set up multiple power supplies   However  because the circuit used for this tutorial contains only  one supply node  power supply set up is not necessary     Your next step is to specify the blocks for which you want power  consumption information  By default  all the blocks at the top  level of the design are selected     PowerMill User Guide    210 Chapter8 PowerMill Graphical Analyst Tutorial    To get the power information for lower level blocks  you can add  additional blocks by dragging and dropping them from the  Hierarchy Browser     First  bring up th
86. ecifying Netlist and Technology Files    You can either select the netlist and technology files manually or  use the File Finder form     1    To reopen the File Finder form  click the appropriate  Browse    button located next to the Netlist Files or Tech  File text fields in the Design Data Setup form     Click the OK button to save your settings and close the form     PowerMill User Guide    172 Chapter7 Using the PowerMill Graphical Analyst    NOTE  To automatically generate technology files  you can  specify the  z or  r options in the Others field of the  Design Data Setup form     Setting the Simulation Time    Enter the number of nanoseconds you want the simulation to run  for in the Simulation Time text field of the Design Data  Setup form  The default is 1000 ns     Design Library    Specify the path to your design library in the Design Library  text field  this is optional     Command Line Options    The Others text field of the Design Data Setup form is used  to specify powrmill command line options     Saving  Clearing or Cancelling Your Changes    1 After you ve filled in the appropriate fields of the Design  Data Setup form  click the OK button     This saves your settings  compiles the design  and closes the  form  It also created a batch run script with a  batch  extension     The batch run script can be run from the UNIX command  line  It automatically places the results in the appropriate  directory so that you can view the results of a batch  simulation at
87. ed signal  designs       xii About This Manual    Audience    For information on     Tutorials that give detailed  instructions and scenarios of  how to use the Analog Circuit  Engine  ACE  option of the  PowerMill simulator    See     Chapter 6     ACE Tutorials          Instructions for using the  PowerMill Graphical Analyst    Chapter 7     Using the  PowerMill Graphical Analyst          A tutorial on the PowerMill  Graphical Analyst    Chapter 8     PowerMill  Graphical Analyst Tutorial          Sample output files    Appendix A     Sample Power  Reports          Using shared memory    Appendix B     Using Shared  Memory        This manual is for integrated circuit engi neers and designers  performing power simulations to test and verify integrated  circuit designs  Knowledge of UNIX  high level design  techniques  and circuit description tools  such as SPICE  is    assumed        Related Manuals    The following Synopsys manuals in the EPIC tool set provide    additional information on using PowerM ill     m PoweMill Reference Guide  m EPIC Tools Reference Guide  m  ADFMI Manual    xiii    Conventions    This manual uses certain style conventions to indicate  commands  menus  examples  and filenames              Commands  SYNTAX   command name  argument s    argument types  keyword   value  tag value  tag keyword  Command Definition  Argument  keyword Keywords are identifiers that must be used as they  appear  They are shown in base font   value Values are user determine
88. effect of  applying a hot spot factor of 0 5  As you can see  the node with  the largest currents is X1 4  which has a charging current of  503 21 pA anda discharging current of 510 44 uA  Applying  the 0 5 hotspot factor  the sum of the charging and discharging  currents multiplied by the hotspot factor equals 506 83 uA  The  sum of any other node s charging and discharging current would  have to be greater than this number to be included in the  individual node report  In this case  all nodes below x1 3 are  excluded from the report     The summation of charge currents for all nodes within a block  represents the average charge current for the block  Conversely   the summation of discharge currents for all node within a block  represents the average discharge current for the block  The  difference between the total average block current and the  charge current should be the average short circuit current from  DC short circuit  or the short circuit short circuit current   during the transition period when both NMOS and PMOS    Performing a Dynamic Power Consumption Analysis 115    transistors were conducting  This is one way of estimating the  circuit short circuit current     Detecting Dynamic DC Paths    In CMOS circuits  any DC current flowing in the circuit between  power and ground is considered to be wasted power  Therefore   wasted power can come from    crowbar    or    short circuit    current  caused by both P channel and N channel devices being on during  a transi
89. enerates   a report of the total power consumption of the block  The power  reported includes contributions from all sources and biputs for  the block     Average block power   179937 712787 uW    RMS block power   259344 959596 uW       Figure 3 Sample information provided by the track power   option of the report block powr command    You can also produce block level waveforms and current  histograms  For more details  seethePoweMill ReferenceGuide  and    Working with Probes    on page 100     Measuring Power Hierarchically    The level  and at level options of the report block powr  command allow you to do an analysis of block level power in a  hierarchical netlist  You can use these options to request power  reports for all hierarchical sub blocks of the specified circuit  block with a single command     The level  option automatically generates power reports for all  sub blocks of the specified subcircuit down to the specified level     EXAMPLE 1   report block powr top level 2      This command generates a power report for the entire circuit   and automatically generates reports for all sub blocks down to  level 2  such as x1    x2    x1 x1   and  x1 x2       Theat level  option generates power reports only for the sub   blocks at the specified level     EXAMPLE 2   report  block powr top at  level 2      PowerMill User Guide    92    Chapter4 Power Analysis    NOTE     This command generates power reports for the entire circuit and  the second level sub blocks x1 x1  
90. ent  vainb   Average current  RMS current  vain7   Average current  RMS current  vain8   Average current  RMS current  vain9   Average current  RMS current  vainlo   Average current  RMS current  vainll   Average current  RMS current          Sample Block Power Report 225    0 001368 uA  23 447023 uA    0 001682 uA  30 281411 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 000000 uA  0 000000 uA    0 095737 uA  44 265948 uA    3 260720 uA  38 813769 uA    3 260651 uA  38 813809 uA    0 095980 uA  44 266041 uA    3 260651 uA  38 813809 uA    3 260651 uA  38 813809 uA    0 095980 uA  44 266041 uA    0 095979 uA  44 266041 uA    0 001632 uA  1 129229 uA    3 263539 UA  39 380620 uA    0 001632 uA  1 129229 uA    0 001632 uA  1 129229 uA    PowerMill User Guide    226 Sample Power Reports    Sample  power File      power file format 5 4           PowerMill Version 5 4     SN  P0O81899 Sun0s 5     Copyright  c  1999 Synopsys Inc   All Rights Reserved           KIKKIKKIKKKKKKKKKKKAKKAKKAKKKKKAKKKKKAKKKKKAKKAKKAKKKKKAKKAKKAKKKKKAKKAKKAKKAKKAKK    RUN TIME POWER BUDGET VIOLATIONS    KIKKIKKIKKKKKIKKKKKIKKAKKAKKAKKIKKKKKAKKKKKKKKAKKKKKKKKKKKAKKAKKAKKAKKAKKAKKAKKKKK                                     BLOCK top  DRAWS EXCESSIVE POWER FROM 10 8 TO 10 9 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 20 9 TO 21 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 20 8 TO 21 1 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURREN
91. ent so you can access the directory that  contains the current PowerMill release     2 Havethe following input files in your current directory     PowerMill User Guide    16    Chapter2 Getting Started    e A epicrc file  optional     e Netlist files in any supported format including  SPICE   xxx spi   HSPICE  xxx spi   and EPIC format  xxx ntl       Technology files  optional   e Configuration files  optional     Stimulus files  optional     Create a run script for your simulation  This script should  contain the powrmill command with the appropriate options  specifying your input files    EXAMPLE    powrmill  n adder spi  c cfg  p techfil o adder       Give the script a meaningful name such as runpw or  runpw scr     Run the simulation by entering the name of the run script     EXAMPLE     runpw    These output files will be generated  adder log  adder err   and adder out     For more information on output files  see Chapter 4      PowerMill Output Files    in the PowerMill Reference Guide    View the output files with the turboWave or SimWave  waveform viewer  To do so  type in the name of the viewer  followed by the name of the output file you want to view     EXAMPLE     turboWave  f adder out       Chapter 3    PowerMill Tutorials    18 Chapter 3 PowerMill Tutorials    Overview 19    Overview    This tutorial demonstrates both basic and advanced PowerMill  simulations using the 4 bit adder shown in Figure 1                          Figure1 Logic diagram of the four bit 
92. ent voltages  All supplies   constant voltage sources with voltages above the logic high  threshold  and grounds  constant voltage sources below the logic  high threshold  are assumed equivalent     For circuits that have multiple supplies or grounds   report ckt leak also searches for the following conditions   which can lead to unintended DC paths     m Partial off PMOS    A PMOS transistor with a source or drain that has a possible  channel connected path to a supply or input node with high  voltage VDDH  In addition  its gate has a possible channel   connected path to a supply or input node with high voltage  VDDL  where the voltage of VDDH is greater than VDDL     m Partial off NMOS    An NMOS transistor with a source or drain that has a   possi ble channel connect path to a ground or input node with  low voltage GNDL  In addition  its gate has a possible  channel connect path to ground or input node with low  voltage GNDH  where the voltage of GN DH is greater than  GNDL     m Forward bias PMOS    A PMOS transistor with a source or drain terminal that has  a possible channel connected path to a supply or input node  with high voltage VDDH  In addition  its substrate is  connected to a voltage source of voltage VDDL  where VDDH  is greater than VDD     m Forward bias NMOS    Analyzing Power Using the RC and UD Simulation Modes 119    An NMOS transistor with a source or drain terminal that has  a possible channel connected path to a ground or input node  with high voltage
93. er Guide    90 Chapter4 Power Analysis    Figure 2 shows a sample of the additional information provided  by the track wasted  option  This report provides the following  information about the block     m Average and RMS capacitive current  Thetotal current expended in charging block capacitances   m Average and RMS wasted current    Thetotal DC current consumed by the block and not used to  charge the block capacitances     m Leakage Percentage    The fraction of current consumed by the block  from all  sources  that is not used to charge block capacitances        Average capacitive current   39057 934468 uA    RMS capacitive current   56567 265346 uA  Average wasted current    6115 921641 uA  RMS wasted current   9764 697468 uA  Wasted current percentage   13 538631           a U U E    Figure 2 Sample information provided by the track_wasted   option of the report_block_powr command    You can also produce a block level waveforms and current  histograms for the capacitive and wasted currents  For more  details  see the PowerMill Reference Guide  and    Working with  Probes    on page 100     Measuring True Power in Watts    Using PowerMill  you can obtain the true power consumption   in watts  for a given circuit block  To do this  you need to specify  the track power  option when using the report block powr  command     EXAMPLE     report block powr my block track power 1 x1 x1      Analyzing Power Consumption 91    In addition to the basic current reports  this command g
94. erent options to produce  reports specifically tailored to your needs  This section details  the differences between the reports produced by the three block  power runs in this tutorial     block1 log    Figure 8 shows a portion of the block power reports printed in  the block1 log file  These condensed reports provide information    Advanced PowerMill Simulations 35    on the basic current consumption for each block  This  information includes the average and RMS current for the block  as well as the reported current peaks and the times at which  they occurred  By default  the simulator provides the five highest  peaks over the reporting interval  In this case  the reporting  interval is the entire simulation  You can use the  set_print_ipeak command to request the printing of additional  current peaks        Node  x1 vdd    Average current    5 98305et01 uA   RMS current   3 13568et02 uA  Current peak  1    4 90200e 03 uA at 2 50100e 02 ns  Current peak  2    4 89100e 03 uA at 4 10100e 02 ns  Current peak  3    4 89000e 03 uA at 5 70100e 02 ns  Current peak  4    4 82500e 03 uA at 9 01000e 01 ns  Current peak  5    4 82500e 03 uA at 7 30100e 02 ns   Node  xl_gnd  Average current   6 10597e 01 uA  RMS current   3 11328e 02 uA     90200e 03 uA at   89100e 03 uA at   89000e 03 uA at   82500e 03 uA at   82500e 03 uA at     50100e402 ns   10100e102 ns   70100e 02 ns   01000e 01 ns   30100e102 ns    Current peak  1  Current peak  2  Current peak  3  Current peak  4  Current peak 
95. erter biases to the operating point     View the contents of the cfg2 file and notice the addition of  the set sim trap command     Run the next simulation using the run  script     You will see the oscillator start up at about the 200 us point   The oscillations grow exponentially until they are about full  amplitude around the simulation end time of 400 us  This  simulation does not run particularly fast duetothe use of the  default time resolution  tres  of 10 ps     View the contents of the cfg3 file and notice the addition of  the set_sim_tres 1n command  This relaxes the minimum  event time resolution to 1ns from 10 ps     Run the simulation using the run3 script     Notice that this simulation runs much faster than that run  with the run 2 script     Using turboWave  load the following files  xtal1 out   xtal2 out  and xtal3 out     Load the signals you want to see  see Figure 15      PowerMill User Guide    158 Chapter6 ACE Tutorials       File Signal View Waveform Analog Tools Window Help    sla  asjale  Jam Jo fame  zB e  Ay                fu       Figure 15 Waveforms of signals from  out files    Discussion   Normally  it is not necessary to simulate crystal oscillators  because their behavior is well known  The small signal  transconductance of the inverter required for start up can be  easily calculated and the MOS devices sized accordingly  You can  effectively simulate crystal models in the megahertz range using  the set_sim_trap configuration command  It is re
96. es   5   umber of block biput nodes   17   umber of block input nodes   3   umber of block output nodes   0   umber of block stages s 1 5 9 7   umber of block partial stages   0  Average supply current    45144 660642 uA  RMS supply current   64875 016572 uA  Average ground current   45127 965926 uA  RMS ground current f 64878 957946 uA  Average input current   0 004319 uA   RMS input current   46 694417 uA  Average output current s 0 000000 uA   RMS output current   0 000000 uA  Average biput current   16 694782 uA  RMS biput current    293 473489 uA  Average capacitive current    39057 934468 uA  RMS capacitive current f 56567 265346 uA    Average wasted current    6115 921641 uA    224 Sample Power Reports    RMS waste    d current    Wasted current percentage    Average block power  RMS block power    Supply node currents     oq    oq    oq    oa    oa    oa    oa    oa    oa    oa             oa    e  vdq   Average current  RMS current   e  vext   Average current  RMS current   e  vr2k   Average current  RMS current   e  vbprst  Average current  RMS current   e  vrad   Average current  RMS current   e  vref   Average current  RMS current   e  vecex   Average current  RMS current   e  Vbbex   Average current  RMS current   e  vplex   Average current  RMS current   e  vblex   Average current  RMS current   e  vdd   Average current  RMS current       Ground node currents     oa    oq    oa    oa          oq    Input nod       Nod    e  vwpb   Average current  RMS current   
97. ess information  as a  graph of the curve of the maximum power vs  the number of  applied input vector pairs  see Figure 13      Maximum Power Estimation  T T T T T          E 1 1 1 1 1  a 16 56 66       26 30 46  Number of Yector Pairs Applied    Figure 13 Graphical format of GAP estimation progress report    6 Close the window containing the graph     7 Specify thereport gap parameters command at the  interactive prompt     PowerMill User Guide    46    Chapter 3 PowerMill Tutorials    This command shows the current settings of various GAP  options  In this tutorial  the following information is printed  to the screen        Current settings of parameters options for GAP     Fitness function is peak average power    History option nd  Population size S 2G  Search level 5  Clock period  20  ns     No upper limit on CPU time   No upper limit on number of generations   No upper limit on number of vector pairs   No upper limit on value of fitness function          8 Specify the report_gap_prediction command at the    interactive prompt     This command predicts a cut off point for the estimation that  you can use to reduce the total CPU time of the GAP  estimation  The number returned is a prediction of the total  number of vector pairs that need to be applied before the  estimation converges  From this number  you can subtract  the number of pairs already applied  as reported by the  report_gap_progress command  to determine the number  of additional pairs that need to be appl
98. ess you probably need to determine  how much power is consumed by each block  This information  allows you to optimize blocks using the most power  PowerMill  provides some configuration commands useful for retrieving  information on power consumption at the block level  See     Analyzing Power Block by Block    on page 87 for details on the    PowerMill User Guide    32 Chapter 3 PowerMill Tutorials    configuration commands for block analysis  This tutorial  illustrates how you can use the PowerMill simulator to analyze  power block by block        Files Needed for this Tutorial    The following table lists the files needed for this tutorial  These  files are located in thepw advanced  block powr subdirectory in  your working directory     Filename Description    adder cmd EPIC format netlist file that describes the  filename for the vector file and the node  names and port ordering for the vector file                adder vec Tabular digital vector file used as the digital  stimulus for the simulation   cfg1_block Configuration files for block power analysis   cfg2_block   cfg3_ block   block spi SPICE netlist of the circuit for block power  analysis   run1 block Run scripts for block power analysis   run2 block   run3 block       tech typ 25c 5v     Technology file       Procedure  Use the following procedure to run the block level power  analysis tutorial     1 Open each of the configuration files and study the commands  used     Each configuration file illustrates a dif
99. etect ckt latch configuration command  to detect latches  See    Using PathMill to Detect PPIs    on page 64  for details     Testing Latch Functionality for Flip Flops with Non Buffered  Outputs  If FFs  or latches  within the circuit are not buffered at the  output  you have to perform an experimental GAP run to  determine whether or not you can apply the vector triplet  method     1 Use the print node logic command to print the logic  waveform of the inputs and outputs of two or three FFs  for  each type used in the circuit  for a few vector triplets     PowerMill User Guide    54    Chapter 3 PowerMill Tutorials    2 For each triplet  verify that the values at the inputs by the  end of clock cycle   are equal to the values at the outputs at  the beginning of clock cycle II     This test verifies that the FFs or latches correctly latch the  state driven by the first vector in the triplet  and that the  state is not contaminated by the PPI stimulus itself  This  procedure is illustrated in    Using PathMill to Detect PPIs     on page 64     If you cannot verify this  it is suggested that you run GAP on  the sequential design using the vector pair approach  see  tutorial 5         Files Needed for this Tutorial    The following table lists the files needed for this tutorial  These  files are located in the pw_advanced  max_powr2 subdirectory in  your working directory        Filename Description   cfg_max_power Configuration file for maximum power  estimation   max seq power
100. f the four DFFs  Notice that these DFFs are 1   positive edge triggered  2  buffered at the output  and 3   instances defined by the subcircuit definition d       The clock  signal has a delay of O ns  a period of 40 ns  and a 5096 duty  cycle as described by the PULSE independent source  function     Towork properly using the vector tripl et method  GAP needs  to be synchronized with the clock signal driving the circuit   To achieve synchronization  you need to perform the  following procedure       Apply theperiod  option with theset gap opt command  to specify the period for the GAP estimation  which  should be equal to the clock period  40 ns  in this  tutorial   and      Apply the delay  option with the set gap opt command  to specify the delay for the GAP time window  which  should be equal to the delay of the clock  O ns  in this  tutorial      PowerMill User Guide    58    Chapter 3 PowerMill Tutorials    NOTE  You don t have to use the delay  option with the  set gap opt command for this circuit  since the  default starting time for GAP is O     TheFF s dock to Q time is not considered in this tutorial   delay through the combinational part of the circuit is used to  satisfy the hold time   If you have a circuit for which the  clock to Q time needs to be taken into consideration  you  would need to specify the values correctly before running  GAP  For example  suppose the clock signal starts from   100 ns  and the clock to Q time of the FFs is 0 5 ns  To  synchronize
101. ferent way to get block  power information  The information returned is different for    Advanced PowerMill Simulations 33    each file  Each command separates the VDD and GND current  for each block by assigning unique probe names     Run the simulation three times  once for each run script   When the simulation is finished  list the directory contents     The directory now contains several output files with the  block1  block2  and block3 prefixes     Open and examine the block1 l0g  block2 10g  and block3 log  files     Notice the differences between the block level reports in the  different  log files  In this case  only the current for each  adder cell is reported  therefore  the blocks are small  The  block power reporting principle applies to large blocks of a  chip  See    Differences Between the Resulting Block Power  Reports    on page 34 for a detailed analysis of each report     PowerMill User Guide    34 Chapter 3 PowerMill Tutorials    5 Load the block3 out file in turboWave and display the  average power waveforms for gnd and srcin each block   see Figure 7         File Signal View Waveform Analog Tools Window Help     sf  elele  js   Jo  al izi fy    fo 900 Bp Tengo              NU i         Em    bA NG NG PG PA BANNA  mananan             Figure 7 Waveforms of block analysis of output file block3 out  selected signals     Differences Between the Resulting Block Power Reports    As this tutorial demonstrates  you can use the  report_block_powr command with diff
102. first path is displayed in the Path Schematic area at the  bottom right corner of the browser     To view a particular path  click a path name in the DC Paths  text field  The schematic for the path you selected is displayed in  the Path Schematic area     Analyzing a Circuit 189    Standalone Version of DC Path Browser    TheDC Path Browser can be run as a standalone tool  To  invoke this version  use the dcpviewer command     EXAMPLE     dcpviewer  dcpth filename    The DC Path Browser will appear and display the DC paths  contained in the particular  dcpath file you specified  In  standalone mode  you can open any Powermill  dcpath file by  selecting File  Open Log File     Power Diagnostics Browser    You can use the Power Diagnostics Browser to graphically  view and sort diagnostic information  including static  configuration checks  multiple toggles  and dynamic rise fall  times     To load the Power Diagnostics Browser  click the Power    Diagnostics Browser button in the Result Analysis form   see Figure 17      PowerMill User Guide    190 Chapter7 Using the PowerMill Graphical Analyst    Power Diagnostics Browser       Static Paths         Excessive Rise Fall Time    Click these  buttons to JE Node Does Not Settle To Rails  set error  report below W Undriven Nodes     Excessive Transistor Current  _  Multiple Transitions  Include or    exclude nodes    Click here  to show error  report below    113 mx1 N1 Node is floating  Single NMOS transfer gate on node  Single NM
103. for  the subcircuit x1 x1 under the label my block     The block power report provides a statistical analysis of the  block including the number of elements  internal nodes  source  nodes  and biput nodes  By default  it also lists the average and  RMS source  ground  input  output  and biput currents for the  block     See    Sample Power Reports    on page 223 in Appendix A for a  sample block power report  This report is first printed to the  screen and then reported in the  log file  at the end of the  simulation  Using optional arguments  the report block powr  command can report the average and RMS ground current  and  produce a list of the current supplied by each individual supply   ground  input  output  and biput node     You can also produce a block level waveform and current  histogram  For more details  see the PowerMill Reference Guide   and    Working with Probes    on page 100     Measuring Wasted Power    PowerMill defines wasted power  also called short circuit  current  for a circuit block  as any DC current consumed by the  circuit block that is not used to charge block capacitances or  capacitances driven by the block  Specifically  PowerMill defines  the total current consumed by the block as the sum of the total  supply current and the current from the bi puts that are acting as  supplies   The current from biputs acting as ground is not  included      Analyzing Power Consumption 89    consumed current   total supply   X biput currents  ix 0     The con
104. for example a sibling  instance  the hierarchy browser display will change to refl ect the  new hierarchy context  Again  only the parent  children  and  sibling instances of the selected instance will be highlighted in    blue  see Figure 24     Children of new   L ldp  selected instance    New selected    instance   1      Former selected  instance becomes  a sibling instance          Figure 24 Context shift after selecting a related instance       Drag and Drop  You can drag and drop text from the panning display area or the  instance information fields located at the bottom of the  Hierarchy Browser     Analyzing a Circuit 201    1 Click the middle mouse button on the text you want to drag   then move the mouse  cursor      2 Release the middle mouse button when the cursor is in the  appropriate position     The text will appear in the new location     PowerMill User Guide    202 Chapter7 Using the PowerMill Graphical Analyst       Chapter 8    PowerMill Graphical  Analyst Tutorial    204 Chapter8 PowerMill Graphical Analyst Tutorial    Overview 205    Overview    This chapter gives you step by step instructions for running the  PowerMill Graphical Analyst tutorial  The following tasks are  covered     Getting the Input Files  Starting the Graphical Analyst  Setting Up for a Simulation    Running the Simulation    Analyzing Results    Getting the Input Files    Before you can run the graphical analyst tutorial in this chapter   you need to copy the required input fil es t
105. gh  the voltage in the technology file is 5 0 V  and the  VDD is 3 0 V  the simulator sets the thresholds to more  reasonable values by checking the neighboring connection   However  it is good practice to always use the   set node thresh command to set appropriate threshol ds     Comment out all the last report ckt leak command   report ckt leak        Uncomment each of the other report ckt leak commands  one by one and rerun the simulation each time     This process allows you to see the error messages that are  particular to different types of topologies     NOTE  The report_ckt_leak command is set up so that if  one possible error presumes others  only the most  serious error is reported  For example  if a node is  stuck_at_1  it is equivalent to saying that it has a  static path to VDD and no path to gnd  If the  stuck at 1 error is reported  the nc gnd and to vdd  errors are not reported since they are redundant        Chapter 4    Power Analysis    84 Chapter4 Power Analysis    Overview    Overview 85    This chapter addresses the various features provided by  PowerMill for the analysis and diagnosis of power use for your  circuits and includes information on the following subjects     Analyzing Power Consumption   Using the GAP Feature to Estimate Maximum Power  Performing a Dynamic Power Consumption Analysis  Performing a Static Power Consumption Diagnosis    Analyzing Power Using the RC and UD Simulation M odes    In discussing PowerMill simulation results  the term
106. grator Simulation   e Differentiator Simulation    m Tutorial 3  PLL SPICE Macro Modeling  m Tutorial 4  Crystal Oscillator Simulation    These tutorials are written with the assumption that you know  how to run vi  or another editor  and turboWave  or another  waveform viewer   Therefore  the specific steps for opening and  reopening files  loading signals  are not explicitly stated     NOTE  The turboWave screens in this chapter were captured with  altered colors and signal height  This was done to make the  screens more readable in print format  The waveforms you will  see in turboWave will look significantly different from the  screens in this chapter     Getting the Input Files    Before you can run any of the tutorials in this chapter  you need  to locate and copy the required input files to your current  working directory  The following procedure shows you how to do  this     1 Set the correct path to which the EPIC HOME environment    variable is set  If you need assistance  see your Systems  Administrator     PowerMill User Guide    138 Chapter6 ACE Tutorials    CAUTION     2 Copy  recursively  the complete contents of SEPIC HOME   tutorials  ACE to your local working directory        cp  R SEPIC HOME tutorials ACE          This command copies the ACE directory into the current  working directory  the period tells the cp command to copy to  the current directory      If thereis an existing file or directory called ACE already in your  current working directory  this 
107. h  approximately 200 CM OS transistors  In general  the GAP  estimation is more efficient  in results and CPU time  than a  random simulation        Procedure    1 Usethe configuration command use vec gap to specify the  vector file  with type    vec     to be used for the maximum  power estimation  For sequential circuits  you can only  provide the primary input vector file  You can automatically  generate a vector file containing all the pseudo primary  inputs  PPIs  by applying the mark node latch command   See    Tutorial 6  Estimating Maximum Power for Sequential  Circuits    on page 50 a detailed description of PPI detection     In the vector file  inputs  biputs  and pseudo primary inputs   output of memory elements  should be distinguished by  character    i        b     and    p     If no io command is specified  all  the signals are considered to be inputs  You can specify one or  more vector files  The following sample configuration file  shows how multiple vector files are specifi ed        use vec gap vec sepl vec vec sep2 vec  set gap opt period 10ns vec_history 3  guide  gap  search time 30 pattern 20000 fit 2          The vector files can contain vectors to be used by the genetic  algorithm as part of the first generation     PowerMill User Guide    106 Chapter4 Power Analysis    2 Usethe set gap opt command to set various GAP options  for controlling the estimation flow  This command has two  parameters that you can set     e Usethe period  option to set the 
108. h as the Hierarchy Browser   see Figure 19      Bo  al N3 mx1 N1    E    i      A    E F     113 mx1 N1  a Single NMOS transfer gate on node  Single NMOS transfer gate on node  Single NMOS transfer gate on node       Figure 19 Dragging and dropping a node name    The Power Diagnostics Browser provides wild card support   For example  if you want to see the errors on nodes in block A   you can select the following     only on nodes   A  or A     or Ar     By default  selected errors on all nodes are displayed  H owever   to help in filtering the errors  you can use wild cards to filter  nodes for particular blocks  For example  you can select only on  nodes a or A  if you only want to see the errors on the nodes in  block A  Another option is to drag the block A from the  Hierarchy Browser     Analyzing a Circuit 193    To view detailed information  select an Error in the display    area  A detailed description is printed in the Detailed Error  Description window        File Menu    After you have completed your diagnostic information analysis   you can close the Power Diagnostic Browser by selecting  File  Close Power Diagnostics Browser     Waveform Tool    The Powermill Graphical Analyst supports two waveform tools   Simwave and turboWave  The default tool is turboWave     Use the Options menu of the PowerMill GA main window to  select a particular waveform tool  Based on your selection  the  Results Analysis window will display and invoke either  turboWave or Simwave     H
109. he solution space to minimize maxi mize a specified  objective function  called a    fitness    function  Part of this work is  based on the Synopsys sponsored university research project led  by Professor Kwang Ting Cheng and Ph D  Candidate Yi Min   J iang from the Department of Electrical and Computer  Engineering at the University of California  Santa Barbara     The GAP feature is able to maximize four objective functions   m Average power per clock cycle of the circuit  m Instantaneous power of the circuit    m Average value per clock cycle of the customized fitness  function    m Instantaneous value of the customized fitness function    The GAP feature generates a tight lower bound on the maximum  power of a given circuit  At the beginning of the estimation  GAP  selects a specific group of vector sets to be kept  These vector sets    PowerMill User Guide    104 Chapter4 Power Analysis    are comprised of either vector pairs or triplets  depending on the  circuit type  see tutorials 5  6  and 7 in Chapter 3 for details    The GAP feature measures the quality of each vector pair based  on the power consumption it produces when applied to the  circuit  At each generation  GAP performs operations on the  vector files  in the kept group  to improve their quality  The  concept of the quality of vector pairs improvi ng with every  generation is analogous to the biological concept of natural  selection     You can control the size of the specific group  called the  population
110. his tutorial  you will learn how to model the system behavior  of a PLL by using controlled sources to model the different  sections of the system  The phase detector and charge pump are  modeled with a voltage controlled current source  The 1 s  integrator term is modeled with a voltage controlled current  source with a gain of 1 driving a 1 farad cap  The output of this  cap drives a voltage control led voltage source  This voltage  source has all the gain terms of the loop lumped together  except  for the charge pump current and the loop filter  The loop filter  components are used as they are in the RC network     Files Needed for this Tutorial    The followi ng table lists the files needed for this tutorial  They  are located in the ACE  pll directory                 Filename Description  cfg Batch run configuration file   pll2gm spi SPICE netlist for the PLL macro model  simulation   runpllm Run script for the PLL macro model  simulation   Procedure    Use the following procedure to run the PLL SPICE macro  modeling tutorial     1 Study the schematic in Figure 12     This schematic shows the controlled sources as triangle  symbols  similar to op amp symbols  There are two voltage   controlled current sources and two voltage controll ed voltage  sources  The loop filter components are entered as they  would normally appear in the transistor level netlist     Getting the Input Files 153       Loop Gain  K  Kp Kvco n  1p  4r Af AV   1 n   Where     Kp 2zlp Kvco  2rAf AV   
111. hreshold   TheSet Expansion Threshold form will appear     2 Click on the sliding bar and move it until the appropriate  setting appears above the bar     3 Click OK when you are done adjusting the bar     PowerMill User Guide    198 Chapter 7 Using the PowerMill Graphical Analyst    Select Instances to Display    If an instance contains more child cells than the expansion  threshold  the Select Instances to Display form will appear   see Figure 22    a Select Instances To Display q  Undisplayed Displayed  3 120  121  122  123  128  129  131     gt  gt      lt  lt                   OK   Cancel   Help      Figure 22 Select instances to display window       This form allows you to choose the child cells you want to display  in the instance tree     Choosing Child Cells to Display in the Instance Tree  1 Select the child cells you want to display   2 Press the 55 button to move them to the Displayed column     3 Ifyou do not want child cells to display  select them from the  Displayed column and press the  lt  lt  button     The child cells will move to the Undisplayed column     Analyzing a Circuit 199    Choosing Multiple Instances at one Time  1 Select an instance     2 Hold down the Shift key and click on the last selection you  want in the list     All the names from the first selection to the last are selected     To de select an instance  press the control key and dick on an  instance     When the Select Instances to Display form is complete  the  selected child cells wil
112. ich use switch level simulation techniques     produce a faster average power estimation with reasonable  accuracy  aS compared to the default PWL mode  RC mode    PowerMill User Guide    120 Chapter4 Power Analysis    provides full delay information for CMOS circuits  while UD  mode only provides fixed unit delay information     Technical Background    The power dissipation in digital CMOS circuits consists of two  major parts  capacitive power and short circuit power   see Figure 10         T l total       leap                   qu  C     percent short circuit                      _ x 100         Itotal   leap lsc          Figure 10 Short circuit  sc  current calculation    Switching current usually plays a major role in most digital  circuits  When runningin RC or UD mode  the simulator  calculates the average power based on the charging and  discharging of node capacitances  That is  the charging or  discharging current due to a voltage change  dV  at a node is   C   dv dt   wherec isthe capacitance and at is the transition  time of the node  This can accurately estimate the average  switching power in circuits     For CMOS circuits  short circuit current estimation in the RC or  UD mode is based on the input and output slopes and is less  accurate than PWL mode  In RC or UD mode  the simulator  estimates the short circuit current  Isc  using the switching    Analyzing Power Using the RC and UD Simulation Modes 121    capacitive current  I cap  and the ratio of the input 
113. ied before the  estimation converges     For example  if the report_gap_prediction command  returns 1000 and the report_gap_progress command  reports that 700 vector pairs have already been applied  it is  likely that the estimation will converge  produce the best  result  after applying an additional 300 vector pairs  You can  then apply the guide_gap_search max_vec 300 command  to cut off the estimation appropriately     NoTeE  As with other extrapolation processes  the accuracy  of the prediction from this command is limited   Although this command might reduce the CPU time  for the simulation  it might also reduce the accuracy    Advanced PowerMill Simulations 47    of the result  Therefore  you should only follow the  prediction from report gap prediction command  when reducing the CPU time is critical     9 Specify cont  sim at the interactive prompt     This restarts the GAP estimation     10 When the estimate is done  list the contents of the current    directory     This directory contains output files with a maxpower prefix     11 Open and examine the maxpowe gap file  see Figure 14         Estimates of maximum average power from the GAP    feature      only those generations increasing maximum power are    listed     Generation 0   Maximum power  0 00540997  Vec 0   010000000   Vec 1   101011011    Generation 1   Maximum power  0 00559405  Vec 0   101011001   Vec 1   110100101    Generation 6   Maximum power  0 00640677  Vec 0   010010100   Vec 1   101101001       
114. ierarchy Browser    TheHierarchy Browser provides you with a visual display of  the netlist hierarchy  To open the Hierarchy Browser  click    PowerMill User Guide    194 Chapter7 Using the PowerMill Graphical Analyst    the Hierarchy Browser button located at the middle left side  of the PowerMill GA main window  see Figure 20      Hierarchy Browser          Help  instructions  w Instance Name core  main       w Instance Type  4 Name And Type  io  driver   Panning  display  Tree  display     4 Selected Instance  w Selected Net  List of pins  in selected  Instance  Figure 20 Hierarchy browser  File Menu    After you are done using the Hierarchy Browser  you can close  it by selecting File Close Hierarchy Browser located at the  top left corner of the window        Hierarchy Display  The Hierarchy Browser contains the following display areas     Analyzing a Circuit 195    m Panning display  located on the left side of the window  this  shows you what portion of the tree is currently being  displayed in the tree display     m Treedisplay  located on the upper right side of the window   this shows a portion of the netlist s instance hierarchy     Panning Display  The panning display shows the layout of the tree  The rectangle  in the tree layout indicates the portion of the tree that is  currently visible in the tree display  You can update the portion  of the tree displayed by clicking on the rectangle and draggi ng it     Tree Display    Initially  the hierarchy in the tree di
115. ile  it registers it  with GAP simulation     The following messages appears on the screen     Reading configuration files       PPI dumping has been completed  Adding vec file  custom ppi vec to GAP and restarting GAP estimation     The simulation resumes automatically in GAP mode     8 When you see that the simulation has progressed somewhere  beyond generation 8  type Cont rol c to stop the simulator  in interactive mode     9 Type report  gap parameters at the interactive prompt     This interactive command prints a status report of GAP  parameters to the screen  see Figure 23         Current settings of parameters options for GAP     Fitness function is peak average power  History option  Population size  Search level  Clock period  upper limit CPU time  upper limit number of generations  upper limit number of vector triplets  upper limit value of fitness function       Figure 23 Report of GAP parameter settings    This command allows you to view and check the current  setting of the GAP parameters  including the vector history  option  population size  search level  and various stopping  criteria  for example  CPU time  number of generations  and  number of triplets      PowerMill User Guide    76 Chapter 3 PowerMill Tutorials    10 Typereport gap progress at theinteractive prompt  This  command prints a progress report for the GAP simulation to  the screen  see Figure 24         GAP result so far     time  secs    of triplets max power  watts     0 000714735    0100001
116. iler  FRGA Compiler Il  FRGA Express  Frame Compiler  Fridge  General Purpose Post Processor  GPP  HDL Advisor  HDL  Compiler  Integrator  Interactive Waveform Viewer  Liberty  Library Compiler  Logic Model  MAX  ModelSource  Module Compiler  MS   3200  MS 3400  Nanometer Design Experts  Nanometer IC Design  Nanometer Ready  Odyssey  PowerCODE  PowerGate  Power  Compiler  ProFPGA  ProMA  Protocol Compiler  RMM  RoadRunner  RTL Analyzer  Schematic Compiler  Shadow Debugger  Silicon  Architects  SmartModel Library  Source Level Design  SWIFT  Synopsys Graphical Environment  Synopsys ModelFactory  Test  Compiler  Test Compiler Plus  Test Manager  TestGen  TestSim  TetraMAX  TimeTracker  Timing Annotator  Trace On Demand  VCS   VCS Express  VCSi  VERA  VHDL Compiler  VHDL System Simulator  Visualyze  VMC  and VSS are trademarks of Synopsys  Inc     Service Marks  TAP in is a service mark of Synopsys  Inc     All other product or company names may be trademarks of their respective owners   Printed in the U S A     Document Order Number  32647 014 HB  PowerMill User Guide  Release 5 4       PowerMill User Guide    Table of Contents       About This Manual                                      xi    Introduction to PowerMill    OVErVIOW a iy Setter ae  Nh BY bot ee we Vda ap oe Ea hn  Mey Gok ee dea 3  Major Functions and Features          0 00 cee eee eens 3  Inputs  Outputs  and Interfaces            00 002 4       Getting Started    ONE EN TEN  lise  ced coe ote and shack a Wags w
117. ing procedure shows you how to do this     1 Set the correct path for the EPIC HOME environment    variable  If SEPIC HOME is not set  see your system  administrator     Copy  recursively  the files from SEPIC HOME   tutorials   pw basic and pw advanced to your local working directory   The files in these directories  and their subdirectories  are  needed for the tutorials in this chapter     cp  R SEPIC HOME tutorials pw basic    cp  R SEPIC HOME tutorials pw advanced               PowerMill User Guide    22 Chapter 3 PowerMill Tutorials    These commands copy the pw basic and pw advanced  directori es  respectively  into the current directory  the  period tells the cp command to copy to the current directory      3 Verify that your newly copied pw advanced directory  contains the following subdirectories  block powr  dc path  full chip  max powr1  and max powr2  Each of these  directories corresponds to and contains the files needed for  an advanced tutorial in this chapter     SPICE Netlists    All tutorials in this chapter use SPICE format netlists   Conversion to EPIC format is not necessary     A Basic PowerMill Simulation    The tutorial in this section demonstrates a basic PowerMill  simulation using the UNIX batch mode     Tutorial 1  Running a Basic Simulation    The following table lists the files needed for this tutorial  These  files are located in the pw_basic directory                 Filename Description   cfg Batch run configuration file   adder spi SPICE net
118. ing the PPIs    You can manually specify the PPIs  along with Pls  in the GAP  vector files  The vector files used for a GAP simulation  which  use the same format as the EPIC vector files  provide  information regarding the signals to be stimulated  for example   name  io  and radix      Advanced PowerMill Simulations 53    This approach is only feasible for small sequential designs since  identifying PPIs manually can be time consuming and error  prone     Using GAP   s Built in Mechanism    In hierarchical designs  FFs or latches might have subcircuit  definitions  For these designs  you can use the  mark_node_latch command  together with the set_ckt_cmd  command  to identify their output automatically  see the  command definition for mark node latch in the PowerMill  Reference Guide   Similarly  you can use the mark node latch  command and the set pattern cmd together to identify PPIs if  FFs or latches are defined as patterns  Using this approach  you  only need to provide GAP with vector files that include the Pls   GAP automatically generates and adds a vector file containing  all the PPIs  identified by the mark node latch command  to  the GAP estimation  This tutorial illustrates this method of PPI  detection     Using PathMill s Latch Detection Feature   If you havea circuit description that does not contain subcircuit  or pattern definitions for flip flops and latches  and you own a  copy of the PathMill simulator  you can use PathMill on the  circuit with the pw d
119. ing up for a simulation run  You can alsoselect Design  Data Setup from the File menu  Both of these actions cause the  Design Data Setup form to appear  See    Setting Up a Run    on  page 167 for more information on this process     Start Simulation Button    The Start Simulation button is used to invoke a simulation  run  See    Running a Simulation    on page 179 for more  information     Result Analysis Button    The Result Analysis button is used to access the PowerMill GA  analysis tools after you have completed a simulation run  See     Result Analysis Button    on page 166 for more information     Hierarchy Browser Button    The Hierarchy Browser button gives you access to a visual  display of the netlist hierarchy  See    Hierarchy Browser    on  page 193 for more information     Simulation Log Display    The Simulation Log text field  located near the top of the main  window  displays log information as the simulation progresses  It  will notify you when a simulation is finished     Error Warning Display  The Error Warning display shows you error and warning  messages as a simulation progresses     Result Display    The Result Display  located near the bottom of the main  window  gives you visual power consumption information  See     Analyzing a Circuit    on page 180 for more information     Setting Upa Run 167    Sort By Menu    The Sort By menu  located above the Result Display  allows  you to sort the kind of power consumption you want to display     Setting U
120. ion    Period  800 00ns   aa ORA   Displays  instances o  4 78uA    Displays peak             or average  current value  Displays  histogram  Simulation  time marker  average current  Figure 11 Power histogram browser  File Menu  After you ve completed your hierarchical power analysis  you can  close the Power Histogram Browser by selecting Close  Power Histogram Browser from the File menu   View Menu    You can analyze power consumption data in the Power  Histogram Browser from a variety of views  including zoomed   out and zoomed in views  and block and supply net views     PowerMill User Guide    184 Chapter 7 Using the PowerMill Graphical Analyst    To see a zoomed out view of the display  select Zoom Out from  the View menu  see Figure 12         File View   Option  Curre Fit Into Window  Zoom Out    Power Histogram Browser       File View Option  Current Instance     7600 00       Figure 12 Zoom out view of power histogram browser  Select Zoom In from the View menu to return to the original  view     To fit the entire power consumption display into the window   select Fit Into Window from the View menu     Analyzing a Circuit 185    Options Menu    The Options menu lets you view either the supply net or block  net histogram To see the supply net histogram  select  Options  Show Supply Net Histogram  see Figure 13         Fle View Option    Current Inst  Show Supply Net Histogram  Shaw Glock Histogran        Power Histogram Browser       File View Option  Current Instanc
121. ional   and io  optional   Vector files for the  GAP estimation differ from normal vector files in the  following ways      e A normal vector file must contain at least one vector   However  as you can see by examining the  max com powerl vec and max_com_power2 vec files  a  vector file for a GAP simulation can contain O vectors      e Normal vector files have four valid io types  i  input    o  output   b  biput   and u  unused   Vector files for a  GAP simulation have three valid io types  i  input   p   pseudo primary input  PPI    and b  biput   If no io  statement is specified  all signals in the file are  considered inputs     Vector files for the GAP estimation can contain vector pairs  to be used as part of the first generation for the genetic  algorithm  All other first generation vectors are randomly  generated  You can use the guide_gap_seach command to  specify the population size to control the number of input  vector pairs applied in a generation     The GAP estimation does not work on circuits in a wave   pipelining design  the clock period used in a GAP simulation  must be longer than the delay along the critical path of the  circuit  The default clock period is 20 ns  However  you can  use the set_gap_opt command to override the default  with  the period option   In the cfg_max_power configuration file   the set_gap_opt command specifies a clock period of 20 ns  and a history option of 1  the default value   therefore  only  the vector pairs of the generation
122. is red     Click the Set All button at the bottom of the form to activate  all blocks     By default  all blocks at the top level of the design are  selected     Specify the budget violation threshold for each block in the  Budget text fields     The Add Block button at the bottom of the form adds a set  of text fields for a new block  You can type in lower level  block names or drag and drop names from the Hierarchy  Browser     Saving  Clearing or Cancelling Your Changes    NOTE     m Saving  After you ve made your changes  click the OK    button to save your settings and close the Block Setup  form     Clearing  Click the Clear button to clear all information on  the form     Cancelling  Click the Cancel button to close the form  without saving your changes     If you do not invoke the Power Supply  amp  Block Power Setup  form  default values are automatically assumed  The supply  node voltages default to the values specified in the technology  file  The power for the top level blocks is automatically  calculated if there are less than 100 blocks in the design     The configuration commands needed to calculate the power for  the selected blocks are placed in a file called suppl ybl ock cfg in  the Powermill GA run directory  by default  powermill pwga   and are automatically applied to the run     PowerMill User Guide    176 Chapter7 Using the PowerMill Graphical Analyst    Power Diagnosis Setup    You can use the Power Diagnosis Setup form to set static  power  excessive
123. it to end the simulation and exit     PowerMill User Guide    64 Chapter 3 PowerMill Tutorials    7 Open and examine the maxpower log file                 Current information calculated over the intervals   0 00000e 00   2 40010e 03 ns    Node  stagel total_power  Average power   7 03574et02 uW    Node  stage2 total_power  Average power   7 8741let02 uW    Node  ff_array total_power  Average power   9 66177e 03 uW       Node  gap total_power  Average power   1 11595e 04 uW             This file contains power reports for the following four blocks     The 4 bit adder at the first stage  stagel total power     e The4 bit adder at the second stage   stage2 total power       Theflip flops  ff array total power     Thewhole circuit  gap total power     This report also includes various current statistics  for  example  average and RMS supply current  and average and  RMS input current  for individual blocks        Using PathMill to Detect PPIs    In this tutorial  the circuit description  in the max_seq_power ppi  file  contains a subcircuit definition for FFs  therefore you can  use the mark node latch and set ckt cmd commands to do  PPI detection automatically  However  if your circuit does not  contain a subcircuit  or pattern  definition for FFs or latches and  you havea copy of the PathMill simulator  you can use PathMill   s  latch detection feature to generate a PPI vector file that you can  use with a GAP estimation     NOTE     Advanced PowerMill Simulations 65    If you 
124. itivity R 390  printing the phase R 74  printing the time R 75  time step R 331  R 360  simulation execution  deleting interactive breakpoi nts R 50  listing interactive breakpoints R 95  setting simulation breakpoints R 225   R 248  simulation mode U 119  PWL mode R 256  R 295  RC mode R 257  R 300  UD mode R 265  R 266  R 300  R 315  simulation modes U 131  simulation time resolution U 129    PowerMill User Guide    238 Combined Index    SimWave R 418  sinusoidal stimulus  setting the points in a  period R 308  spd  setting  for analog simulations  see aspd  for simulation R 301  on nodes R 258  U 129  spf  printing node voltage R 131  SPICE model  level 37 model R 239  level 41 model R 239  using charge conservation R 239  SPICE netlist format R 8  stage  getting information R 76  printing R 76  state  tracing connectivity R 330  static power analysis U 116  step size control R 331  stimulus descriptions  See netlist file  stimulus files U 13  stimulus options R 318  subthreshold current R 366  R 373  swapping  ADF MI models R 324    T    technology files  automatic generation R 9  U 12  specifying R 9  technology files  controlling grid size R 137  threshold voltage R 261  time resolution  control U  129  output R 290  simulation R 303  time step  control R 331  control  tres  U 129  selection parameter  spd   changing  U 129    time  simulation R 75  tracing connectivity R 327  R 328  tracking intervals  setting R 286  R 292   U 101  transistors  NMOS R 88  transistors  
125. ks area by clicking  the toggle button located to the right of the Find DC paths at  times line  Then  enter the values as shown below     Find DC paths starting at 253ns and every 20ns report  paths  gt    04mA    Enter the following values in the Report Hazards area     Report nodes with multiple transitions within any ins  period     Click OK to save your changes and exit the Power Diagnosis  Setup form  Then  click Dismiss in the Simulation Setup  form  You are now finished with the set up process        Running the Simulation    Torun the simulation  click the Start Simulation button in the  Powermill GA main window  Notice that the simulation  messages are displayed in the Simulation Log text field  Note  also that error and warning messages appear in the Error   Warning text field     When the simulation is finished  the Result Display area of the  window displays power consumption of the first level of the  design hierarchy     Analyzing Results 215    Figure 8 shows the Results Display area of the PowerMill GA  main window           Result Display  Present Instance    Sort By  8 Average Current  uA        ADDERO  360 40uA    ADDER1    190 10ua    116 54uA    56 50ua             Fl Ig FI      The Total Current  723 58uA       Figure 8 Results Display area of the PowerMill GA main window    Note that you can use the Sort By menu to select various  display options  Select Wasted Current   from the menu and  notice how the display changes     Use your left mouse button t
126. kt_leak command to flag such nodes     However  a static DC short circuit path  which is independent of  the external stimulus  rarely exists in CMOS circuits  A dynamic  short circuit path is more likely  however  it requires a specific  input condition that might not occur  The report_ckt_leak  command can find a static DC path  as well as detect several  unusual topological conditions in regular CMOS designs  These  conditions  although insufficient to confirm a definite DC short   circuit path  might uncover potential short circuit paths     The report_ckt_leak command searches for the following  conditions     m Partial Swing Detection   A node is driven by NMOS   PMOS  transistors only and it drives at least one PMOS   NMOS  transistor   s gate     m No Path to VDD GND  T here is no possible conducting path  to the node from a supply  ground  node     m Static Path to VDD GND  T here exists a static conducting  path from a supply  ground  node to the node     m Nodeis Stuck at High low Voltage  A static conducting  path exists between the node and a supply  ground  node  In    PowerMill User Guide    118 Chapter4 Power Analysis    addition  there is no possible conducting path between the  node and any ground  supply  node     m Static DC Path  There exists a static conducting path  between two voltage source nodes     For the conditions mentioned above  the report ckt leak  command does not take into account difficulties due to multiple  supplies or grounds with differ
127. l appear in the tree display  A file cabinet  icon represents those child cells not displayed  To expand the file  cabinet  press the Shift key and click your left mouse button   This re opens the selection form so you can add or remove child  cells from the display     If you select an instance inside a file cabinet  it will appear in the  tree display  If the display of the instance s children exceeds the  expansion threshold  the Select Instances to Display window  will appear     Save Options    You can save the current option states by selecting Save  Options from the Options menu  This causes the Hierarchy  Browser to use the current option states the next time the  current design is opened     Displaying Connectivity  To start tracing a path  dick on an instance name in the tree    display hierarchy  Then  select a pin from the list at the bottom  of the browser     To trace a path  you must select both an instance and a pin  You  can select only one instance and one pin at a time     PowerMill User Guide    200 Chapter7 Using the PowerMill Graphical Analyst    When you select a pin  the parent  children  and sibling  instances connected in the net to the selected instance are  highlighted in blue in the tree display  see Figure 23      Sibling of  selected  instance    Parent of  selected  instance    Selected  instance    Children of  selected instance          Figure 23 Example of a selected instance and related instances    If you click another connected instance  
128. lements might be  carryi ng unexpectedly large currents  You can use the   report elem exi command monitor the currents of specified  elements and report those elements that have currents  exceeding a specified threshold for a specified time during the  dynamic simulation  PowerMill reports violations to the  err file     Analyzing Hot Spot Node Currents    When you are redesigning for lower power consumption  it s  helpful to know how each circuit node contributes to the total  power consumption  The report_node_hotspot command lists    Performing a Dynamic Power Consumption Analysis 113    the average current statistics for the specified nodes in the  sum  file  A sample hot spot report is shown in Figure 5              KKEKKKKKKKKKKKKKKKKKKKKKKKKK    KKK  HOt  Spot Statistics          KKEKKKKKKKKKKKKKKKKKKKKKKKKK       Node Name Cap  fF  Toggle Icin  uA  Icout  uA   X1 4 4150 91 6 503 21 510 44    1 45 6150 91 6 455 08 496 35  x19 4150 91 6 354 64 450 23  X1 3 2150 91 6 27999 270 87  X1 8 650 91 6 81 96 81 85  Khat 650 91 6 81 80 81 77  X12 150 91 6 18 96 19 00  X1 7 150 91 6 18 88 18 90  X1 6 150 91 6 Loe LG 18 09  1 69 23 6 8 66 7 96  Total non input nodes H 10   Total node toggles   60   Total charging current   1821 34 uA    discharging current       Figure 8 Sample hot spot report    The hot spot report provides the following information for each  node     m Average Node Capacitance    umped from netlist  wiring   and transistor gate and diffusion capacitances     m T
129. list for adder circuit   adder vcd Verilog description file   adder vtran Control file for changing Verilog into EPIC  format   run Run script for this tutorial       tech typ 25c 5v    Technology file          Procedure  Use the following procedure to run the basic tutorial     A Basic PowerMill Simulation 23    1 Usethe UNIX cat command to display the contents of the  run script     cat run  This script contains the following line     powrmill  n adder spi adder cmd  c cfg  o adder   p tech       The run script specifies the SPICE netlist  adder spi and  the command file for processing the netlist  adder  cmd  It  also specifies the cfg and tech  configuration and  technology files  In addition  the  o option setting instructs  PowerMill to use a prefix of adder for all output files  resulting from this run     See Chapter 1     The PowerMill Command    in the PowerMill  Reference Guide for more information on command line  options     NOTE  Thereis no    e    in the powrmill command     2 Usethe UNIX cat command to display the contents of the  configuration file     cat cfg   This file contains the following configuration commands   print_node_logic     print_node_v     report_node_powr gnd vdd    The first command prints all nodes in a digital format  The  second command prints all nodes as voltage waveforms  The  last command creates a report  in the adder   0g file  of the  average  RMS  and the five highest peak currents in the  circuit  Average and RMS waveforms are a
130. log  nodes  using the set sim esv  set_sim_aesv  set sim spd  and  set sim aspd commands     EXAMPLE 1     set sim esv 0 01    This example sets the event resolution voltage of all digital  nodes to be 0 01 V     EXAMPLE 2     set sim aesv 0 01    This example sets the event resolution voltage of all analog  nodes to 0 01 V  Any voltage change  from its last event voltage   higher than 0 01 V will schedule an event  provided there is no  local esv setting     In some cases  different parts of the circuit could have different  sensitivity requirements  In this case  you can apply the   set node spd and set node esv commands to individual  nodes     Controlling the Simulation Time Resolution 129    EXAMPLE 3    set node esv vco in 0 01   This example sets the event resolution voltage at node vco_into  0 01 V  Any voltage change  from its last event voltage  higher  than 0 01 V schedules an event at node vco  in    EXAMPLE 4    set node spd VCO IN 0 05    This command sets the spd value at node vco  IN to 0 05 V     Controlling the Simulation Time Resolution    Normally you will not need to modify the default simulation time  resolution  10 ps   However  when simulating low frequency  audio applications you might need to increase the time  resolution  the minimum time step  to perhaps to 1 ns  If all  nodes move slowly  a simulation time resolution of 10 ns or even  100 ns could provide sufficient accuracy with a high simulation  speed  You can use the set_sim_tres command to mo
131. lso be printed to  the adder out file     PowerMill User Guide    24    Chapter3 PowerMill Tutorials    See Chapter 2     Configuration and Interactive Commands    in  the PowerM ill Reference Guide for more information on these  commands     Use the VTRAN program to create the vector stimulus file  for this simulation     vtran adder vtran    M essages indicating the execution of the vtran command are  displayed  VTRAN generates two files  adder cmd and  adder vec  The adder vec file contains the tabular vectors for  this simulation     The adder cmd file contains the following line      is vec   en adder vec   ot cin a 3 0  b 3 0          This line calls the adder vec file and provides the signal  order  for the vector file  to the simulator     See the VTRAN 3 5 User Manual for more information   Run the simulation with the run script    When the simulation is finished  list the directory contents   Several output files with the prefix adder are created    Use turboWave to view the waveforms    turboWave  amp     From the turboWave main window  select File  Open to  open the adde out file     Advanced PowerMill Simulations 25    8 Usethe Signal pull down menu to select the signals to view   see Figure 4         File Signal View Waveform Analog Tools Window Help      pf PAA  PANN  NN       JA v         an nana  Aaa    I_rms  gnd        I_rms  vdd                 Figure 4 Waveform of basic adder circuit  selected signals     9 When finished viewing the waveforms  select File
132. lus types  see Chapter 5     Stimuli and  State Checking    in the EPIC Tools Reference Guide    Creating the Environment   epicrc  File    A file named  epicrc can be used to specify most of the command   line options for the powrmill command  Although not required   it is recommended for specifying options that are used  frequently  F or detailed information on PowerMill command line  options  see Chapter 1     The PowerMill Command    in the  PowerMill Reference Guide    PowerMill searches for the  epicrc file in three directories in the  following order     1 Your current working directory   2 Your home directory     3 TheEPIC installation directory  as defined by   EPIC_HOME     PowerMill User Guide    14    Chapter2 Getting Started    CAUTION     If there are multiple  epicrc files in these directories and or  command line options to control the settings  the precedence in  descending order is     1 Command line option settings  2 The  epicrc file settings in your current working directory  3 The  epicrc file settings in your home directory    4 The  epicrc file settings in S5EPIC HOME    If a file named  epicrc already exists in your home directory for a  different simulator  a warning message is printed when  PowerMill is run     The following table lists PowerMill command line options and  their corresponding keywords in the  epicrc file     Command Line Corresponding Keyword in the  epicrc File                                           Option    A analog mode    C c
133. m  the blocks are sorted according to how much  they exceed the budget  Blocks displayed in red exceed the  budget  Blocks displayed in yellow are under budget     Density   select to view density information     Power Supply   select to view the power consumption for  each power supply node     PowerMill User Guide    182 Chapter7 Using the PowerMill Graphical Analyst    Hierarchical View of Power Consumption    You can view power consumption information for lower level  blocks if they are specified in the Power Supply and Block  Setup form     To push down into a hierarchical block  double click with the left  mouse button on the desired block  To pop back up a level  double  dick on a lower level block  with the right mouse button     Results Analysis    To continue analyzing the circuit  dick the Results Analysis  button located on the left side of the PowerMill GA main  window  The Results Analysis form will appear    see Figure 10      H Result Analysis    DC Path Browser  Power Diagnositics Browser  turboWave       Dismiss          Figure 10 Result analysis form    To open a particular results analysis tool in the Result  Analysis form  click the appropriate button   Power Histogram    The Power Histogram allows you to hierarchically view power  consumption information for selected blocks  To open the Power    Analyzing a Circuit 183    Histogram  click the Power Histogram button in the Result  Analysis form  see F igure 11      Power Histogram Browser    File View Opt
134. mation requested for the command to work  See    Analyzing  Power at Full Chip Level    and    Printing and Reporting Internal  Node Currents    in this chapter      You can use the following commands to obtain element and  current information     get_elem_i  get_elem_iavg  get_elem_irms  get_elem_ipeak    These commands report the current value of the instantaneous   average  RMS  and peak currents  respectively  In each case  the  simulator reports the values for all element branches being  tracked  You can track the current for an element branch using  the commands discussed in    Printing and Reporting Branch  Currents        You can use the following commands to get interactive  information on blocks created with report_block_powr  command     get_block_info  get_block_i  get_block_icont    The get_block_info command supplies a statistical description  of the block  essentially identical to the header in the  report_block_powr report  in the  log file  In addition  if the  block was generated using the level or at_level options  it will  show the block s hierarchical parent block  as well the number  and names of its children     The get_block_i command reports the instantaneous  average   and RMS values of all quantities tracked by the block     PowerMill User Guide    96    Chapter 4    Power Analysis    The get block icont command generates hierarchical power  information for blocks created using the report block powr  level  or at level options  This consists of a so
135. mulation     1 Using vi  load the integr spi netlist file     Figure 8 provides the schematic of this circuit        CINT 20p         RIN 50K  T       OUT             Figure 8 Schematic of Integrator circuit    This circuit is a simple integrator using a 50K resistor and a  20 pF capacitor  The input waveform is a 250K hz square  wave between  2 V and  2 V     2 Run the simulation using the runint script     3 Using turboWave  load the integr out file     Getting the Input Files 149    4 Load the    in    and    out    signals  see Figure 9         File Signal Edit Format View Search Option Window Group Compare Messages    ojaleae  O  108157       v  in  AN AE    2 126e 00V 2  131e 00                lt n      Figure 9 Waveforms of signals in integr out file    As expected  the    out    signal is a triangle wave  There is  some initialization error at the beginning of the simulation  where the waveform is not tracking as it should  As you can  see  this clears out after short time     Differentiator Simulation    The following table lists the files needed for this simulation   They are located in the ACE  op amps directory           Filename Description   cfg Batch run configuration file   diff spi SPICE netlist for the differentiator  simulation       PowerMill User Guide    150 Chapter6 ACE Tutorials    Filename    rundiff    Description    Run script for the differentiator  simulation       typ_tech_nchan  typ_tech_pchan    Technology files       Procedure    Use the follo
136. n    g1 Ifin gnd vref vco out 23u g2 s1 gnd Ifin gnd 1e1 vco out gnd s1 gnd 15783e6         gt                             vref VCCS fin VCCS s1 VCVS vco out  cot R1 Lint  ae 8k  LICE aed    Es  C1  Ya 47 Af AV  e2 db8n gnd vco out gnd 0 125  db8n VCVS          Figure 12 Schematic of PLL SPICE macro model    This schematic includes the loop gain equation and a  representation of each piece of the loop gain parameters   Since the total loop gain is the product of each contributing  segment  you can separate terms and place them anywhere  in the loop     To make the circuit easy to modify  the charge pump current  is placed by itself as the gain for the phase detector model in  the first VCCS element     The feedback divide ratio is placed in the second VCVS  element as 1 n  In this case  it is 1 8 or 0 125  The balance of  the loop gain is put into the first VCVS that models the VCO     Using vi  look at pll2gm spi netlist file  Notice that the r1  resistor has a value of 1k     PowerMill User Guide    154 Chapter6 ACE Tutorials    This is the incorrect value used for the first run in this  tutorial  The result is an underdamped system response to a  step input     3 Run the simulation using the runpllm script   4 Using turboWave  load the pll2gm out file     5 Display the    vref    and    db8n  signals  The    vref    signal is the  input voltage and the    db8n    signal is the feedback  You will  see that    db8n    shows underdamped or ringing behavior     See Figure 13 f
137. n  achieving convergence both at DC initialization and  transient simulation since they limit the current through  BJ Ts when the pn junction is forward biased  However   expanding those resistors and internal nodes significantly  slows down the simulation     m Next  ACE performs circuit partitioning on the BJ Ts as with  an accurate MOS transistor  which includes its gate  drain   and source in the same stage  channel connected subcircuit      The base of a BJ T is included in the same stage with its  collector and emitter  This partitioning scheme is necessary  since base emitter and base collector junctions are strongly  coupled  This effectively connects two channel connected  regions that would usually be separated when a normal MOS  device is used  If a circuit contains only BJ Ts  all channel  connected and base terminal connected BJ Ts will forma  large stage  which makes the simulation very inefficient     The BJ Ts are simulated in the accurate element mode  which  uses a different time step control and error control to assure  simulation accuracy and stability        Chapter 6    ACE Tutorials    136 Chapter6 ACE Tutorials    Overview 137    Overview    Thetutorials in this chapter are intended to exercise features  and algorithms in the ACE simulation engine  The following  tutorials are included in this chapter     m Tutorial 1  CV Curve Generation  m Tutorial 2  Operational Amplifier Simulations    e Voltage Follower Simulation  e Step Input Simulation   e Inte
138. n  by  specifying the  nvec command line option   However   if you want to fully reproduce the GAP result for a  specific generation  you have to consider the state of  the circuit  therefore  you need to use the save and  restore mechanism  described in tutorial 6      Load the maxpower out file in turboWave and view the  mathematical signal gap total_ power  This signal represents  the instantaneous power  in watts  of the combinational  circuit used in this tutorial     Advanced PowerMill Simulations 49       File Signal View Waveform Analog Tools Window Help    m total power   0  00                         zr r M  it    Figure 15 Waveform of m gap total_power  signal in maxpower out file    PowerMill User Guide    50 Chapter 3 PowerMill Tutorials    Tutorial 6  Estimating Maximum Power for Sequential    Circuits    This tutorial shows you how to estimate the maximum power of  sequential circuits using PowerMill   s GAP feature  This tutorial  illustrates the following GAP features     m Detection of pseudo primary inputs  PPIs  using the  mark node latch and set ckt cmd commands  Here PPIs  are defined as the output of the memory elements  for  example  latches and flip fl ops      m PPI detection using the PathMill latch detection feature     m Thesaveand restore feature using the save history  option  of the set vec opt command     It is recommended that you first read the section     Using the  GAP Feature to Estimate Maximum Power    on page 103 in  Chapter 3 before r
139. n file   follower spi SPICE netlist for the voltage follower  simulation   runfoll Run script for the voltage follower  simulation   cmos35 mod BSIM3 v 3 SPICE model   Procedure    Use the following procedure to run the follower simulation     1 Using vi  open the follower spi netlist file     Go to the bottom of the netlist and you will see the  instantiation of the bias circuit block and the voltage  follower connection of the op amp     PowerMill User Guide    144 Chapter6 ACE Tutorials    See Figure 4 for the voltage follower schematic           NBIAS  X1  BIAS PBIAS    X2    SIN IN OPAMP SIN_OUT                Figure 4 Schematic of voltage follower circuit    2 Run the simulation using the runfoll script   3 Using turboWave  load the follower out file     4 Load the    sine in  and    sine out    signals  see Figure 5      Getting the Input Files 145    File Signal Edit Format View Search Option Window Group Compare Messages    5  059e D1V      sin cut    RUSSIA semen eng d          Figure 5 Waveforms of signals in follower out file    Step Input Simulation    The following table lists the files needed for this simulation   They are located in the ACE  op amps directory                 Filename Description   cfg Batch run configuration file   step spi SPICE netlist for the step input  simulation   runstep Run script for the step input simulation   typ tech nchan Technology files    typ tech pchan       PowerMill User Guide    146 Chapter6 ACE Tutorials    Procedure  Use 
140. n the  circuit at the microvolt or nanovolt resolution level  you could  easily fill up your disk     Simulating BJTs    The ACE option extends PowerMill   s capability to simulate  BiCMOS circuits with bipolar junction transistors  BJ Ts   The  BJ T model is an implementation of the Gummel Poon model  used in SPICE  Both NPN and PNP transistors are supported  as  well as diodes and diode connected bipolar transistors     Both vertical and lateral BJ Ts are supported  ACE is best suited  for circuits containing sparse BJ Ts as drivers  or interface  circuits  Simulation of circuits containing large blocks of BJ Ts  will be slow  since those BJ Ts are simulated as a whole  subcircuit  The simulation speed of small to medium sized pure  BJ T circuits isin the same order as SPICE  If the circuit does not  have large blocks of BJ Ts  the overall speed is faster than  SPICE     PowerMill User Guide    134 Chapter5 Using the ACE Feature    Procedure for Simulating BJTs    This section describes the process by which ACE simulates BJ Ts   This procedure includes several steps  some in preprocessing and  some during run time     m First  ACE reads the model from the netlist     It calculates some variables used during simulation and  calculates the temperature effect  if the operating  temperature is given     m Next  ACE expands internal nodes and internal resistors if  base  collector  and emitter resistors are specified     The base  collector  and emitter resistors are important i
141. nalysis            31  Files Needed for this Tutorial                  0 0    32  Procedure  seis cpx hve pe eda ese PUNA ee ne DADA 32  Differences Between the Resulting Block Power  Reports sia Bees hw Gate es Cae ANN we dis ee NG 34  Tutorial 4  Finding DC Paths             eee eae 37  Procedure rier pa ga a dee A a E 2k a ie Sei cee 38  Tutorial 5  Estimating Maximum Power for Combinational  CIRCUS 442 aae search A ABA Gana BM AOR fang uit BRIN tance  atid abe de ete ha 41  Files Needed for this Tutorial                   00   42  Procedure MA AA 42  Tutorial 6  Estimating Maximum Power for Sequential  Aa Aa 50  Identifying the Pseudo Primary Inputs                 52  Testing Latch Functionality for Flip Flops with  Non Buffered Outputs           00000  53  Files Needed for this Tutorial                  0000  54  PrOCCdUle  nh ieee ea ees Ga ele pyr S GE eee byes SE 55    Using PathMill to Detect PPIs                        64    Tutorial 7  Customizing a GAP Objective F unction using an    ADFMI  Gode File  enter aco Pa nd BP Pe he RoR ed 69  Procedure     Seesar Bea adit BOM aw Gane 69  Tutorial 8  Finding Static Leakage Paths                     79  Procedure auceu ia arid ban nal aa Ala aan a NG a Bang 81    4 Power Analysis    OVERYIEN an AG orien Apa Awe tn Gale ed a a aay Da 85  Analyzing Power Consumption           00000 cece eee eee eens 85  Analyzing Power at Full ChipLevel                  00000  86  Analyzing Power Block by BlOck           0 A0 eee eens 87  
142. nd period     Analyzing Results 217          H Power Histogram Browser E ial   File View Options Help  Present Instance    Period  30 00ns  A   ADDER3    ADDER2    ADDER1    ADDERO   ri       Bita hi ee    average current  lt 81 0uA  lt 162 1uA  lt 243 1uA 2324JuA BSA _            Figure 10 Power histogram browser       Select File     Close Power Histogram Browser to exit the  Power Histogram Browser     PowerMill User Guide    218 Chapter8 PowerMill Graphical Analyst Tutorial    Viewing the DC Paths    Next  you ll view the DC paths in the circuit  Click the DC Path  Browser button in the Results Analysis form  The DC Path  Browser appears  see Figure 11         cath Browser            No  of dc paths    213  Simulation Time  ns     t1  ADDERO XORZA  1 8     2  ADDERO P1   gt  AL   3  ADDER3 XORZB I    Figure 11 DC Path Browser    Thetop portion of the DC Path Browser graphs the number of  DC paths that occur at particular time blocks  To view the paths  that occur at a time block  click on a time block using your left  mouse button     Analyzing Results 219    Notice that a list of DC paths is displayed in the DC Paths text  field located at the bottom left corner of the window  A schematic  of the selected path appears in the display area located at the  bottom right corner of the window     To close the DC Path Browser  select File     Close DC Path  Browser     Viewing the Power Diagnostics    1    Click the Power Diagnostics button in the Results  Analysis form     The
143. o not want to save your changes  click the Cancel button  to close the form without saving     If you do not use the Power Diagnosis Setup form  default  values are automatically assumed  These values are visible  when you bring up the form     Running a Simulation 179    NoTE  The configuration commands needed to perform the checks are  placedin a file called diag cfg in the Powermill GA run directory   by default  powermill pwga  and are automatically applied to  the run     Running a Simulation    To start the simulator  dick the Start Simulation button  located on the upper left side of the PowerMill GA main  window  See Chapter 2 for information on what you need to run  a basic simulation     As the simulation progresses  log and warning messages appear  in the Simulation Log and Error Warning fields of the main  window  see Figure 7        PowerMill Graphical Analyst    Power Hill             5 0 real 1 0 user 0 0 sys  Total number of errors reported in the  err file  pownnill_pwga pownnill err    Please use the viewerror utility to view the detailed error messages  Summary of Errors        Simulation  Se pa    tup    Start  Simulation  Resukt  PRAYSIS          Hierarchy    Browser    T CODE  8  D CODE  10   8             Figure 7 Example log information in main window    To stop the simulation at any time  click the Stop Simulation  button  the Start Simulation button becomes the Stop    PowerMill User Guide    180 Chapter 7 Using the PowerMill Graphical Analyst    Sim
144. o view the lower levels of the  hierarchy     Double click with the left mouse button on the ADDER3 block   Notice the power consumption for the NoR3 instance is  displayed        Togo back up a level in the hierarchy  double click with the right  mouse button on the Nor3 instance  Notice that the top level  blocks are displayed     Analyzing Results    The PowerMill Graphical Analyst provides you with several tools  for viewing the results of a simulation  You can access these tools  by clicking the Result Analysis button in the Powermill GA  main window     PowerMill User Guide    216 Chapter8 PowerMill Graphical Analyst Tutorial    The Result Analysis form appears  see Figure 9      H Result Analysis    DC Path Browser  Power Diagnositics Browser  turboWave          Dismiss          Figure9 Result Analysis form    Viewing Histogram Information    First  you ll view a hierarchical display of power consumption  information for selected blocks  To do this  click the Power  Histogram Browse button in the Result Analysis form     The Power Histogram Browser will appear  see Figure 10      This tool displays the per cycle current consumption for the  blocks you previously selected in the Power Diagnostics  Setup form  In this case  30 ns was specified     To view the average current consumption per block and period    use your left mouse button to click any block in the display  Use  your middle mouse button to click on a block and view the peak  current consumption  per block a
145. o your current working  directory  The following procedure shows you how to do this     1 Set the correct path to which the EPIC HOME environment  variable is set  If you re not sure of the path  you can ask  your system administrator     2 Copy  recursively  the files from SEPIC HOME   tutorials   pwga to your local working directory  The files in this  directory are needed for this tutorial     cp  R SEPIC HOME tutorials pwga            This command copies pwga directory into the current  directory  the period tells the cp command to copy to the  current directory         Starting the Graphical Analyst    Start the Graphical Analyst by typing one of the following  commands at the UNIX prompt in your pwga directory     PowerMill User Guide    206 Chapter8 PowerMill Graphical Analyst Tutorial    pwga  powrmill  ga    The Powermill GA main window appears  see F igure 1                                 Exit PowerMill  Open Design Start and stop  or access Data Setup simulation    design data form toggle button Log information     PowerMill Graphical Analyst BE  File Options Help  Work File  powmill wrk Path  home gdwyer 5 4Env tutorials jpwga  Simulation Log  Simulation    Setup      Start  Simulation   hey  Result   a   STEVES cop   Error Waming  Hierarchy  Browser  Result Display  Present Instance    Sort By  Average Current  uA           ADDERO  360 4DuA    ADDER1     190 10ua    ADDER2  116 54uA    ADDERS     r   fcua             EJ ja E      The Total Current  723 58uA     
146. oad the file CV curveoutt file and then the  i1 rin  current waveform and the v in  voltage signal  You  should see the curves shown in Figure 2     File Signal View Waveform Analog Tools Window Help    aja  Lhe jem jo  eso   212          ilf rin                    Figure 2 Waveforms of signals in CV curve out file    4 Calculate the capacitance at the minimum and maximum  points using thei  C dv dt relation  Since you know the  current  I  and dv dt  you only need to calculate C     Notice that the cursor position in Figure 2 shows 1 96 pF   minimum poi nt      PowerMill User Guide    142 Chapter6 ACE Tutorials    Tutorial 2  Operational Amplifier Simulations    This tutorial utilizes a transistor level op amp of very high gain  in different configurations  The following configurations are    used     Voltage follower  m Step input   m   Integrator   m Differentiator    Figure 3 provides the op amp schematic used for this tutorial   This op amp has an open loop gain of approximately 116 db        PBias        5V       MP2  p q q                MP1 MP3                   NBias             O D  In4 MP5 MP6  LO MN1 MN2  In    gt  unr  HH  ne  MN7a MN8a  MN3 MN6   5V           _  MP3    Out             Figure 3    Schematic of op amp circuit    Getting the Input Files 143    Voltage Follower Simulation    The following table lists the files needed for this simulation   They are located in the ACE  op amps directory                 Filename Description   cfg Batch run configuratio
147. odes to display during simulation  analog or digital values    Power analysis to be performed     Circuit modification     Simulation accuracy control     The configuration commands are fully documented in Chapter 2      Configuration and Interactive Commands    and Chapter 3     ACE  Configuration Commands    in the PowerMill Reference Guide       Technology Files    The technology file describes the key features of the process  technology that PowerMill uses to predict the transistor  behavior in the circuit  This technology file is created using a  utility called Gentech  It can be created automatically or  manually     For information on how to automatically create a technology file  see the    Automatic Technology File Generation    section in  Chapter 4 of the EPIC Tools Reference Guide    For more information on manually running the Gentech utility   see the    Gentech    section in Chapter 4 of the EPIC Tools  Reference Guide    Stimulus Files 13    Directly Supported Models    If you are using BSIM1  BSIM2  BSIM3 v 3  MOS9  HSPICE  level 50   MESFET  or J FET models  you don   t need to specify a  technology file  The technology data lookup tables are created  internally at run time        Stimulus Files    Stimulus information can be placed inside the netlist or included  on the command line as a separate file  Types of stimulus incl ude  SPICE piecewise linear  PWL  or PULSE waveforms  EPIC clk or  tgl patterns  and digital vector files     Tolearn more about stimu
148. oggle Count   total number of logic toggles for the node     m Average Charging Current   average current flowing into  the capacitances connected to the node     m Average Discharge Current   average current flowing out  of the capacitances connected to the node     If a node toggle count is as expected  the charge and discharge  currents represent the mandatory current consumption to  support the necessary circuit operation     PowerMill User Guide    114 Chapter4 Power Analysis    Ideally  the product of the node capacitance  toggle count  and  supply voltage will equal the sum of the charging and  discharging current multiplied by the simulation period  Thus  if     toggle count     node capacitance     Vdd     charge         discharge     simulation time     is greater than O  some toggles cross the logic threshold  but  never reach the ful l swi ng value  either VDD or 0   Conversely  if  the difference is less than O  the node voltage waveform could  show some glitches  either above or below the logic threshold  voltage for which no toggle is counted     A large circuit with a large number of nodes could produce a  huge volume of data in the  sum file  which would be too  complicated to analyze  You can use the set_hotspot_factor  command to suppress those nodes for which the sum of the  charging and discharging current is less than a specified factor  multiplied by the sum for the node with the largest currents     The report in Figure 8 can be used to illustrate the 
149. ommand also sets the search  level option  level   to 7     E set ckt cmd d ff mark node latch no q    This line enables GAP  s built in latch detection mechanism  to generate and register the PPI vector file with the GAP  feature  The mark node  latch command searches nodes  that have the name q under all instances of subcircuit d ff   Notice that the name of the output of subcircuit d ff is q  A  PPI vector file containing these nodes is automatically  generated and registered with the GAP simulation     E print probe i inst customize gap fitness    This command instructs GAP to generate the waveform of  the value of the customized objective function  vs  time   and  print it to the output file  The name  customize gap fitness is the default name for the math  signal representing the value of the customized objective  function  You can also choose to print out the average and  RMS values of this signal  see the definition of the   print probe i command in the PoweMill Reference Guide      3 Open the gap customizec file     This is the ADF MI C filein which you define and register  your customized fitness function  See    Creating a  Customized F itness F unction    on page 108 in Chapter 4 for  instructions on creating this file      PowerMill User Guide    72 Chapter 3 PowerMill Tutorials    4 Locate the lines that are part of the RegisterUserModel    function at the bottom of the file  see Figure 20            Specify block power for blockl and block2         block1 will 
150. on                  0 00   143   Step Input Simulation           00 0002 eee 145   Integrator Simulation              00 002 147   Differentiator Simulation                  20000005 149    Tutorial 3  PLL SPICE MacroModeling                     151    Files Needed for this Tutorial                       152  Procedure ARA 152  Tutorial 4  Crystal Oscillator Simulation                    156  Files Needed for this Tutorial                       156  Procedure a maa AK ob ed NAA aa bib han ah bha NG 156       Using the PowerMill Graphical Analyst    OVET VI SW ag Aman NANA NG ALNG Edges aa ee dyes Saeed ge RO 161  Running a Basic PowerMill Simulation                   020000005 161  Starting the Graphical Analyst           0 000000 cece ee 162  Main Window    0    a EE E A EE 163   File Menun  nre a PRN bE hae LANA NARRA 165  Options  MENU Na Ga 4 eed lege eee deities wee paha 165   Help MENU nune She dee Deed bee KANONG cade Bee ANG 165  Simulation Setup Button             0 000002 ee 165   Start Simulation Button            0 0 00 000 eee 166   Result Analysis Button           0c eee eee 166  Hierarchy Browser Button             0 0000 166  Simulation Log Display             0 000000 cee eee eee 166  Error Warning Display             00 000 c eee eee 166   Result  Display reri niun AA cies Be een aie eee et at AY eee 166   Sort BY  MENU kanan hana Saad Pad ee See eine es Ba ate 167  Setting    Upa RUN iiri ranea E eae ane Aelia Eee 167  Specifying a Work File          0 0 0 
151. onfig_files  default_config_files    d delay_mode    F no_ace    fm user_adfm_obj_modules    FM user_adfm_obj_modules_force    L cell_lib_path    m top  cell    n netlist files    0 output_pefix_name    out print_format    p technology    t running_time        u user_obj_modules       Running a Basic Simulation 15    Command Line    Option Corresponding Keyword in the  epicrc File        U user_obj_modules_force       user_libraries       NOTE  The c command line option will not override the  default_config_files keyword  instead  they are  concatenated     NOTE  You can usetheuser_libraries keyword  which does not have  a corresponding command line option  to specify the full path to  the libF uncM ode  library  used with built in ADF MI models   See Chapter 7     Built in Models    in the 5 4 ADF MI Manual for  more information on the libF uncM odel library     Sample  epicrc File         This is a sample  epicre file   powrmill netlist_files dram net  powrmill config_files cfg  powrmill running_time 1000    powrmill output_root_name dram  powrmill technology techfile  powrmill user_adfm_obj_modules dram o  powrmill analog_mode       The semicolon     begins a comment linein the  epicrc file        Running a Basic Simulation    This section describes the procedure for running a basic  PowerMill simulation in batch mode  For information on running  a simulation using the Graphical Analyst  see Chapter 7     Using  the PowerMill Graphical Analyst        1 Set up your environm
152. ons     Options    The Options menu  located at the top of the Hierarchy  Browser  lets you change how information is displayed     If you select the dashed line at the top of the Options menu  the  menu becomes a dialog box     Show Internal Nets    Normally  when you click on an instance name in the tree  display  a list of nets connected to the instance s external pins  appears at the bottom of the display  If you select   Options  Show internal Nets from the menu  the instance s  internal nets will also appear in the list     Show Instructions    Select Show Instructions from the Options menu to display  instructions for using the Hierarchy Browser  This is a toggle  option  clicking it will either display or remove the instructions   Theinstructions appear at the top of the window       Ordering Instance Information    You can sort the data displayed in the text fields at the bottom of  the Hierarchy Browser three different ways  Select one of the  following buttons from the Options menu     Analyzing a Circuit 197    m Pin Name  lists information sorted by pin name   m Pin Direction  lists information by the pin direction   m Net Name  lists information sorted by net name        Set Expansion Threshold    You can set the maximum number of child cells that the browser  will display when you are expanding an instance in the tree  display into its child components  see Figure 21            Figure 21 Set expansion threshold form  Procedure  1 Select Options  Set Expansion T
153. or the expected waveforms        File Signal Edit Format View Search Option Window Group Compare Messages    s   mj    ssa2    73877       v  vref    AE       1  990e 00V 1  010e 00         Figure 13 Waveforms of signals in pll2gm out file  underdamped     6 Using vi to edit the pll2gm spi file  comment out the r1 line  with the 1k resistor     7 Uncomment the other r1 line containing the 8k resistor     8  9    Getting the Input Files 155    With this change  the damping factor is now near critical  damping     Run the simulation again using the same runplIm script   In turboWave  select File  Reload     Figure 14 shows the new waveforms        File Signal Edit Format View Search Option Window Group Compare Messages             Figure 14 Waveforms of signals in pll2gm out file  critically damped     10    This will reload the previously selected signals  The    db8n     signal now shows a well behaved smoothly settling waveform  and the ringing behavior is gone     Continue entering different values for r1 and C1 and rerun  the simulation     You will see how quickly a macro model of a PLL can give  indications of system response  This provides a fast easy way  to doa sanity check on PLL parameters such as loop filter    PowerMill User Guide    156 Chapter6 ACE Tutorials    values  charge pump current  and the effects of different  feedback divider ratios     Tutorial 4  Crystal Oscillator Simulation    This tutorial demonstrates the effect of the set sim trap  configuration
154. ore  all commands that affect the accuracy of the timing or  voltage also affect power  In addition  the following commands  control different aspects of the simulation specific to power  reporting     set_sim_ires   set_print_ires  set_print_tres  set_power_acc    The set_sim_ires and set_print_ires commands control the  current resolution of the current power reporting  PowerMill  ignores currents that are smaller than the values set by these  commands     The set print ires command affects only the current power  output and reporting   it does not affect the underlying  simulation engine  In contrast  the set_sim_ires command does  modify certain simulation parameters to ensure that the  underlying simulation is done with sufficient accuracy to  support the specified current resolution  In general  it is  recommended that you use the set_sim_ires command instead  of set_print_ires when you need to achieve a greater current  resolution  otherwise  the reported current values might not be  accurate  The default current resolution is 1 uA  The  set_print_ires command typically does not impact performance   but does affect the size of the  out file The set_sim_ires  command can have a significant effect on the speed of the  simulation     The set_print_tres command controls the time resolution of all  simulation output  printed to the  out file  as well as the time  resolution used in calculating the reported average and RMS  power numbers  The time resolution is set by defaul
155. otal CPU    12    13    Advanced PowerMill Simulations 61    time and total number of generations are printed at the end  of the file     Open and examine the max_seq_power gav and  maxpower  ppi gav files     These are the history files for the max_seq_power vec and  maxpower  ppi vec vector files  respectively  The two  gav files  contain the vectors for all generations that increased the  maxi mum power  You can use the vec history  option of the  set gap opt command to specify which vectors should be  kept     See the PowerMill Reference Guide for details on all of the  GAP configuration and interactive commands     NOTE  You can use the  gav files  generated by GAP  as  vector files for a regular PowerMill simulation  by  specifying the  nvec command line option   However   if you want to fully reproduce the GAP result for a  specific generation  you have to consider the state of  the circuit  therefore  you need to use the save and  restore mechanism  previously described in this  procedure      Load the maxpower out file in turboWave and view the  mathematical signal m gap total power   which represents    PowerMill User Guide    62 Chapter 3 PowerMill Tutorials    the instantaneous power  in watts  of the sequential circuit  used in this tutorial  see Figure 18         File Signal View Waveform Analog Tools Window Help    2  xfefe    Jo eae  alo BAK  AY        m total power   0  00                   QC a Ca Hi    Figure 18 Waveform of m gap total power  signal in maxp
156. ower 103  getting power information  interactively 94  in hierarchical netlists 91  measuring true power  in watts  90  power analysis  block level 31  estimating maximum power 41  full chip 29  85  printing branch currents 98  RC UD mode 119  static leakage paths 79  power diagnosis  dynamic 111  static 116  PowerMill environment  graphic  9  powrmill command 10  23  print resolution  of waveforms 130  probes  creating 87  88  90  91  100  printing current 100    R  RC  full delay  simulation mode 119    S    scripts  creating 16  shared memory 229  simulation mode 119    simulation modes 131  simulation time resolution 129  spd  setting   on nodes 129  static power analysis 116  stimulus files 13    T    technology files  automatic generation 12  time resolution  control 129  time step  control  tres  129  selection parameter  spd   changing 129  tracking intervals  setting 101  tres control 129  true power  in watts   measuring 90  turboWave screens 21  137  tutorials  basic PowerMill simulation 22  block level power analysis 31  finding DC paths 37  Finding Static Leakage Paths 79  full chip power analysis 29  maximum power estimation  combinational circuits 41  customizing objective functions with  ADFMI 69  sequential circuits 50    U    UD  unit delay  simulation mode 119  UNIX commands   cat 27   cp 22  138  205    V    vector files 13  automatic vector generation 41  103  See also  GAP feature  voltage resol ution  controlling 132  limits 132  VTRAN program 24    W  
157. ower out file       14 After a GAP estimation  you can use the generated state  files  which have a  Z extension  in two ways       You can resume a GAP estimation from the time the state  file was saved     e You can perform further analysis on those generations  with saved state files without re running the whole  simulation  see    Analyzing Generations with Saved State  Files    on page 63      Advanced PowerMill Simulations 63    Analyzing Generations with Saved State Files    The following procedure shows you how to analyze the average  power for different blocks within the two stage pipeline circuit  for generation 3  with a state file named   maxpower save  7200 000000ns Z      1 Verify that the following command has been added to the  configuration file     restore_ckt_state 7200ns    2 In the configuration file  uncomment the last seven  commands  which are currently commented out     These commands create three blocks within the circuit    the 4 bit adder at the first stage  the 4 bit adder at the  second stage  and the FFs   and report the average power for  individual blocks     3 Run the simulation using therun max seq power script     When you see that the si mulation has progressed somewhere  beyond generation 3  type Cont rol c to stop the simulator  in the interactive mode     4 Type guide gap  search max  gen 1 at the interactive  prompt     5 Resume the simulation by typing cont  sim   The simulation stops right after generation 3 is finished     6 Type qu
158. p a Run    Before running a simulation  you must specify the netlist and  technology files PowerMill will use  You ll also need to specify  power supply information for the run  block set up variables  and  the power diagnosis checks you want to perform     1 Tostart the set up process  click the Simulation Setup  button located at the middle left side of the PowerMill GA  main window     TheSimulation Setup form will appear   Figure 2 is an example of the Simulation Setup form      Simulation Setup    Design Data Setup    Supply Block Power Setup  Power Diagnosis Setup          Dismiss       Figure 2 Simulation setup form    2 Click either Design Data Setup in the Simulation Setup  form  or select Design Data Setup from the File menu     PowerMill User Guide    168 Chapter7 Using the PowerMill Graphical Analyst    Specify   work file   Specify   netlist files  Specify  technology files  Simulation time in  nanoseconds  Design library path  Specify  command line  options       The Design Data Setup form  as shown in Figure 3  will  appear       ware ang other coassa line options aco filepasas   Por  N pour cen configuration flea       Hide Help    Click to  save values    Click to  clear values    Click to  exit form          Figure 3 Design data setup form    You can get to this form from either the File menu or the  Simulation Setup form     Specifying a Work File    A work file is used to store information associated with a  particular simulation run  After a run is comple
159. parallel   merging R 104  transition times  reporting R 181  tres control U  129  true power  in watts   measuring U 90  turboWave R 418  turboWave screens U 21  U 137  tutorials  basic PowerMill simulation U 22  block level power analysis U 31  finding DC paths U 37  Finding Static Leakage Paths U 79  full chip power analysis U 29  maximum power estimation  combinational circuits U 41  customizing objective functions  with ADFMI U 69  sequential circuits U 50    U    UD  unit delay  simulation mode R 265   R 266  R 300  R 315  U 119   units   argument units R 20   changing units R 23  UNIX commands   cat U 27   cp U 22  U 138  U 205  U state   printing R 215   reporting R 185  R 338  utilities   edisplay R 417   Eview R 418    V    VCVS R 270   vector applying R 318   vector checking  options R 338  setting comparison windows R 340  setting vector drive resistance R 318  setting vector high low voltages R 260    R 318  setting vector slope rise fall times R 318  skipping vector comparison for given  nodes R 337   vector files U 13   automatic vector generation U 41  U 103  Seealso  GAP feature   Verilog netlist format R 8   ViewTrace R 418   voltage forcing R 53   voltage resolution  controlling U 132  limits U 132   voltage source R 270   voltage waveforms  printing R 131   VSRC R 270   VTRAN program U 24    W    warning messages   limiting  by index  R 92   limiting  by phase  R 93   printing control R 237    w command line option R 237  wasted power R 140  U 88   See also
160. ple    assign     statements to build up the desired sum     Oncethe probe is constructed  the commands print probe i and  report probe i can be used to obtain  out file waveforms and  Jog file current summaries for the probe identical to those  created for the node currents  In addition  the  report_node_powr command requests current information for    Analyzing Power Consumption 101    all probe nodes if used without specifying any nodes  These  commands can also be used with the report block powr  command to obtain waveform information from those commands     Current Histograms and Tracking Windows    PowerMill can generate a current histogram for each node   branch  and probe  The current histogram report consists of a  report of the average  RMS  and peak currents over a set of user   defined intervals printed to the  hist file  A sample current  histogram report for nodes VDD and GND is shown in Figure 6     You can print a histogram using the report node i    report elem exi  and report probe i configuration  commands  Alternatively  you can use the report ckt phist  command  which automatically generates current histograms for  each constant voltage source node  as well as all user defined  probe nodes  This automatically generates histograms for all  power nodes including probes created by report block powr     PowerMill User Guide    102 Chapter4 Power Analysis       Node  XGND    Start  ns    0000e 01   0000e 01   3000e102   7000e102   1000e102   5000e102   9000e10
161. porting R 145  R 146  branch  Seedenent  breakpoints  interactive  R 36  deleting R 50  listing R 95  setting element breakpoints R 225  setting node breakpoints R 248  setting time breakpoints R 314  BSIM1 models U 13  BSIM2 models U 13  BSIM3 v3 models U 13  bus notation R 210    C    Cadence SPF netlist format R 8  capacitance   adding R 41   adding wirecap R 42   modeling R 375   nodes with high cap value R 384   setting R 250  case sensitivity  controlling R 335  charge conservation model R 239  charge pump R 357  R 396  chip level power analysis U 85  circuit connectivity  modifying R 105  circuit errors  handling R 82    command  alias R 100  environment variables R 215  interpreter R 217  reading files R 136  translation  from 3 x  R 317  command arguments  argument tag R 23  argument unit R 20  changing units R 23  specifying arguments R 20  command line options R 3 R 11   A U 132  comment character  defining R 215  comment line  in  epicrc file U 15  configuration commands  assign_branch_i U 100  U 122  assign_node i U 100  U 122  limit_dcpath_search U 115  print_branch_i U 122  print node i U 86  U 122  print node logic U 23  U 30  print node v U 23  U 30  print probe i U 30  U 100  U 122  report block leakage U 89  report block powr U 30  U 88  U 122  report ckt dcpath U 38  U 39  U 115  report ckt leak U 117  U 118  report ckt phist U 101  report elem exi U 112  U 122  report elem i U 101  report node hotspot U 112  report node i U 86  U 101  U 122  report node m
162. power  run script     When the estimate is done  list the contents of the current  directory     The GAP estimation produces several output files with a  maxpower prefix     PowerMill User Guide    60 Chapter 3 PowerMill Tutorials    11 Open and examine the maxpower gap file  which contains a  summary of the GAP simulation  see Figure 17      Estimates of maximum instantaneous power from the GAP  feature     only those generations increasing maximum power are  listed     Generation 0   Maximum power  0 080511  watts   Vec 1   010000101101110011  Vec 2   10001101011000zzzz  Vec 3   11101011110111zzzz    Generation 3   Maximum power  0 082563  watts   Vec 1   101000001100110000  Vec 2   00100010010010zzzz  Vec 3   10011001101001zzzz    Generation 92   Maximum power  0 120024  watts   Vec 1   000110100110111011  Vec 2   00000000010000zzzz  Vec 3   11111111101111zzzz    Generation 93   Maximum power  0 121689  watts   Vec 1   000110100010110001  Vec 2   00000000000000zzzz   Vec  3 2 111111 1111111z27z2    Total number of generations  256  Total CPU time   1244 61  secs           Figure 17 Contents  partial  of the maxpower gap file    Each generation of the GAP estimation simulates the circuit  with 20 input vector triplets  by default   The maxpower gap  file contains an entry for each generation that improved the  maxi mum power  Each entry consists of the following fields   generation ID  maximum power produced  and the input   vector triplet producing the maximum power  The t
163. q_power vec and custom ppi vec  respectively     The custom ppi vec file is the PPI vector file generated by the  mark node latch command  Since the vec_history  option  of the set gap opt command is specified as 2  stimuli of all  the generations that improved the maximum value are  tracked in the two  gav file     PowerMill User Guide    78       Chapter 3 PowerMill Tutorials    Estimates of maximum average power from the GAP feature      only those generations increasing maximum power are    listed     Generation 0   Maximum power  0 000714735  Vec 1   010000101101110011  Vec 2   10001101011000zzzz  Vec 3   11101011110111zzzz    Generation 1  Maximum power  0 000759248  Vec 1   101101111000110111  Vec 2   01000101100110zzzz  Vec 3   10010010111111zzzz             Generation 2   Maximum power  0 000882713  Vec 1   101101111000110111  Vec 2   01000101000110zzzz  Vec 3   10010010111111zzzz          Generation 3   Maximum power  0 000904537  Vec 1   101101111111000110  Vec 2   01000101010011zzzz  Vec 3   10010010111101zzzz     watts      watts      watts      watts     Ar    gD    Figure 25 Contents  partial  of the custom gap file       Advanced PowerMill Simulations 79    Tutorial 8  Finding Static Leakage Paths    This tutorial illustrates how you can use PowerM ill to find static  DC short circuit paths  A static DC short circuit path existsif a  node has a static conducting path to VDD and a static conducting  path to GND  The report_ckt_leak command finds static DC  path
164. r average  capacitive  percent wasted  power   report block powr top track gnd 1 track wasted 1     Print instantaneous  average  and rms waveforms  to out file   print_probe_i inst top     print probe i avg top       print probe i rms top              The commands as set in this configuration file  perform the  following functions     e print node logic  prints all nodes in digital format   e print node v  prints all nodes as voltage waveforms     e report block powr  provides the averages for supply   ground  input  output  and biput as well as instantaneous  waveforms in the  out file  It also provides a report on the  percent of wasted power  short circuit current        print probe i  prints the instantaneous  average  and  RMS current waveforms     2 Run the simulation using the run full script     Advanced PowerMill Simulations 31    3 Examine the full log file  Notice the reports at the end of the file     4 Load the full out file in turboWave and display the average  power waveforms in each block  which are preceded by an  upper case    see Figure 6      File Signal View Waveform Analog Tools Window Help    2s asf  L_ 7478  jo L_  7478       I total src     aang  AA pug pe  a an  PANA a ANA j      PANAY  PAYOLA    Va    pte       I total gnd     I total cap  EEEE    kai PAN  A     ang a  AA ee PAA _     a               Figure 6 Waveform of advanced adder circuit  selected signals        Tutorial 3  Performing a Block Level Power Analysis    As part of the design proc
165. report    You can specify the histogram intervals using the  set_print_iwindow command     EXAMPLE 17     set_print_iwindow period 100ns start 25n end 238ns  on_time 30ns    This example specifies the following current windows  1  from  25 ns to 55 ns  2  from 125 ns to 155 ns  3  from 225 ns to 238 ns     When a set of current tracking intervals is created by the  set_print_iwindow command  the simulation only tracks  current during the specified intervals  Therefore  waveforms    Using the GAP Feature to Estimate Maximum Power 103    printed to the  out file are limited in time to the specified  intervals  Also  the average  RMS  and peak currents and  waveforms are only computed based on the periods when  tracking is enabled  This can be useful when you want to ignore  part of the simulation run when calculating the current  statistics     Using the GAP Feature to Estimate Maximum Power    PowerMill s GAP  Genetic Algorithm for maximum Power  estimation  feature searches input vector pairs or triplets to  maximize the power dissipation of a given circuit  The GAP  feature combines a genetic algorithm with advanced circuit  simulation technol ogy to efficiently generate a tight lower bound  on the maximum power estimation of a given circuit  The power  computed is the summation of the power dissipated and the  power stored in the circuit     A genetic algorithm is a general purpose optimization algorithm   Through a mechanism analogous to natural selection  it can  search t
166. rrent   30 454213 uA             Figure 9 Excerpt from block power reports in block2 log file    block3 log    Figure 10 shows a portion of the block power reports printed in  the block3 log file  This excerpt shows the block power report for  the x1 block and was generated by the following command     report_block_powr x1 track_wasted 1 track_power 1  track gnd 1 x1      Advanced PowerMill Simulations 37    This report is the same as that in the block2 log file with the  addition of reports on capacitive contributions  wasted current   and power in watts        Block  x1  Number of nodes in block ee    Number of elements in block   41  Number of block supply nodes i 1  Number of block ground nodes J  Number of block biput nodes   nG  Number of block input nodes got 2  Number of block output nodes   0  Number of block stages 1  Number of block partial stages 1       Average supply current    59 873924 uA  RMS supply current y 313 624995 uA  Average ground current   61 049494 uA  RMS ground current   311 347667 uA  Average input current 0 000000 uA  RMS input current 0 000000 uA  Average output current 0 000000 uA  RMS output current 0 000000 uA  Average biput current    1 172278 uA  RMS biput current   30 454213 uA  Average capacitive current    41 307089 uA  RMS capacitive current   263 016049 uA  Average wasted current   21  971519 uA  RMS wasted current   79 569210 uA  Wasted current percentage g 34 721875   Average block power  gt  302 205535 uw  RMS block power   1565 24
167. rrent   and block power  to calculate the fitness measure     The following table lists the files needed for this tutorial  These  files are located in the pw_advanced  max_powr3 subdirectory in  your working directory     Filename Description  cfg_max_power Configuration file for maximum power  estimation       max_seq_power spi SPICE netlist of the sequential circuit   a segment of a datapath with two  pipelined stages  to be estimated       max_seq_power vec Vector file to be used for maximum  power estimation    cmos35t mod A BSIM3 v3 SPICE model used to run  the simulation in direct mode                gap_customizec An ADFMI C file used to customize the  objective function for the GAP  simulation  run_custom Run script for GAP customization  Procedure    Use the following procedure to customize the objective function  for a GAP simulation     PowerMill User Guide    70    Chapter 3 PowerMill Tutorials    1 Open and study the max seq power spi file     Notice that the clock is defined at the bottom of the file as a  pulse signal with a delay of 100ns and a period of 40ns  The  circuit contains four FFs  positive edge triggered  which are  instances defined by the subcircuit d f f  The output of the   subcircuit d ff is buffered     Open and study the cfg_max_powr configuration file  The  following file sample shows the contents of this file     use_vec_gap vec max_seq_power vec  set_gap_opt delay 100ns period 40ns vec_history 2  guide_gap_search fit 3 level 7    set_ckt_
168. rted list of the  block s hierarchical children and their contributions to the  specified currents     EXAMPLE     get block icont current src type inst xsr34x22 top    This command returns the contribution of each child block of the  parent block 34x22 to the block s total supply current  See  Figure 5 for a sample of the output of this command        Block     xsr34x22 top    Total instantaneous source current   16054 265763 uA  Contributions from children      Figure 5    xsr34x22 x1158 top    7026 176334 uA  xsr34x22  67 to  3376 436160 uA  xsr34x22  66 to  2848 805135 uA  xsr34x22  61 to  2100 318100 uA  xsr34x22  69 to  691 675033 uA  xsr34x22  64 to  7 744000 uA  xsr34x22  60 to  5 689000 uA  xsr34x22  63 to 4 136000 uA  xsr34x22  62 to  2 858000 uA  xsr34x22  70 to 1 320000 uA  xsr34x22  65  0 000000  xsr34x22  68  0 000000  xsr34x22  5 95   0 000000  xsr34x22  57   0 000000             KOKO KKM KM MM MX  oo o o ro ro ro iro ro ro ro Bro iro        Sample output from get block icont command    You can use the following interactive commands to get current  information on individual probe nodes generated by the  report block powr command  or the assign node i and  assign branch i commands     get probe i   get probe iavg  get probe irms  get probe ipeak    Analyzing Power Consumption 97    Controlling Power Reporting Resolution and Accuracy    The accuracy of the reported current and power values is  dependent on the accuracy of the underlying simulation engine   Theref
169. rview    Overview 9    This chapter provides the basic information you need to start  using the PowerMill simulator  It lists the required and optional  input files and provides a basic procedure for running a  PowerMill simulation     You can learn to run both basic and advanced PowerMill  simulations by performing the tutorials provided in Chapter 3      PowerMill Tutorials        The PowerMill Environment    Figure 1 graphically represents the PowerMill environment     Vector    f  Stimulus Files m Model Libraries    Technology  Files                     Configuration  Files       PowerMill  Simulator    PowerMill  Output Files  Display    Figure 1 The PowerMill Environment                    In this figure  solid arrows indicate the necessary input files for  PowerMill  Arrows with dashed lines indicate optional files   Netlist files  technology files  and stimulus functions are fully  described in the EPIC Tools Reference Guide     PowerMill User Guide    10  Chapter2 Getting Started    The PowerMill Command    PowerMill is executed by typing the powrmill command  followed by a series of command line options  The  n command   line option is the only required option  The  p  to specify the  technology file  and  c  to specify a configuration file  options are  optional  but frequently used     EXAMPLE   powrmill  n netlist spi  c cfg  o test  p typ_tech     If no configuration file is specified and a SPICE or HSPICE  netlist is used  the use_sim_case configuration command
170. s   BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 182 2 TO 182 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 182 2 TO 182 4 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 221 6 TO 221 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 221 6 TO 221 8 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 222 2 TO 222 3 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 222 2 TO 222 3 ns   BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 261 6 TO 261 7 ns  BLOCK top  DRAWS EXCESSIVE POWER FROM 261 6 TO 261 8 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 262 2 TO 262 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 262 2 TO 262 4 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 301 6 TO 301 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 301 6 TO 301 8 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 302 2 TO 302 3 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 302 2 TO 302 3 ns    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 341 6 TO 341 8 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 341 6 TO 341 8 ns       Sample  power File 227    BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 342 2 TO 342 4 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 342 2 TO 342 4 ns   BLOCK top  DRAWS EXCESSIVE SUPPLY CURRENT FROM 381 6 TO 381 7 ns   BLOCK top  DRAWS EXCESSIVE POWER FROM 381 6 TO 381 7 ns     KIKKIKKIKKIKKIKKKKKKKKAKKAKKAKKIKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKK    POWER BUDGET VIOLATION SUMMARY    KIKKIKKIKKAKKKKKAKKAKKAKKAKKAKKAKKKKKAKKKKKAKKAKKAKKKKKAKKAKKAKKKKKAKKAKKAKKAKKAKK    BLO
171. s and detects several unusual topological conditions in  regular CMOS designs  Various topologies are listed in the  PowerMill Reference Guide under the description of the  report ckt leak command  This tutorial highlights the effect of  each of these topologies     The following table lists the files needed for this tutorial  These  files are located in the pw_advanced  static_leak subdirectory in  your working directory     Filename Description  cfg_static Configuration files for static leak analysis    static_powr spi SPICE netlist of the circuit for block power  analysis  See Figure 26           run_static Run scripts for static leak tutorial       tech typ 25c 5v     Technology file       PowerMill User Guide    80    Chapter3 PowerMill Tutorials             Pinag pa  artial Swing Checks    xpsl    nps                       vopy gt     5 0v1 mn22  kk nc gnd   2 0V   mn21  nc vdd  BUS  VDDH    C mp23 mp25 mp26  km kn ko    mn23 mn25 mn26    bus    static leak stuck at 1 stuck at O          forward bias p       Figure 26 Schematic of the static powr spi netlist          clk    GNDL  forward_bias_n    xps2    QUTF ff          Advanced PowerMill Simulations 81    Procedure    Use the following procedure to run the static leakage path check  tutorial     1 Open and examine the cfg_static configuration file  see  Figure 27         set sim case 1l   print node v       report ckt leak el   to vdd to gnd   report  ckt leak el   static leak  ireport  ckt leak el   stuck at 1 stuck
172. s effective power and current simulation and  diagnosis capabilities not only enable you to successfully  engi neer the design of an integrated circuit  but also  significantly improve its reliability     Major Functions and Features    The PowerMill simulator can perform the following functions     m Run transistor level simulations  with SPICE like accuracy   with a run time 10 to 1000 times faster than SPICE     Display instantaneous current waveforms   Display first derivative di dt waveforms   Report peak  average  and RMS currents   Report DC leakage paths     Perform static power diagnosis     Provide block power statistics that identify hot spots  blocks  with excessive power dissipation     Run in batch mode with different parameters     Automatic vector generation for maximum power estimation     PowerMill also provides the following features     m An Analog Circuit Engine  ACE  feature that allows you to  perform accurate SPICE like circuit simulation on much    PowerMill User Guide    4 Chapter 1 Introduction to PowerMill    larger designs than those traditionally handled by SPICE   This feature supports bipolar transistors     An algorithm to efficiently handle node to node coupling  capacitance and crosstalk     Two graphical analysts  one for the base simulator and the  other for ACE  for setting up simulation runs and analyzing  results     Interactive debuggi ng tool     Technology migration requiring limited technol ogy related  data     Automatic technol og
173. s you  can use to create a simulation that is balanced in terms of  accuracy and performance  It includes a default set of rules as  well as several sets of rules that can be applied as needed to  improve either the accuracy or speed of a simulation     PowerMill User Guide    126 Chapter5 Using the ACE Feature    The default autodetection rules  controlled by the  search ckt msx command  provide acceptable accuracy and  speed for most mixed signal circuits such as PLLs  ADCs  DACs   switched capacitors  etc  However  some circuits might require a  more accurate simulation  in which case  you could apply the  search ckt analog command  This command applies a more  extensive set of rules and is more accurate  However  a  simulation using search ckt analog command will run  somewhat slower as compared to a simulation using the default  search ck msx rules  The actual effect on speed will depend on  the type of circuit  the amount searched  and how much the  search ckt analog rule changes settings from the  search ckt msx rule     You can use the following configuration commands to apply  different sets of autodetection rules  as needed     m search ckt msx  default     Use this set of rules for mixed signal circuits  This is the  default rule setting  except when running in RC or UD  simulation modes  It includes most of rules used by  search ckt analog  but is less conservative and runs faster     m search ckt analog    Use this set of rules for analog circuits  This command  
174. se  the keyword epic or spice  The time s  are user determi ned and   in this case  optional     EXAMPLE 2   report node ic all for spice lu    In this example  a11 is a keyword  for  is a tag  spiceisa  keyword  and 1u is a value     Menu Text  Filenames  and Examples    Menu text appears in bold  as shown in the following example     EXAMPLE 1   To start setting up a run  select File Design Data Setup     XV    Filenames are shown in the same font as the surrounding text   but in italics     EXAMPLE 2   This is an example of the file fil name out being shown in text     Examples are shown in courier font as they might appear on  your screen  Sometimes explanations follow examples  and in  such cases  anything shown in the example that appears in the  explanation is shown in the same courier font used in the  example     EXAMPLE 3   add node  cap RS100 275    In the example  the capacitance value of node Rs100 is increased  by 275 femtofarads     PowerMill User Guide    XVi About This Manual       Chapter 1    Introduction to PowerMill    2 Chapter 1 Introduction to PowerMill    Overview    Overview 3    PowerMill is a transistor level power simulator and analyzer for  CMOS and BiCMOS circuit designs  As more components are  integrated into smaller silicon chips  power consumption  becomes a major concern  Detailed current information about  each circuit component is critically important to the designer   Designs must be optimized for minimum power consumption     PowerMill 
175. set to OV     The Power Ground column allows you to specify whether  the supply net is a power net  or a ground net  By default   supply nets greater than 0 V are assumed to be power nets   Nets that are less than or equal to O V are assumed to be  ground nodes     1 Tospecify whether a net is a ground or power node  click the  right mouse button in the power ground field     A popup dialog box appears   Select either power or ground   Click the Add Supply button to add supply nets     The Clear button clears all the voltage values and any new  power supply nets you added  The supply nets derived from  the netlist remain in the form  but are nolonger assigned  voltage values     Block Setup    You can also use the Power Supply  amp  Block Setup to specify  the blocks you want to monitor  and set up power budgeting  checks     The text fields in the bottom section of the form list the top level  blocks in the circuit and related information  If there are more  than 100 blocks at the top level  no blocks will be displayed  In  this case  you must manually select the blocks you want to  include in the power calculation     Transistors are not displayed in the form  If the design is flat    that is  no hierarchy   then no blocks are selected  A popup  warning will inform you that there are no top level blocks     Selecting Blocks  1 Toselect blocks  click the toggle button located to the left of    Block Setup 175    the Block Name text fields   A block is active when the button 
176. sions in  directories    Select a  directory name    Select a  file name    Selected  file name       Activates Filter  text field       Figure 4 File finder form       Using the File Finder Form    TheFile Finder form gives you easy access to the fil es you need  to run your simulation     TheFilter text field  located at the top of the form  lets you  designate files with specific extensions     1 Type   wrk at the end of the path     2 Click the Filter button  located at the bottom of the form  to  see all files in the directory that have a  wrk extension     Setting Upa Run 171    The Directories column is used to select a directory  containing the file you want to use  You can change the  directory being viewed by double clicking on a directory  name     A list of files in the directory you selected appears in the  Files column     The Selection field at the bottom of the File Finder form  shows you the full path and name of the file you sel ected     Click the OK button to save your selection  and close the  File Finder form     Importing Existing Run Scripts    The Graphical Analyst accepts existing PowerMill run scripts     1 Click thelmport RunScript button     3    The File Finder dialog box will appear     Typein the name of an existing run script in the Selection  dialog box  The options specified in the run script are  automatically entered into the appropriate fields  and a work  file is created     Click OK button to save your settings and close the form     Sp
177. slope and  output slope  There will always be some discrepancy between the  estimated short circuit current calculated in the RC and UD  modes and the actual short circuit current calculated in PWL  mode  If the short circuit current is small  this discrepancy is  negligible  However  if a circuit contains a large short circuit  current  if the input slope is much slower than the output slope   the discrepancy between RC and UD mode results and PWL  mode results could increase significantly  In this case  a power  analysis using RC or UD mode would be inaccurate     Another source of discrepancy of average power   between PWL  and RC modes   is derived from the application of different  timing models  which could cause new glitches or existing  glitches to change width and height or even disappear     Running a Simulation in RC or UD Mode    You can instruct the simulator to run in RC mode in two places   You can either usethe d rc command line option when starting  the simulator or you can use the use set_sim_mode rc  command in the configuration file  Likewise  you can use the  a  ud command line option or the set_sim_mode ud command to  run in the UD power analysis mode     Power analysis in RC and UD modeis based on switching  capacitive power in each stage  which generally corresponds toa  gate  Therefore  only the average power of a stage is meaningful  and  as aresult  the instantaneous power is displayed based on  the average power  You can combine RC and UD stages wi
178. splay consists only of top   level design components  You can expand portions of the instance  tree by pressi ng the shift key and clicking your left mouse button  on instances  You can collapse the hierarchy by holdi ng down the  shift key and clicking a previously expanded instance     When you click on the instance name  it becomes red  Pin  information for the selected instance is displayed in the text  fields at the bottom of the Hierarchy Browser  The instance  name is also displayed in the Selected Instance text field     You can choose to view the tree display by instance name or type   or both by clicking the Instance Name  Instance Type  or  Name and Type buttons located at the top left corner of the  Hierarchy Browser     You can view the attributes of a net in the tree display by  clicking the Selected Net button located at the bottom right  corner of the window  then selecting a net name from the list  below     PowerMill User Guide    196 Chapter 7 Using the PowerMill Graphical Analyst    Show Info    The data displayed in the instance information fields depends on  the button you click in the Show Info About box  If you click  the Selected Instance button  a list of pins on the selected  instance is displayed  including direction information  and the  name of the net the pins connect to  If you click the Selected  Net button  the displayed information includes instances  connected to the selected net  the instance pin connecting to the  net  and the pin directi
179. sumed current is comprised of two types of current   capacitive current and wasted current     m Capacitive Current  any current for which its conductive  path terminates  or originates  at a circuit capacitance  This  current is essential in carrying out the switching functions of  the circuit     m Wasted Current  any current for which both ends of the  conducting path are voltage sources  This current does not  contribute to the changing of circuit voltages and  therefore   is considered    wasted        Usually  wasted power consists of the DC current flowi ng  from power to ground  This wasted power can come from  crowbar or short circuit current caused by both P channel  and N channel devices being on the during a transition  It  can originate from floating inputs or from DC paths that are  unintended  It can also come from floating inputs or from DC  path that are unintended such as device leakage currents  It  can also come from analog bias circuits and current mirrors  in operational amplifiers that cannot be avoided  but will be  reported as wasted power     Using the report_block_powr Command    You can measure wasted power using the track wasted  option  of the report_block_powr command     EXAMPLE   report  block powr my  block track wasted 1 x1 x1      This command generates a power analysis report for the  subcircuit x1 x1   that includes both the standard block power  report  see    Analyzing Power Block by Block     and a wasted  power report     PowerMill Us
180. t to be ten  times the value of the simulation time resolution  see  set_sim_tres   This setting should be adequate for most    PowerMill User Guide    98    Chapter4 Power Analysis    situations  however  if you want to get the maximum accuracy in  the current calculation  you should set the print time resolution  to be the same as the simulation time resolution  This setting  will create a larger output file and possibly reduce the  simulation performance since the output handles a larger  number of points     The set power acc command allows you to set the level of  detail used in the accounting of circuit capacitances when doing  element and node current calculations  Typically  the simplified  models provide a high level of accuracy  and a significant  improvement in simulation performance  when used to calculate  the average and RMS current values  However  you might want  to use the more accurate models if you need to get the detailed  shape of the instantaneous waveforms  Specifically  you should  apply the most accurate settings when comparing instantaneous  waveforms of small circuits with another simulator  such as a  SPICE simulation  Results for large circuits typically are not  very sensitive to the capacitance model  The default settings  usually provide a reasonable balance of accuracy and  performance     For more specific information on each command  see Chapter 2      Configuration and Interactive Commands    in the PowerMill  Reference Guide    Printing an
181. taneous  average  and RMS  values of the block supply current  ground current  biput  current  wasted current  and power  as well as to the block s  leakage percent     Ordinarily  PowerMill only checks for budget violations at the  conclusion of the dynamic simulation  However  if you specify the  run_time_check 1 option  PowerMill will monitor the  instantaneous current and power values during the dynamic  simulation  In this case  PowerMill writes a message to the  err  file each time the budget is violated  and a prints a summary of  each violation in the  power file  You can use the  handle ckt error command with the run time check  option  to drop the simulation into the interactive mode whenever a  budget violation occurs     Finally  you can specify the check dcpath 1 option  to trigger a    DC path check each time an instantaneous current power budget  violation occurs     Retrieving Power Information Interactively    You can interactively retrieve most power information  during  the dynamic simulation  that is reported to the output files if you  have previously instructed PowerMill to track that information     You can use the following commands to obtain node current  information     get_node i  get node iavg  get node irms  get node ipeak    Analyzing Power Consumption 95    These commands report the current value of the instantaneous   average  RMS  and peak currents  respectively  In each case  you  must have requested the simulator to track the relevant  infor
182. ted  the data can  be read directly from the work file without having to enter  information again     Work file names always end with a  wrk extension  After each  simulation  a results directory with the same name as the work  file  with a _pwga extension  is created  All simulation output  files  as well as files generated by the Graphical Analyst are  placed in the results directory     Setting Upa Run 169    By default  the PowerMill GA assumes a work file called  powrmill wrk  The results of the simulation are placed in the  powrmill pwga directory     Tostorethe results of multiple runs  you can change the  wrk file  name  This will create a directory with a corresponding name   The directory contains the results of a particular simulation     All paths specified in the Design Data Setup form are assumed  to be relative to the directory containing the work file     You can create a work file  or select an existing work file in the  Design Data Setup form using one of the following methods     m Typea new work file name in the Work File text field     m Usean existing work file nameif it already appears in the  Work File text field     m Click the Browser    button located to the right of the Work  File text field     PowerMill User Guide    170 Chapter7 Using the PowerMill Graphical Analyst    This pops up the File Finder form  You can use this form to  select an existing work file  Figure 4is a snapshot of the File  Finder form     Specify files  with particular  exten
183. th  PWL stages to achieve a balance between speed and accuracy   PowerMill   s RC and UD modes apply a few basic circuit detection  rules to the circuits and mark portions of the circuit to use the  PWL mode     PowerMill User Guide    122 Chapter4 Power Analysis    CAUTION     You can apply the following power diagnosis commands to  RC and UD stages     report block powr  Use this command to analyze power use for specified stages   If the specified elements cover only a partial stage  this  command forces the whole stage into PWL mode     EXAMPLE 1   report block powr blk2 xadder   blkl    This command reports the average power dissipation for a circuit  block  in this case  an adder circuit     report_probe i and print_probe i  Use these commands to report or print current information  for probes created by the report_block_powr command     EXAMPLE 2   print probe i avg blkl_vdd  print probe i avg total src bik2     This example prints the average VDD current waveform of the  adder block specified in Example 1     report node i and print node i  Use these commands to get the total power dissipation of RC  and UD stages by applying them to power nodes  VDD GND   connected to these stages  Applying them to non power nodes  forces the stages into PWL mode     EXAMPLE 3    report node i avg VDD   report  block powr bikli track wasted 1    report block powr bik2         These commands report the power dissipation for the whole  circuit  assuming VDD is the only power source     
184. the PowerMill Graphical  Analyst  GA  by typing one of the following commands at the  UNIX prompt     Main Window    Starting the Graphical Analyst 163    pwga  powrmill  ga    If you have previously simulated a circuit using the GA  the next  time you start pwga  it will  by default  load the last run work  file and display the results of the most recent simulation     EXAMPLE     pwga run_script wrk    PowerMill uses the work file to determine the location of the  PowerMill results     After you invoke the PowerMill Graphical Analyst  the   Power Mill GA main window appears  This window is used to  set up  start  and stop a simulation  and access analysis tools  It  also displays log  warning  and power consumption information   see Figure 1      PowerMill User Guide    164 Chapter 7 Using the PowerMill Graphical Analyst    Exit PowerMill  Open Design Start and stop  or access Data Setup simulation  design data form toggle button Log information    u      z  PowerMill Graphical Analyst       J    File Options Help    Work File  powmill wrk Path  home gdwyer 5 4Env tutoriaals jpwga             Simulation Log    Simulation  Setup      Start      Simulation    Result  Analysis                Error aming    Hierarchy  Browser               Result Display  Present Instance    Sort By  Average Current  uA     ADDERO     ADDER1              a I I      The Total Current  723 58uA                    Access display Access to Error  amp  Warning messages  of netlist hierarchy analysis
185. the following procedure to run the step input simulation     1 Using vi  open the step spi netlist file     You will see that the connection is the same as the voltage  follower  The difference is in the input waveform  In this  case  the step response will be observed  The important  parameters are the slew rate going up and down  the settling  time  any ringing effects  and the accuracy of the final value  or gain error     The schematic is shown in Figure 6     5    Figure 6 Schematic of step input circuit          STEP_OUT          Run the simulation using the runstep script   Using turboWave  load the step out file     Load the    in    and    step out    signals  see Figure 7      Getting the Input Files 147    There are three steps to the waveform   1 5 to  1 5 to zero to   1 5 V         File Signal Edit Format View Search Option Window Group Compare Messages    ajae    2aco1o       v  in      S00e 00V  1  500e 00            Za    Figure 7 Waveforms of signals in the step input simulation    Integrator Simulation    The following table lists the files needed for this simulation   They are located in the ACE  op_amps directory           Filename Description   cfg Batch run configuration file   integr spi SPICE netlist for the integrator simulation  runint Run script for the integrator simulation       typ_tech_nchan Technology files  typ_tech_pchan       PowerMill User Guide    148 Chapter6 ACE Tutorials    Procedure  Use the following procedure to run the integrator si
186. the state at the beginning of all  generations     The save history  option is disabled by default     3 Usethe guide gap search command to specify additional  parameters for the GAP estimation  You can use this  command to set the following parameters          Use the level  option to select the search level to be  applied to the GAP estimation  The search level is an  integer between 1 and 10 that defines a set of parameters  to be applied to the genetic algorithm  A higher search  level generally produces a better result  but requires  more CPU time  The default valueis 5     Use the fit  option to specify the objective to be  maximized  that is  the fitness function   Currently  the  GAP feature supports two objective functions   instantaneous power  fit 2  and average power per clock  cycle  fit 1  default      Use the max_vec  option to limit the number of applied  input vector pairs or triplets during the estimation  The  estimation stops when it reaches this limit  The default  value is positive infinity     Use the max_value  option to limit the value of the  fitness function  The estimation stops if the value of the  fitness function exceeds this threshold  This value uses  MKS units and has a default value of positive infinity     Use the max gen  option to limit the number of  generations applied  The default value for this option is  positive infinity     Use the time  option to limit the CPU time used by the  simulation  The simulation stops when it reaches this
187. time of node exceeds limit  0 ADDER2 XORZA N 4 Estimated Rise Fall time of node exceeds limit  0 ADDER2 XOR2B N 4 Estimated Rise Fall time of node exceeds limit  0 ADDER3 XORZA N 4 Estimated Rise Fall time of node exceeds limit  0 ADDER3 XORZB N_4 Estimated Rise Fall time of node exceeds limit  227 ADDER1 XORZB N_4 Node has multiple toggles  22 64 ADDER1 XOR2B N 5 Node has multiple toggles  23 04 s i  Node has multiple toggles  32 84 ADDER2 XOR2B N 4 Node has multiple toggles  EI fe Fel  fey   44 items displayed       Detailed Error Description     Static Power Diagnosis  Estimated Rise Fall time of node ADDER0 XOR2A N 4 exceeds limit 0 87ns       EI IG          Figure 12 Power Diagnostics Browser    Analyzing Results 221    Displaying Waveforms for Power and Ground Nodes    Use the following procedure to display waveforms for power and  ground nodes     1 Select the waveform display tool  Simwave or turbowave  from the Options menu in the main window     2 Select the name of the waveform display tool from the Result  Analysis menu     The waveform tool is started and the appropriate output file  is loaded     3 From the waveform tool  select the signals you want to view     PowerMill User Guide    222 Chapter8 PowerMill Graphical Analyst Tutorial       Appendix A    Sample Power Reports       Sample Block Power Report                Block  total   umber of nodes in block   3953   umber of elements in block   9752   umber of block supply nodes f 11   umber of block ground nod
188. tion  Wasted power can come from mismatched supply  voltages  a failure to reach full swing  timing errors  or other  unintended sources  It can also come from unavoidable analog  bias circuits and current mirrors in operational amplifiers     The report_ckt_dcpath command provides a method of  detecting DC paths that occur during the dynamic simulation   You can use the set_dcpath_thresh command to prevent the  reporting of DC paths with small currents  A DC path is reported  only if the DC current through each element in the path exceeds  the threshold  You can use this to exclude paths for bias circuits  from the report  if they are sufficiently small  Alternatively  you  can use the limit_dcpath_search command to exclude certain  blocks from the search or to limit the search to specific blocks     The detected DC paths are reported to the screen and to the   dcpath file  A sample DC path report is shown in Figure 9     PowerMill User Guide    116 Chapter4    Power Analysis                                     Nonzero dc path s  found at time 200 ns  Path  1  resistor IOBUFF0 RI current    0 02 uA  from XGND voltage   0 00 V  to DATAOUTO voltage   0 00 V  resistor IOBUFFO R2 current   79 98 uA  from IOBUFFO VR voltage   4 00 V  to DATAOUTO voltage   0 00 V  Path  2  resistor IOBUFFO R1 current    99 97 uA  from XGND voltage   0 00 V  to DATAOUTO voltage   5 00 V  inductor IOBUFFO OUTBOND current    119 93 uA  from DATAOUTO voltage   5 00 V  to IOBUFFO OUT1 voltage   5 00  V
189. u to obtain the  maximum simulation speed from each circuit block  The  simulation will speed up 2 3 times for some circuits  depending  on the actual configuration of the circuit  when doing a multi   rate simulation  Use the set_sim_subgroup ACE configuration  command to enable a multi rate simulation  You can use this  command only when running in SMS or synchronous mode     Controlling Waveform Print Resolution    The PowerMill simulator allows you to change the time  voltage   or current resolution to the output file  For ACE  it is important  to be able to alter the print resolution settings to get sufficient  precision for post processing functions such as  measure  command processing or FFT processing     Applying Multiple Simulation Modes 131    You can use the following commands to change the output print  resolution     m set print tres  m set print vres  m set print ires    For complete reference information on these print resolution  commands  see Chapter 2     Configuration and Interactive  Commands    in the Powe Mill Reference Guide    Applying Multiple Simulation Modes    NOTE     You can apply different simulation modes on a local or block level  using the following commands     m set elem acc  Use this command to apply a more accurate model and  algorithm to specified MOSFETs     m set node pwl  Use this command to force the channel connected stage  containing a specified node to be simulated usi ng the PWL  algorithm     m set elem sms  Use this command to
190. ulation button once simulation has begun and reverts to  Start Simulation when it is completed        Analyzing a Circuit    Power Consumption    When a simulation is complete  average current information for  the first level of the circuit hierarchy appears in the Result  Display area of the PowerMill GA main window    see Figure 8         Result Display  Current Instance       Block  names    Average  current data       AE p a    Q hr        Simulation Completed            Figure 8 Average current information    In the example  the left column of the Result Display area  shows the block names  The right column shows the average  current consumption     Analyzing a Circuit 181    Sort By Menu    You can view other power consumption information using the  Sort By menu located on the top right side of the Result  Display area  see F igure 9         Sort By     Average Current  uA   Average Power  uw   Wasted Current    Capacitive Current    Number of Toggles  Budget   Density  powerftransistor   Power Supply  uA              Figure 9 Sort by menu    Select the following menu items to get different types of power  information     Average Power Information   select to view average  power information     Wasted Current     select to view information on short  circuit current     Capacitive Current Information   select to view  capacitive current information     Budget   select to view power budget information     If you specified a budget in the Power Supply  amp Block  Setup for
191. unning this tutorial     The GAP feature allows you to maximize four different objective   fitness  functions     m Average power per clock cycle of the circuit  m Instantaneous power of the circuit    m Average value per clock cycle of the customized fitness  function    m Instantaneous value of the customized fitness function    The usage model for GAP customization  which encompasses the  last two bulleted items  is illustrated in tutorial 7     For sequential circuits  such as the one shown in Figure 16  each  measured power number is induced by three vectors  known as a  vector triplet  that are applied in three consecutive clock cycles     The first vector  which stimulates both primary inputs  PIs  and  pseudo primary inputs  PPIs   drives the circuit into a reachable  state The second and third vectors stimulate only PIs and leave    Advanced PowerMill Simulations 51    all PPIsin a floating state  The power is measured in clock cycle  111  This method allows both the primary input vectors and the  state of the circuit to    evolve    through the use of a genetic  algorithm to maximize the objective function           Figure 16 Schematic of the max_seq_power spi netlist    For the vector triplet method to work correctly on a sequential  design  it must meet the following requirements     m FFs  or latches  should be buffered at the output  so that the  GAP stimuli on the PPIs won t accidentally overwrite the  content of the FFs     If the FFs are not buffered at the o
192. urce  node   Since  according to Kirchhoff s Current Law  the algebraic sum of  all currents at a node is zero  internal nodes must be treated  differently from voltage source nodes  For this reason  PowerMill  defines the internal node current to be the sum of the positive  currents flowing into the node     PowerMill User Guide    100 Chapter4 Power Analysis    Use the followi ng commands to print and report internal node  currents  see    Analyzing Power at Full Chip Level    on page 86      print node i print node didt  print node iavg report node i  print node irms report node powr    For more specific information on each command  see the  PowerMill Reference Guide    Working with Probes    Under some circumstances  the standard block level power  reporting commands  see    Analyzing Power Block by Block    on  page 87 and    Measuring Wasted Power    on page 88  might not  provide sufficient flexibility  For these cases  PowerMill provides  the commands assign node i and assign branch i  Together  these commands allow you to construct a completely arbitrary  sum of element branch currents     EXAMPLE 1     assign branch i drain d sum mosl mos2 mos3 mos4    This example constructs a sum of drain current for several MOS  transistors and assigns it to the d sum probe     EXAMPLE 2     assign_node_i any_node n_sum mosl mos2 mos3 mos4       This example obtains the sum of all currents from these  transistors into the node any_node     The same probe name can be used in multi
193. urrent peak  5  31900e 04 uA at 2 86860e 03 ns  Node  vdd  Average current 7 09839e 02 uA  RMS current  26431e 03 uA  Current peak  1  54890e 04 uA at 4 40181e403 ns  Current peak  2  1 46190e 04 uA at 4 20181le 03 ns  Current peak  3  1 38260e 04 uA at 4 00181e403 ns  Current peak  4  38160e 04 uA at 3 80181e403 ns  Current peak  5  1 32800e 04 uA at 2 86860e 03 ns       Figure 1 Sample power report  generated by report_node_powr     If you prefer to monitor power consumption during the  simulation  you can use either the turboWave and SimWave  waveform viewer to watch the power consumption during the  simulation     For more specific information on each command  see Chapter 2      Configuration and Interactive Commands    in the PowerMill  Reference Guide    Analyzing Power Block by Block    Block level power analysis allows the you to find out where most  of the power is being consumed within a circuit  With this  information  you can optimize power within blocks that consume  too much power  Using a hierarchical netlist  a flat netlist will  not work  you can isolate power to portions of blocks  if    PowerMill User Guide    88    Chapter4 Power Analysis    necessary  This type of analysis should be done in the design  phase  prior to finishing the layout     A block level power analysis is most easily done using the  report block powr configuration command     EXAMPLE   report block powr my block x1 x1        This example generates a block power report to the  l 0g file 
194. use PathMill for PPI detection  you must verify the  functionality of the latches by running an additional GAP  simulation  see    Testing Latch Functionality for Flip Flops with  Non Buffered Outputs    on page 53      Use the following procedure to generate a  ppi vec file using the  PathMill simulator     1 Open and study the cfgpm configuration file     The file contains only one PathMill configuration command    pw_detect_ckt_latch  This command instructs PathMill to  perform latch detection on the circuit and generate a vector   file containing the output of all the detected latches     See the command definition for pw_detect_ckt_latch in the  PathMill Reference Guide    2 Run PathMill using the runpm script  which consists of the  following PathMill command line     pathmill  n max_seq_power spi  c cfgpm    The latch detection simulation starts and stops with the  following messages     Start Latch Detection  Latch Detection completed    3 Open and study the pathmill ppi vec file  The following file  sample shows its contents        signal XDl c XD1    XDZ c XDZ f XD3 c XD3 f XD4 c XD4     type VEC  io pppppppp       The circuit described in max seq power spi contains four  DFFs  Since each flip flop in this circuit is comprised of two  cascaded latches  the pathmil  ppi vec file includes eight  signals  Notice that the io type for all eight signals is   p  pseudo primary input      PowerMill User Guide    66    Chapter3 PowerMill Tutorials    NOTE  The signals in any
195. utput  you need to verify  some information about the circuit and perform an    PowerMill User Guide    52    Chapter 3 PowerMill Tutorials    NOTE     experimental GAP run to determine whether you should  apply the vector tri plet method     m FFs  latches  in the circuit should be universally positive  edge tri ggered  positive sensitive  or negative edge tri ggered   negative sensitive      m Clock skew in the estimated circuit  or block  should be  optimized and negligible     If the sequential circuit does not satisfy each of these  requirements  the vector triplet method might produce an  unrealistic result  You can run the GAP feature on this type of  circuit using the vector pair method described in tutorial 5     The vector pair method requires only PI information and  estimates the design as a combinational circuit  The only  drawback is that the quality of the result can be degraded   especially for large circuits  since there is no control over the  state of the circuit during the GAP search     Identifying the Pseudo Primary Inputs    Before running the GAP feature usi ng the vector triplet method   the power estimation algorithm needs to identify the output of  flip flops and latches  the PPIs   so that they can be stimulated  appropriately during the searching of optimal stimuli     There are three different methods for identifying the PPIs   manual identification  automatic detection using PowerMill   detection using the PathMill simulator     Manually Specify
196. wing procedure to run the differentiator simulation     1 Using vi  open the diff spi netlist file    Figure 10 provides the schematic for this circuit        NBIAS  X1 ar aaa  BIAS PBIAS    CDIFF 20p          RIN 50K       NAL    OUT                Figure 10 Schematic of differentiator circuit    This circuit is the opposite of the integrator  As in the  integrator  this circuit uses a 50K ohm resistor and 20 pF  capacitor  The compensation for the op amp was changed to  allow this circuit to function  a differentiator configuration  can oscillate more easily if the op amp is not properly    Getting the Input Files 151    compensated for the task  Check the compensation capacitor  in the subcircuit definition     2 Run the simulation using the rundiff script   3 Using turboWave  load the diff out file     4 Load the    in    and    out    signals  see Figure 11         File Signal Edit Format View Search Option Window Group Compare Messages       viin    TS eee cg    v  out   ENE a LT AA       Figure 11 Waveforms of signals in diff out file    You will notice slew rate limiting effects and settling time  limit effects  The slope of the input triangle waveform is  0 5 V per microsecond and should give plus and minus 0 5 V  on the output after it settles     Tutorial 3  PLL SPICE Macro Modeling    This tutorial uses a PLL SPICE macro model  It models  frequency as voltage  That is  voltage is an analog of frequency     PowerMill User Guide    152 Chapter6 ACE Tutorials    In t
197. y file generation     Standard MKS engineering units for all data  Values for  time  voltage  current  capacitance  resistance  and  inductance are represented as seconds  volts  amps  farads   ohms  and henries  respectively     In addition  PowerMill supports these modeling features     Theuse of multi level models  comprised of behavioral  gate   switch  and transistor models     The Analog Digital Functional Model Interface  ADF MI  for  writing functional models using the C programming  language  see the ADF MI Manual      Inputs  Outputs  and Interfaces    PowerMill   s inputs are a netlist  configuration file  technology  file  and stimulus  See Chapter 2     Getting Started    for more  information on input files     PowerMill   s outputs can be textual or graphical  The SimWave  tool from System Science  the turboWave from E Team Design  Systems  the waveform tools in Cadence Design Framework II   or VIEWlogic PowerView can be used to view analog current and  voltage waveforms     Major Functions and Features 5    A PowerMill interface is available in Cadence  Opus and Edge    VIEWlogic  System Science in addition to the PowerMill  Graphical Analyst and the ACE Graphical Analyst     PowerMill also reports the peak  average  di dt  and RMS  current statistics of individual components  subcircuit blocks   and global power supply pads     PowerMill User Guide    6 Chapter 1 Introduction to PowerMill       Chapter 2    Getting Started    8 Chapter2 Getting Started    Ove
198. y frequency and  current consumption thresholds for reporting wasted power  paths from supply to ground  If you do not specify a simulation  time  then paths are reported for all time points in the  simulation     You can also specify thresholds for reporting elements  This  allows you to find violations that are likely to affect device and  wire current consumption limits     PowerMill User Guide    178 Chapter7 Using the PowerMill Graphical Analyst    Tristate Check    TheTristate Check button checks for nodes that are undriven  for a specified time  This allows you to keep track of nodes that  leak above a specified voltage value     Report Hazards    The Report Hazards button checks for nodes that have  multiple transitions within a specified time period  This check is  helpful for finding signal transitions that consume excessive  power     Power Distribution    ThePower Distribution button creates a histogram of average  and peak current for a particular time period  For example  if  you specify a time window from 0 to 100 ns in four segments   then a set of histograms will be created for the following time  periods  0 25  26 50  51 75  and 76 100 ns     Showing or Hiding Help Messages    You can view or hide help messages using the Show Hide toggle  button to the right of the Help Messages heading     Saving or Clearing Checks    When you finish specifying the checks  click the OK button  This  saves your settings and closes the Power Diagnosis Setup  form     If you d
199. y the  simulator as satisfactory     PowerMill User Guide    42 Chapter 3 PowerMill Tutorials    Files Needed for this Tutorial    The following table lists the files needed for this tutorial  These  files are located in thepw advanced  max powr 1 subdirectory in    your working directory     Filename    Description       cfg max power    Configuration file for maximum  power estimation       max com powaerspi    SPICE netlist of the combinational  circuit  a 4 bit ADDER  to be  estimated       max com power 1 vec    First vector file to be used for  maximum power estimation       max com power2 vec    Second vector file to be used for  maximum power estimation       run max power    Run script for maximum power  estimation       tech typ 25c 5v    Technology file          Procedure    Use the following procedure to run the tutorial on estimating  maximum power for combinational circuits     1 Open and examinethecfg max power configuration file  The  following file sample shows the contents of this configuration    file     use vec gap vec max com powerl vec vec max com power2 vec  set gap opt period 20ns vec history 1    guide  gap  search fit 1 level 5    print probe i inst total power gap        The use vec gap command starts the GAP feature  and  specifies two vector files with type vec to be used for the  power estimation  The two vector fil es for the GAP    Advanced PowerMill Simulations 43    estimation contain the following statements  signal names   type  radix  opt
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Canon DR-7080C Owner's Manual  Samsung LD220HD Korisničko uputstvo  SPX−128取扱説明書  WG2540 Uesr Guide Release 2.03f  亭∴ケ∑かない  Bedienungsanleitung Orka  SY 527  PT6500 User Manual  Network Transfer System – PLRElectronics      Copyright © All rights reserved. 
   Failed to retrieve file