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

Getting SignalTap to work

SparkyNZ
New Contributor II
761 Views

Hi. I'm struggling to debug certain parts of my design. I've been dancing around a data bus with SignalTap for the past few weeks but I really need to see what is on my dataBus element.

My project compiles fine until I dry to add dataBus to SignalTap.

zZ3PaRh

Here's the RTL Viewer showing dataBus:

epKraYd

Am I adding dataBus incorrectly within SignalTap? Should I be using something other than pre-synthesis?

I just want to know what I am doing wrong so I can monitor/debug this element of the design.

HVzP2Rz

I've attached my project.

0 Kudos
1 Solution
sstrell
Honored Contributor III
734 Views

I don't think this has anything to do with Signal Tap.  It looks like you've defined dataBus (called ioData in SDRAMController8Bit) as bidirectional logic.  You can't use bidirectional logic for an internal signal.  So the error is indicating that it needs to be connected to a pin, which is the only part of the device where bidirectional/tri-state logic exists.

This worked maybe without Signal Tap because the bidi logic could get optimized away.  However, when you tie it to Signal Tap, it can't get optimized away so the error occurs.  (Guessing; I didn't try compiling your project)

View solution in original post

4 Replies
sstrell
Honored Contributor III
735 Views

I don't think this has anything to do with Signal Tap.  It looks like you've defined dataBus (called ioData in SDRAMController8Bit) as bidirectional logic.  You can't use bidirectional logic for an internal signal.  So the error is indicating that it needs to be connected to a pin, which is the only part of the device where bidirectional/tri-state logic exists.

This worked maybe without Signal Tap because the bidi logic could get optimized away.  However, when you tie it to Signal Tap, it can't get optimized away so the error occurs.  (Guessing; I didn't try compiling your project)

SparkyNZ
New Contributor II
717 Views

Thank you for that. It's quite funny - I originally had in and out databuses on my internal components. I began to change them to single bidirectional buses thinking that's the way it should be in "real world" (oldschool external) logic. I didn't actually realise that bidirectional buses weren't possible. I had read the fact somewhere on a forum but I was in disbelief after seeing example Verilog code somewhere.

Right, well that changes a few things fundamentally and hopefully that explains why I've been having so many problems in general.

0 Kudos
SyafieqS
Moderator
699 Views

Hi Paul,


Any other concern regarding this?


SparkyNZ
New Contributor II
695 Views
0 Kudos
Reply