Hallo! Gibt es einen Weg, wie ich in SignalTap Signale hinzufügen kann, die ansonsten weg optimiert werden? Zum Beispiel versuche ich gerade eine auf Situation zu triggern, wo eine Statemaschine zu lange in einem bestimmten Zustand bleibt. Dazu habe eich einen Zähler eingebaut, der die Dauer des Zustandes mit zählt. Da der Zähler aber sonst nirgends im Design verwendet wird, fliegt er bei der Synthese natürlich raus, und ich kann ihn in SignalTap nicht als Signal einfügen.
Klaus schrieb: > Gibt es einen Weg, wie ich in SignalTap Signale hinzufügen kann, die > ansonsten weg optimiert werden? > Gelegentlich gibt es einen globalen Schalter mit dem man "Dead code elimination" deaktivieren kann. Ebenso gibt es oft lokale Schalter mit der man Komponenten/Signale als dont_touch deklariert. Ferner kann man das Signal an ein unbenutzes Output-Pin legen oder an irgendein Debugregister. Ich kenne das ähnliche Problem bei Xilinx (Chipscope) und synplicity (Synthesetool). Nach einiger Durchsicht des Synplicities Manual fand sich ein Schalter mit dem das Wegoptimieren unterbunden wurde. MfG,
Hallo, Du verwendest quartus? Dann schau dir doch mal das synthese attribute noprune an.
1 | signal counter:unsigned(7 downto 0); |
2 | attribute noprune: boolean; |
3 | attribute noprune of counter : signal is true; |
Tool unabhänging sollte das Ganze werden wenn du statt noprune syn_noprune verwendest.
Super, danke! Mit noprune funktioniert es. Die Attribute keep und preserve hatte ich probiert, aber die greifen scheinbar erst an einer Stelle im Syntheseprozess, wo mein Register schon weg war.
Freut mich dass es funktioniert. Mir ist es ebenso ergangen. Eigentlich wollte ich auch noch versuchen ob es auch mit syn_noprune funktioniert. Sollte dann halt auch für Xilinx ISE zum gewünschten Ergebnis führen. Hat das schon mal einer mit ISE und/oder anderen tools probiert?
dasdgw schrieb: > Hat das schon mal einer mit ISE und/oder anderen tools probiert? Ich instanziiere mir Chipscope immer direkt. Da werden die Signale nicht wegoptimiert, da sie ja noch am Chipscope "gebraucht" werden. Duke
So helle war bei mir die altera toolchain nicht. Bei mir wurden signal wegoptimiert, die ich mit signaltap überwachen wollte. Muss man um chipscope zu nutzen immer noch eine Lizenz kaufen?
Duke Scarring schrieb: > dasdgw schrieb: >> Hat das schon mal einer mit ISE und/oder anderen tools probiert? > Ich instanziiere mir Chipscope immer direkt. Da werden die Signale nicht > wegoptimiert, da sie ja noch am Chipscope "gebraucht" werden. > > Duke Kommt auf das synthesetool an. Synplicity sieht keine Output ports am Chipscope (Das JTAG-Interface im Chipscope erkennt synplicity nicht als output an) und wirft Chipscope weg. Deshalb sollte man bei Xilinx auch das entsprechende "Finger Weg!!" Attribut setzen. MfG,
dasdgw schrieb: > Muss man um chipscope zu nutzen immer noch eine Lizenz kaufen? Leider ja. Ab der Logic Edition [1] ist es mit dabei. Wobei es sicher spannend wäre, sich mal das Protokoll anzuschauen und ein alternatives Frontend zu entwerfen. Fpga Kuechle schrieb: > Kommt auf das synthesetool an. Synplicity sieht keine Output ports am > Chipscope Wieder was gelernt :-) Duke [1] http://www.xilinx.com/products/design-tools/ise-design-suite/logic-edition.htm
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.