Many of the nodes I want to probe seem unavailable in the simulation. They are either optimized away, or refuse to show up in the simulation window even when selected in the vwf. Is there a way to prevent this from happening such as a setting an optimization level or marking registers so they will be available? thanks
QII simulation annoyance
Started by ●July 11, 2005
Reply by ●July 12, 20052005-07-12
Are you talking about functional simulation of your code, rtl functional simulation or rtl timing simulation ? Rgds Andr=E9
Reply by ●July 12, 20052005-07-12
I see only two types of simulation in QII, functional and timing. I have tried both, and they both have this problem. The project I am trying to simulate has both verilog and VHDL files. It is a subset of the entire project, so I just take the part I want to simulate and create a new project around it. I don't have a .pin file. Do I need one? In the node finder, I can search for registers or 'design entry' to see all objects. Many of the objects I select for my vwf will not show up in the subsequent simulation, even for functional simulations. It sure seems like an optimization thing, since I can make the problem signals probe-able by tying them to known working outputs. There is also the problem of having nodes renamed so they are not recognizable. Isnt there a 'debug' mode of simulation that will preserve all nodes? ALuPin@web.de wrote:> Are you talking about functional simulation of your code, > rtl functional simulation or rtl timing simulation ? > > Rgds > Andr� >
Reply by ●July 12, 20052005-07-12
tns1 wrote:> Many of the nodes I want to probe seem unavailable in the simulation. > They are either optimized away, or refuse to show up in the simulation > window even when selected in the vwf.For complex designs, it is common practice to write HDL source and simulate *that* using a vhdl simulator, before running Quartus. -- Mike Treseler
Reply by ●July 12, 20052005-07-12
Mike Treseler wrote:> tns1 wrote: > >> Many of the nodes I want to probe seem unavailable in the simulation. >> They are either optimized away, or refuse to show up in the simulation >> window even when selected in the vwf. > > > For complex designs, it is common practice > to write HDL source and simulate *that* using > a vhdl simulator, before running Quartus. > > -- Mike TreselerSounds like a good thing to do. Which tools provide this 'source level' simulation? Any free ones? thanks
Reply by ●July 12, 20052005-07-12
The approach I've taken is to add pins to get the desired signals to appear as module ports. This works great if I'm simulating sub sets of the final design. And in the total design these pins will eventually get optomized away. If you get to the top level and need to see pins then you need to get then to output pins on the device. If you're out of pins I put them into a mux and this will keep the signals available for viewing. This all works great for functional simulatins. Good Luck. george
Reply by ●July 13, 20052005-07-13
GMM50 wrote:> The approach I've taken is to add pins to get the desired signals to > appear as module ports. This works great if I'm simulating sub sets of > the final design. And in the total design these pins will eventually > get optomized away. > > If you get to the top level and need to see pins then you need to get > then to output pins on the device. If you're out of pins I put them > into a mux and this will keep the signals available for viewing. > > This all works great for functional simulatins. > > Good Luck. > george >OK, but what about when the signal looks OK in the sim, but it does not appear on the chip?
Reply by ●July 13, 20052005-07-13
See http://www.altera.com/support/kdb/2003/05/rd05142003_7103.html It describes how to use the "keep" attribute to preserve a combinational node, and the "preserve" attribute to preserve a register. If you set the appropriate attribute on a node, it will prevent the optimization algorithms from removing it, even if that would result in a more efficient circuit. Hence you can select and view it in a simulator after compilation (either functional or timing simulation). As some other posters have pointed out, you can also bring the signal out to a pin, which is an indirect way of forcing it to be preserved -- this is often less convenient in a large design, however. See the Quartus online help for examples of the precise syntax to use to set these attributes. Regards, Vaughn Altera [v b e t z (at) altera.com] "tns1" <tns1@cox.net> wrote in message news:wWEAe.8412$Eo.7045@fed1read04...> Many of the nodes I want to probe seem unavailable in the simulation. They > are either optimized away, or refuse to show up in the simulation window > even when selected in the vwf. > > Is there a way to prevent this from happening such as a setting an > optimization level or marking registers so they will be available? > > thanks >
Reply by ●July 13, 20052005-07-13
This is useful, but not what I need right now. I am now faced with the problem of having a good timing sim, but a non-functioning design. Essential signals that appear OK in the sub-project sim are being removed somehow when I compile the whole project. What would cause the sim results to be incorrect? I have a verilog top module which contains both verilog and vhdl modules. Is there some strange rule about connecting ports when mixing language modules? I am only having problems with the vhdl outputs. Vaughn Betz wrote:> See http://www.altera.com/support/kdb/2003/05/rd05142003_7103.html > > It describes how to use the "keep" attribute to preserve a combinational > node, and the "preserve" attribute to preserve a register. If you set the > appropriate attribute on a node, it will prevent the optimization algorithms > from removing it, even if that would result in a more efficient circuit. > Hence you can select and view it in a simulator after compilation (either > functional or timing simulation). As some other posters have pointed out, > you can also bring the signal out to a pin, which is an indirect way of > forcing it to be preserved -- this is often less convenient in a large > design, however. > > See the Quartus online help for examples of the precise syntax to use to set > these attributes. > > Regards, > > Vaughn > Altera > [v b e t z (at) altera.com] > > "tns1" <tns1@cox.net> wrote in message news:wWEAe.8412$Eo.7045@fed1read04... > >>Many of the nodes I want to probe seem unavailable in the simulation. They >>are either optimized away, or refuse to show up in the simulation window >>even when selected in the vwf. >> >>Is there a way to prevent this from happening such as a setting an >>optimization level or marking registers so they will be available? >> >>thanks >> > > >
Reply by ●July 13, 20052005-07-13
Hi George, I do the same thing in my designs as you do but when I am out of pins, I use the "Virtual pin = 0n" attribute in quartus. These pins can be imported in Modelsim like a physical device pin. Greetings Markus GMM50 schrieb:> The approach I've taken is to add pins to get the desired signals to > appear as module ports. This works great if I'm simulating sub sets of > the final design. And in the total design these pins will eventually > get optomized away. > > If you get to the top level and need to see pins then you need to get > then to output pins on the device. If you're out of pins I put them > into a mux and this will keep the signals available for viewing. > > This all works great for functional simulatins. > > Good Luck. > george >






