home *** CD-ROM | disk | FTP | other *** search
/ World of Ham Radio 1997 / WOHR97_AmSoft_(1997-02-01).iso / misc / gate_sim / amsoft.iii next >
Text File  |  1997-02-01  |  14KB  |  266 lines

  1.                      GateSim(TM) - A Gate Level Simulator
  2.                                Version 1.0 Demo
  3.  
  4.  
  5. To run the automated demo, insert the demo disk in drive a, type a:<Enter>,
  6. and type gatesim lights<Enter>.  You may temporarily halt a simulation by
  7. pressing the space bar.  Press it again to continue.  At the end of each
  8. horizontal simulation display, you may press any key to continue.
  9.  
  10. This demo version has all the features of the production version except the
  11. following:
  12.           1.  There is a limit of 100 nodes in the netlist file.
  13.           2.  The result file facility has been removed.
  14.  
  15. Please copy this diskette freely.
  16.  
  17. On your GateSim demonstration disk you should find the following files:
  18.  
  19. !readme.doc      This file.
  20.  
  21. gatesim.com      The main simulator executable file.
  22. gatesim.000      These two simulator overlay files need to be in the same
  23. gatesim.001         directory as the .com file.
  24. gatesim.doc      An on-line condensed manual for GateSim.
  25.  
  26. lights.sch       An OrCAD schematic file of an example circuit.  This design
  27.                     can be viewed on screen if you have a copy of OrCAD 3.0.
  28.                     A printout of the circuit is included with this demo disk.
  29. lights.wir       OrCAD EDIF file produced from the .sch file using OrCAD's
  30.                     netlist utility with the /p option.
  31. lights.net       Net list file produced by NetTran from the OrCAD EDIF file
  32.                     mapping to National Semiconductor gate array cells and
  33.                     timing information.  This netlist file is read into the
  34.                     simulator during the demo.  The netlist translator,
  35.                     NetTran, and vendor mapping libraries such as for National
  36.                     Semiconductor gate arrays are available separately from
  37.                     Tanner Research, Inc.
  38. lights.vec       The input vector file that specifies the signals going into
  39.                     the example circuit.
  40. lights.sim       This file contains the simulator commands to run the demo.
  41.                     When you start the simulator by typing "gatesim lights"
  42.                     simulator commands are taken from this file instead of
  43.                     from the keyboard.
  44. lights.cmp       The production output test vectors.  Fault simulation
  45.                     compares this file with the output from a simulation of
  46.                     the circuit with a fault in it.  This vector set also is
  47.                     used by the vendor's tester hardware.
  48. lights.cm2       A much smaller test vector set that still gives 100% fault
  49.                     coverage.
  50.  
  51.  
  52. The Example Circuit
  53. --- ------- -------
  54.  
  55. Our example circuit implements a traffic light controller.  It accepts a clock
  56. time base and produces signals for the green, yellow, and red traffic signals
  57. in both the east-west direction and the north-south direction.  In addition,
  58. the walk and don't walk signals are generated for both directions.  The don't
  59. walk signal flashes first and then turns on solid.
  60.  
  61. Eight D flip-flops form a binary ripple counter that divides down the clock.
  62. Various logic gates decode the states of the counter to generate the required
  63. traffic control signals.  The ripple counter outputs do not all change at once
  64. resulting in hazards or glitches that the simulator will help uncover.
  65.  
  66. The Automatic Demo
  67. --- --------- ----
  68.  
  69. The automated demo begins by turning on the monitoring of the simulation on
  70. the screen.  (The simulation runs faster if the monitoring is supressed.)
  71. Next the netlist is loaded from a file.  The netlist file may be hand
  72. generated or created automatically by NetTran (available separately) from an
  73. OrCAD schematic.  The NEtfile command specifies the file (lights.net) to be
  74. read in.
  75.  
  76. The PAttfile statement gives the name of the vector file (lights.vec) to be
  77. read in during the simulation.  The vector file contains the specification for
  78. the input signals to be applied to the circuit during the simulation.  Within
  79. the pattern or vector file, waveforms may be generated by specifying the
  80. signal value for each time using a .pattern statement.  The .clk statement
  81. produces repetitive waveforms.  The file lights.vec has examples of both of
  82. these methods for generating input signals.
  83.  
  84. Back in the .sim file, the VIewvector command makes the input vectors appear
  85. in the simulator display, mixed with the simulator output.  Input vectors
  86. show up with a ">" character in the first column.
  87.  
  88. The .hex statement defines a set of up to four signals that can be viewed
  89. during the simulation as a hex digit.  Later when the name "TOP" appears
  90. in a .TAB statement, it refers to the four signals collectively as a hex
  91. digit.
  92.  
  93. The simulator itself has no fixed time base.  Simulation times are in terms of
  94. integers.  Vendor libraries, however, are created with a specific choice of
  95. time unit.  The National Semiconductor gate array library, whose timing is
  96. used in this netlist, was created with numbers representing 1/10ths of
  97. nanoseconds.  Thus a simulator time of 50000 represents 5usec.  The DP command
  98. sets how the time units are displayed during a simulation.  In this case, we
  99. want to display times in nanoseconds, so we specify dividing simulator units
  100. by 10 and showing 1 digit after the decimal point.
  101.  
  102. The nodes and hex digits to be displayed during the simulation are listed in
  103. order in a .TAble statement.  The semicolons serve to space out the resulting
  104. simulation signals across the screen.
  105.  
  106. We begin a simulation for 5usec.  The node names are listed vertically at the
  107. top of the screen and the signal values scroll vertically underneath.  Since
  108. we did not specify a display time step in the sim command, a line of display
  109. is shown on the screen whenever any of the monitored signals changes.  This is
  110. the most detailed viewing option that will allow you to easily trace activity
  111. through your circuit.  You will see any glitches on the monitored nodes.
  112. Notice however that the times listed along the left hand side are not evenly
  113. spaced.  There is a time corresponding to each monitored transition but there
  114. is no time listed during periods of inactivity.  We will see an alternative
  115. display style shortly.
  116.  
  117. As the simulation progesses, you can see that there is varying amounts of
  118. activity in the circuit depending on how far down the ripple chain a clock
  119. signal propogates.  Each time a signal changes from the previous line of
  120. display, it is shown in a different color to highlight the change.
  121.  
  122. After the 5usec simulation completes, we decide to monitor an additional
  123. four signals as a hex digit.  We add this item to the existing display list
  124. with the '+' option to the .TAble statement.  We continue with the simulation
  125. for another 5usec with another SImulate statement.  SImulate + continues the
  126. simulation for a length of time equal to the last simulation time.
  127.  
  128. Next we change the display from vertical scrolling to horizontal.  Horizontal
  129. mode does not allow as many signals to be displayed on the screen at once, but
  130. more time values of the signals may be seen.  The simulation continues.
  131.  
  132. The waveform statement changes to displaying signals as waveforms instead of
  133. binary digits.  Hex digits continue to be displayed using characters.  In
  134. this simulation you can clearly see a glitch on the east-west green signal
  135. about the time that yellow is turning off and red is turning on.  With this
  136. display mode, it is hard to tell just how wide the glitch is relative to
  137. the other signals.
  138.  
  139. We continue the simulation with a sampled display option by specifying a time
  140. step in the sim statement.  Note that this change does not affect the way the
  141. simulator simulates your circuit, only the way you view the results.  During
  142. this simulation, we see from the clock waveform that the time is displayed
  143. evenly but we see that the green signal glitch has disappeared.  This is
  144. because we are sampling the simulator output at exactly the clock rate so
  145. the glitch resulting from a clock transition has gone away by the time the
  146. waveform is next sampled for display.
  147.  
  148. We decrease the display time step and simulate again.  Now we can see
  149. just how big the glitch is relative to a clock time.
  150.  
  151. If Vdd and Gnd are used as logic signals in a circuit, the fault simulator
  152. will note that these nodes are not testable - by definition, those nodes are
  153. stuck at 1 or stuck at 0.  We use the FOrcenode command to set these two nodes
  154. to already tested (T) so that they won't be reported as untestable.
  155.  
  156. We begin a fault simulation using the file lights.cmp.  This file or a
  157. derivative of it will be the one sent to the vendor to run on their tester.
  158. The goal of the designer is to choose the vectors so that the shortest set
  159. of vectors will catch as many possible fabrication faults as possible.
  160.  
  161. The file lights.cmp is similar to a simulator output file but has several
  162. important differences.  First, tester hardware has no way of telling if a
  163. signal is unknown (X) so their must be no Xs in the .cmp file.  Instead there
  164. may be a character (.) that instructs the tester not to compare the signal
  165. on that cycle.  Testers sample the chip outputs according to the tester clock
  166. so the vectors in the comparison file must be on clock boundaries.  Long
  167. comparison files can also be optimized to make use of the repeat capability
  168. of some tester hardware.
  169.  
  170. The fault simulation proceeds by forcing a node to 0 and then simulating the
  171. circuit.  If the simulation output differs from the comparison file, that 
  172. node is marked as 0-testable.  The same node is then forced to 1 and another
  173. simulation is begun.  If the output differs from the comparison file then
  174. this node is 1-testable.  If the node is both 0-testable and 1-testable than
  175. it is testable.  Then another node is forced to 0 and the process repeats,
  176. until all nodes have been checked for testability.  The simulator reports the
  177. total number of nodes checked and the number that are testable.
  178.  
  179. The NDelay command reports the delay for all possible paths between the two
  180. specified nodes.  This static timing analysis tool allows you to find critical
  181. paths in your circuit.  The -c option tells how many clock-to-Q pathways
  182. through D flip flops to follow before abandoning a search path.  In this case
  183. we set it to a large number because we want to find all paths.
  184.  
  185. For the example circuit there are six different paths between the node
  186. TEST_POINT and the node DONT_NS, the longest of which has a rise time delay of
  187. 11.9ns and a fall time delay of 11.8ns.  Each of the paths is listed.  You can
  188. trace them along on the schematic.  The node names that have three underscore
  189. characters in them are nodes that were created when mapping the cells on the
  190. schematic to their implementation.  For example, the OR gate, U18, is
  191. implemented by a NOR gate followed by an inverter.  The node in between these
  192. two gates was assigned the name U18___000.  Unlabeled nodes that do appear on
  193. the schematic have names like U18_P3 which refer to the node connected to pin
  194. 3 of U18.
  195.  
  196.  
  197. A Self-Guided Tour of GateSim
  198. - ---- ------ ---- -- -------
  199.  
  200. At this point you may wish to copy the entire contents of the demo diskette to
  201. a directory on your hard disk or RAM disk, especially if you continue beyond
  202. the automated demo and modify some files.  You may also wish to print out the
  203. files !readme.doc, lights.sim, lights.vec, and gatesim.doc for reference as
  204. you proceed.
  205.        
  206. Here are some suggestions for exercising GateSim by executing commands not
  207. included in the automated demo.
  208.  
  209. 1.  Edit the file lights.sim that contains the simulator commands for the
  210. demo.  Change one or two things (e.g. remove all the DLay commands) save the
  211. file and type again:
  212.     >gatesim lights<Enter>
  213. Please make a copy of lights.sim before modifying it so you or others may
  214. later run the original automated demo file.
  215.  
  216. 2.  Start up GateSim without a command file by typing
  217.     >gatesim<Enter>
  218. Now you can type commands to the simulator and have them executed immediately.
  219. The command line allows for TopDOS or EMACS-like commands such as ^F, ^B, ^A,
  220. and ^E for forward, backward, beginning of line and end of line.  There is
  221. also ^D for forward delete and ^K for delete to end of line.  Command history
  222. may be displayed with ^R and re-executed with ^P and ^N commands.  The home,
  223. end, and arrow keys on the numeric keypad also move the cursor or traverse the
  224. history of commands.  The Tab key performs completion on file names.  Type ?
  225. to get a help screen.
  226.  
  227. 3.  To start with, type in the opening commands of lights.sim to load in the
  228. netlist and test vector file.  Use the TAB command to select the nodes of
  229. interest for viewing during a simulation.
  230.  
  231. 4.  Start a simulation with the SIM command.  Note how you can pause the
  232. simulation with the space bar or interrupt it by hitting any other key.
  233.  
  234. 5.  If you have an EGA card, try the 43 line mode (EGA ON) or try vertical
  235. waveform output (HO OFF) and (WA ON).
  236.  
  237. 6.  Try to track down all the hazards and glitches in the design.
  238.  
  239. 7.  Shorten the fault simulation or change the comparison file so they don't
  240. catch all faults.  For example "FS 0 100000 -c lights" leaves one node
  241. untested.  Take a look at the file lights.cm2.  This vector set has been
  242. reduced from the file lights.cmp to make a shorter set but still have complete
  243. fault coverage.  This condensing is often necessary for large chips with test
  244. vector sets that otherwise would exceed the maximum number of vectors that
  245. hardware testers can hold.
  246.  
  247. 8.  Try the -t option of the NDelay command.  This option shows you the path
  248. under consideration as the simulator traverses the tree of possible paths.
  249. The maximum delay for rise time and fall time is displayed as it progresses.
  250.  
  251.  
  252. To order your full functional version of GateSim, call (818) 795-1696 or write
  253. to us at the address below.
  254.  
  255.  
  256. GateSim is a trademark of Tanner Research, Inc.  Other brand and product names
  257. are trademarks or registered trademarks of their respective holders.
  258. Copyright (c) 1988 Tanner Research, Inc.
  259.  
  260.  
  261. Tanner Research, Inc.
  262. 128 West Del Mar Boulevard
  263. Pasadena, CA  91105
  264.  
  265. (818) 795-1696
  266.