TO: Designers involved with Atari Layout FROM: Brian St. Denis ORIG. DATE: 12-16-91 CURR. DATE: 04-14-92 SUBJ: The design - layout interface, use of EHN software CC: Ira Goldstein, Richard Miller, Doug Gallimore, Larry Layton This document describes the use and procedures of Atari Microsystems supplied EHN software. This document is broken into two parts: pre-layout and post-layout. It is important to follow the procedures for both of the sections. For pre-layout, the EHN software can be used to: - verify that the design does not violate any design rules - check the loading on each net - gather statistics about the design - create estimated capacitance due to routing data - load estimated capacitance data into the VIEWLogic simulation For post-layout, the EHN software can be use to: - load actual capacitance due to routing data into the VIEWLogic simulation IT IS MANDATORY THAT THE DESIGNERS USE ESTIMATED CAPACITANCE DATA IN THEIR CIRCUIT SIMULATION BEFORE THEY HAND THE DESIGN OFF FOR LAYOUT. PRE-LAYOUT: VL2EHN: When the design phase is nearing completion and probably near the beginning of simulating the circuit, a designer could and should use the program "vl2ehn" to convert the design to layout's Enhanced Hierarchical Netlist format (EHN). vl2ehn not only converts the data to EHN format, but does quality control and error checking on the design to insure the design meets the Naming Conventions rules that have been issued to all designers. It is useful to do this periodically to insure that new edits to the schematics have not violated any rules. Vl2ehn is run from the VIEWLogic project directory. The argument to vl2ehn is the name of the top level of the design, eg. combel. The resulting file will have the .ehn file extension. EEXPLODE: While still in the design phase and during simulations, the program "eexplode" may be used to do further design checking. eexplode checks for some design problems and some library inconsistencies. These checks include floating inputs on primitive devices, nets not connected to the output of any primitive device and library naming problems. When a design passes eexplode without any error messages, the designer can feel comfortable that layout will be able to lay out this design. eexplode's primary purpose, though, is to remove the hierarchy in the design and produce a "flat" netlist. ELODCHK: Another tool that designers should use in parallel with simulation which will insure that their design will function properly is "elodchk". elodchk produces a net-by-net listing of the design where the load and drive of each net is listed. Also, the load/drive ratio is listed and can be evaluated to determine the nets which are overloaded. Additionally, elodchk is capable of estimating the loading on each net due to routing. This estimated data is included in the report so the designer can get a better idea of which nets will be overloaded after routing. Finally, this estimated data can be output to a file which can then be read back in to a VIEWLogic simulation. To specify saving the estimated data, answer "y" to the prompt: "Do you want to save the estimated load data?". This file will be in Silos format and can be converted to VIEWLogic's back annotation format with the program sil2baf. SIL2BAF: To read capacitance data in to a simulation, the data must be in a BAF file. To convert a Silos data file to BAF format, use "sil2baf". After converting the estimated data from a Silos file to BAF format, use the "-d" option of the "vsm" command in VIEWLogic to read the BAF file in to the simulation. ESTATS: To determine the size (and other information) of a design, run "estats" on the flat EHN file (.fehn). estats does some statistical calculations on a design and prints them to a file. The results of estats can affect the design phase in two ways. First, after knowing the exact size of a design, the designer can make a better selection for estimating the loading due to routing when running elodchk. A larger array has more estimated loads due to routing. The second is that now that the designer has chosen an array, the buffers that are used for this array may change and this can affect the simulations. POST-LAYOUT: ELODCHK: Once a design has been laid out, the actual capacitance data for each net must be read back in to a simulation to see if routing the design has created any timing problems. Layout will give to the designer a Silos format file which contains the actual routing capacitance data. This data will have net names of a flat nature (corresponding to the exploded netlist) which need to be converted to hierarchical net names. elodchk may be used to read in actual capacitance data (Silos format) where the net names are flat, and output an actual capacitance data file (Silos format) with hierarchical names. To do this, read the instructions for elodchk by typing "elodchk". Also, elodchk includes this actual capacitance data in to the report. Make sure to check it for overloaded nets. SIL2BAF: Again, the Silos format file which has actual capacitance data with hierarchical net names (described above) must be converted to BAF format. Use "sil2baf". Then, use "vsm -d" to load the BAF file into the VIEWLogic simulation. USING ESTIMATED CAPACITANCE DATA VS ACTUAL CAPACITANCE DATA After a design has been laid out, the actual capacitance data is given to the designer for further simulation. Actual data should be used whenever possible. Usually, when using this actual data, the designer will find a few nets with a timing problem. Layout can either shorten the nets or the designer may want to "beef up" the nets by changing the output devices. Unfortunately, during the simulation with the actual capacitance data, the designer may find many nets or a critical macro (such as a fifo cell) which need to be re-laid out. When this is the case and, after discussing this with layout, the current layout may be scrapped and a new one started. When layout confirms with the designer that a new layout will be started, then the designer should go back to using the estimated capacitance data which is created by (re-)running elodchk.