Timing simulation verifies design functionality by using delay information from the EDIF, VHDL, or Verilog file created during design implementation. It also describes how to perform a timing analysis with Mentor's QuickPath tool.
During design implementation, the Xilinx Design Manager can produce an EDIF (EDN) file. For EDIF files, the process of timing simulation consists of converting the EDIF netlist to a Mentor EDDM model, creating a component and a viewpoint, and simulating the design with pld_quicksim. The timing simulation process for EDIF files is shown in the Timing Simulation for Schematics figure.
The Performing Timing Simulation section of the Schematic Design Tutorial chapter illustrates the steps involved in timing simulation.
This section describes how to use QuickSim to perform timing simulation on designs described in EDIF.
Figure 3.23 Timing Simulation for Schematics |
The first step in performing a timing simulation on your design is to use the pld_edif2tim utility to convert the EDIF netlist created by the Xilinx Design Manager to a Mentor EDDM model. At the same time, pld_edif2tim automatically creates a viewpoint which is subsequently processed by pld_dve -s to prepare it for timing simulation.
Figure 3.24 EDIF to Mentor Eddm Single Object Dialog Box |
Figure 3.25 Pld_dve Dialog Box |
You can now submit the design to pld_quicksim for timing simulation.
Figure 3.26 PLD_QuickSim II Dialog Box |
In order for cross-probing to work, other sessions of Design Viewpoint Editor and QuickSim must be closed. Otherwise, the interprocess communication gets confused. This includes another user's session invoked by rlogin from another workstation.
Cross-probing is a way of cross-referencing between the original schematic and the timing simulation model after placement and routing. Once a Mentor design is translated, expanded, mapped, placed, and routed, you can extract the back-annotation information and create a hierarchical EDIF netlist. After you convert this EDIF to an EDDM model using pld_edif2tim, you submit it to pld_dve to create a viewpoint and then to pld_quicksim for timing simulation. The resulting data base preserves the design hierarchy, and although it is created in terms of the SIMPRIM library, most of the original net names are still available. You enable cross-probing by invoking QuickSim with the -cp option. This option invokes pld_dve as well as pld_quicksim. You then open the original design viewpoint in pld_dve and view the desired design sheet. If you display the original schematic in pld_dve, you can select nets on the original schematic and view them in the QuickSim trace window.
You may optionally create a schematic model using Mentor's schematic generator (sg) from the Eddm model created by pld_edif2tim. This schematic is only for viewing the backend schematic and is not required for the Xilinx flow to work. With cross-probing, you can use your original schematic for this purpose.
You should usually be able to reapply your original test vectors to the new Eddm_single_object design model for timing and/or functional simulation in QuickSim.
When you create the trace/list window in QuickSim, selecting signals from the original selected test vectors should cause the corresponding net on the original schematic sheet in pld_dve to be selected. If it is unselected in the trace/list window, it is also unselected on the original schematic.
If a net is selected in the pld_dve schematic sheet window, the net is automatically added to QuickSim trace window. If the net due to optimization or other complexities has been eliminated in the post-layout design, QuickSim issues an Error message of the type:
Error: $$add_traces returned error status at line 440 of file /tools/...
Error: Unable to resolve string '/ALU/I$10/C2' to a signal or expression
No trace is displayed for this net.
When a net is selected on the original schematic sheet in pld_dve and if the corresponding signal is already added to the trace/list window, the net will not be added again; instead, it is highlighted in the trace/list window.
Adding list windows in quicksim is your choice. List windows are not automatically created. If you do create a list window, it is your choice which signals to add to the list window. Opening a list window does not automatically show or add the signals from the trace window. However once you have added signals to the list window, selecting such signals will interact with the original schematic exactly the same way as the ones in trace window.
In order for cross-probing to work, other sessions of Design Viewpoint Editor and QuickSim must be closed. Otherwise, the interprocess communication gets confused. This includes another user's session invoked by rlogin from another workstation to your workstation.
If you flatten your design during netlist generation, you loose hierarchical aliases for signals that span multiple hierarchy levels; only the name of the signal at its highest level is preserved.
While 100% backannotation is possible, certain limitations of simulators, optimization process, and modelling of complex functions can make 100% back annotation impossible.
For more details on cross-probing, see the following sections:
Use the Mentor Graphics QuickPath tool to perform static and slack timing analysis on schematic designs that have been prepared for timing simulation. This tool enables you to identify critical paths and evaluate modifications that can improve your circuit's performance. Use the timing analysis tool to determine possible changes to a circuit so that you can optimize its performance. Refer to the Mentor Graphics documentation for more information on QuickPath.
You can perform a timing analysis either before or after timing simulation; however, you may want to perform the timing simulation first to assure the design's functionality, then use QuickPath to determine the design's critical path.
Running QuickPath on PLD designs is optional.
Figure 3.27 QuickPath Dialog Box |