Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16612 Discussions

SignalTap Node Netlist Type

Altera_Forum
Honored Contributor II
2,148 Views

Hi, I'm using Quartus 7.2sp3. 

 

I have a huge SignalTap Nodes list added with the "SignalTap II: post-fitting" Filter. Now I wanted to add the Nios II Nodes through the Nios II plugin. However, during synthesis, Quartus now outputs critical warnings like the following one:  

 

Critical Warning: Can't connect signal "avalon_system:avalon|cpu:the_cpu|A_iw[0]" to SignalTap II instance "sld_signaltap:auto_signaltap_0" because the signal does not exist 

 

Also the values of these Nios II Nodes displayed by SignalTap are always <empty>. 

 

As suggested in the Quartus Help, I've tried to switch the partition Netlist Type to "Source file" but nothing changed.  

 

Also the question comes up how I can have a mix of node types in my SignalTap? Because I have set the Netlist type to "Post fit" in my design partitions window because of the following warning: 

 

Critical Warning: SignalTap II instance "sld_signaltap:auto_signaltap_0" taps the post-fitting node "EBvBusGen:ebvgen|pixCnt[26]" in a partition with a Netlist Type that is not Post-Fit or Post-Fit (Strict) 

 

In earlier Quartus versions, I think to remember an option (a checkbox) for each node where I could set it's netlist type (pre-synthesis or post-fit) but this option isn't there in the 7.2 version. 

 

I would love to have my nodes there and the (rather complex) advanced triggers I've created so far and the Nios II Nodes included. 

 

Any suggestions? Thanks!
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
1,016 Views

Using pre-synthesis and post-fit taps is supported but requires some thought. Whenever you tap a NEW pre-synthesis node in a partition, Quartus II wants you to set your netlist type to source. It needs to explicitly preserve this node in most cases. Think of it like compiling your C++ source files with debugging symbols. You can set the netlist type to Post Synthesis or Post Fit after the compile and the node will still be preserved.  

 

When you compile from the source, Partition Merge will complain that you're tapping post-fit nodes in a partition with the wrong netlist type. That's fine. It will try to find the post-fit taps all the same. If they aren't available (they are generated by the Fitter), then you'll need to let the compile finish, set your netlist type to Post Fit, and recompile once more.  

 

I wonder if the Nios II plugin is creating post-fit taps when it really needs to create pre-synthesis taps. Look in your QSF for the nodes you tapped with the Nios II plugin. You should see them referenced in assignments that look like: 

 

POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT (post-fit tap) 

CONNECT_TO_SLD_NODE_ENTITY_PORT (pre-synthesis tap)  

 

Josh
0 Kudos
Altera_Forum
Honored Contributor II
1,016 Views

http://www.altera.com/literature/an/an446.pdf 

 

The app note for the Nios II plugin says it's not supported with Incremental Compilation, probably for the reason you've encountered. I suspect it's adding post-fit taps and not pre-synthesis taps. It should provide a way for you to select the tap type.  

 

Incremental SignalTap II support in Quartus II changed in the 7.2 release. Before, you could insert incremental or non-incremental logic analyzers. Non-incremental analyzers were added after Analysis & Elaboration and could only tap pre-synthesis nodes. Incremental analyzers were added during Partition Merge and could only tap post-fitting nodes.  

 

In 7.2+, the concept of incremental and non-incremental analyzers isn't distinguished by the SignalTap II GUI. Rather, Quartus II adds analyzers incrementally or non-incrementally depending on your Incremental Compilation setting. In Incremental Compilation, a single logic analyzer may tap both pre-synthesis and post-fitting taps, but you need to tap them in the correct order. Post-fit taps may require a second compile to tap correctly.
0 Kudos
Altera_Forum
Honored Contributor II
1,016 Views

Thanks for your reply! 

 

Reading the app note, I found what I had to do to get my signals working: I had to DISABLE incremental compilation at all for my Nios II taps! Then I got a warning message similiar to the following:  

 

Some SignalTap nodes are of type post-fit, but this type can only be used with incremental compilation enabled. All post-fit signals will be treated as pre-synthesis signals.  

 

This of course, rendered all my post-fit taps (luckily not too many) unusable ("signal does not exist in design"). I had to change these signal names (they usually ended with something like "signal_name~17") to their pre-synthesis eqivalents (just "signal_name") and it worked quite fine after that. 

 

I have to say that all this is rather annoying. Especially after disabling incremental compilation, the compile time has increased by 30 to 50%.  

 

And now another problem has appeared: Quartus crashes when opening, saving or changing my SignalTap file in some ways... haven't found a solution so far, but it has to do something with the Nios II plugin's mnemonic table. I issued a mySupport service request.
0 Kudos
Reply