AR# 7749: Foundation Simulator 4.1i - Functional simulation works with a script file, but timing simulation does not
Foundation Simulator 4.1i - Functional simulation works with a script file, but timing simulation does not
Keywords: fndtn, simulation, timing, functional
General Description: When functional simulation is performed using a script file (which calls other script files), the process runs correctly. However, when timing simulation is performed using the exact same script file(s), the simulator reports an "Unknown signal or net name". In addition, the nets can be seen in FPGA Editor.
This problem is usually caused when the signals are written out in a different syntax than expected. One cause of such a syntax variation is the use of the "Retain Hierarchy" option during the back annotation. Try using this option for timing simulation (Implementation Options -> Simulation Options -> Select EDIF tab, select "Retain Hierarchy in Netlist").
When the script file is run, you may see warnings about missing busses because the hierarchy has changed. For example, if you have a signal called U1/ID[15:0], you can clear up the warning by simply changing this to ID[15:0]. This will allow the desired signals to appear without modification to the script file(s).
The Foundation Logic Simulator simply reads the content of the back-annotated "time_sim.edn" file. If the signal exists in the .edn file, it will be selectable using the Logic Simulator with or without a script file. In some cases, it is easier to find the signal using Logic Simulator's "Add Signal" GUI by searching through the hierarchy.
If there are only a few signals that you cannot make appear, there is a way to combine manual addition and a script file. This should be done with the hierarchy retained.
First, manually select the signal. To do this, scroll through the hierarchy in the "Component Selection" window until you find the macro with the signal. Click on this top level, and a list of signals should appear on the left. The desired signal should be included in the list. Clear the simulation window, then add the desired signals.
Second, remove the "delete_signals" line from the script file. When the script file is run, the signal will already be in place and the error regarding not being able to add the signal can be ignored.