Hallo,
ich versuche eine Post-Route Simulation durchzuführen, aber der XILINX
ISE bringt mir folgende Fehlermeldung innerhalb der Testbench:
ERROR:HDLCompiler:244 - "...\CoridcCore_TB.vhd" Line 56: Binding entity
cordiccore does not have generic integerbits
Die Verhaltenssimulations läuft problemlos durch.
Hier mal ein Auszug:
1
ENTITYCordicCore_TBIS
2
ENDCordicCore_TB;
3
4
ARCHITECTUREbehaviorOFCordicCore_TBIS
5
6
-- Component Declaration for the Unit Under Test (UUT)
Das ist eine speziell für das Problem angelegte Testbench. Ich habe mir
bis jetzt so geholfen, dass ich ein Testbench-Package mit Konstanten
deklariere und die Generics der Top-Levels-Entity via Kommandozeile
setze.
Gibt es eine bessere Möglichkeit, um über die Testbench die Generics des
Top-Levels-Entities für die Verhaltens- und Post-Route-Simulation zu
setzen?
Grüße Manuel.
Manuel W. schrieb:> ich versuche eine Post-Route Simulation durchzuführen
Warum? Wofür?
Das FPGA-Timing überprüft man mit der statischen Timinganalyse, und
vorher gibt man sinnvolle Constraints an...
Hallo,
Lothar Miller schrieb:> Manuel W. schrieb:>> ich versuche eine Post-Route Simulation durchzuführen> Warum? Wofür?> Das FPGA-Timing überprüft man mit der statischen Timinganalyse, und> vorher gibt man sinnvolle Constraints an...
Es geht nicht um die Timing-Analyse an sich, sondern nur, ob neben dem
Verhaltensmodell auch die synthetisierte Schaltung richtig funktioniert.
Grüße Manuel.
Manuel W. schrieb:> ob neben dem> Verhaltensmodell auch die synthetisierte Schaltung richtig funktioniert.
Ich denke nicht, dass du das damit herausbekommst...
Du kannst da evtl. was beobachten, aber das ist immer noch viel zu
weit von der realen Schaltung (incl. Leiterplatte und andere Bausteine)
weg, als dass sich auch nur ansatzweise lohnen würde. Denn deine
Simulation ist nur so gut wie deine simulierte Umgebung. Und: hast du
von deiner Leiterplatte Laufzeiten ermittelt und kannst sie in die
Simulation einbringen?
Manuel W. schrieb:> Hallo,>> Lothar Miller schrieb:>> Manuel W. schrieb:>>> ich versuche eine Post-Route Simulation durchzuführen>> Warum? Wofür?>> Das FPGA-Timing überprüft man mit der statischen Timinganalyse, und>> vorher gibt man sinnvolle Constraints an...>> Es geht nicht um die Timing-Analyse an sich, sondern nur, ob neben dem> Verhaltensmodell auch die synthetisierte Schaltung richtig funktioniert.>>> Grüße Manuel.
Ich weiß nicht genau in wiefern das bei FPGA-Implementierungen ala ISE
oder Quartus möglich ist, aber ich für meinen Teil (ASIC-Entwicklung)
mache sowas seit längerem über logische Equivalenzvergleiche (Synopsys
Formality oder Cadence LEC). Das geht verhältnismässig schnell und
erspart jegliche Arten von Timing-Simulation.
Drei Mal mache ich das ganze:
1. VHDL <=> Unoptimierte Netzliste nach Synthese
2. Unoptimierte Netzliste <=> Optimierte Netzliste
3. Optimierte Netzliste <=> P&R
Hallo Karl,
Karl schrieb:> Manuel W. schrieb:>> Hallo,>>>> Lothar Miller schrieb:>>> Manuel W. schrieb:>>>> ich versuche eine Post-Route Simulation durchzuführen>>> Warum? Wofür?>>> Das FPGA-Timing überprüft man mit der statischen Timinganalyse, und>>> vorher gibt man sinnvolle Constraints an...>>>> Es geht nicht um die Timing-Analyse an sich, sondern nur, ob neben dem>> Verhaltensmodell auch die synthetisierte Schaltung richtig funktioniert.>>>>>> Grüße Manuel.>> Ich weiß nicht genau in wiefern das bei FPGA-Implementierungen ala ISE> oder Quartus möglich ist, aber ich für meinen Teil (ASIC-Entwicklung)> mache sowas seit längerem über logische Equivalenzvergleiche (Synopsys> Formality oder Cadence LEC). Das geht verhältnismässig schnell und> erspart jegliche Arten von Timing-Simulation.>> Drei Mal mache ich das ganze:> 1. VHDL <=> Unoptimierte Netzliste nach Synthese> 2. Unoptimierte Netzliste <=> Optimierte Netzliste> 3. Optimierte Netzliste <=> P&R
das klingt interessant. Ich mache etwas ähnliches von Hand, in dem ich
innerhalb der Testbenches Dateien generiere und in einer anderen
Simulation (z.B. Post-Simulation) validiere.
Eine Post-Simulation wird für den FPGA verlangt. Diese wollte ich
natürlich auch gerne möglichst anpassbar gestalten, um bei Änderungen
keine Fehler zu machen.
Scheint aber wohl nicht so einfach möglich zu sein :-(.
Grüße Manuel.
Harry schrieb:> Wieso hast du eigentlich bei der Komponenten-Deklaration zwei Generics,> aber bei der Instanziierung 4 Generics?
Hey,
Copy + Paste-Teufel ;).
Wollte nicht zuviel VHDL reinschreiben. Real sind es 4 Generics -
Vor-/Nachkommastellen, Eingangsstufe (an/aus) und Ausgangsstufe (aus, an
mit Hardware-Multiplizierer, an mit "Konstanten"-Multiplizierer, an mit
"Lookup-Konstanten"-Multiplizierer).
Grüße Manuel.