Hallo, ich hätte eine Frage zur Bedienung des Programms Active-HDL(Lattice Edition). Ich würde gerne eine Post Map Simulation durchführen und weiss nicht genau wie ich vorgehen soll (habe vor kurzem mit VHDL angefangen). Nach dem Map-Prozess besitze ich zwei Files mit den Endungen .vho und .sdf. Soweit ich verstanden habe enthält die Datei mit der Endung .sdf die Verzögerung der Logikgatter und die Datei mit der Endung .vho die Netzliste (die Verschaltung der Bauelemente). Momentan gehe ich folgendermaßen vor: 1) Ich öffne das Active HDL-Programm 2) Ich lege ein neues Projekt an und füge die Dateien mit den Endungen .vho, .sdf und die Testbench aus der funktionellen Simulation hinzu. 3) Ich lege die Testbench als Toplevel-Entity Fest 4) Simulation - > Initialize Simulation 5) Rechtsklick auf die Top-Level-Entity -> Add to Waveform Da ich die Testbench aus der Funktionellen Simulation verwende (das eigentliche VHDL-Programm ist als Component eingebunden) besitzt diese keinen Verweis auf die Netzliste im .vho File? Muss ich meine Testbench für die neue Simulation anpassen?
:
Bearbeitet durch User
Till V. schrieb: > Ich würde gerne eine Post Map Simulation durchführen Zu deinem Problem kann ich allerdings leider nicht helfen, denn es liegt sicher schon über 15 Jahre zurück seit ich die letzte deratige Simulation gemacht habe. Trotzdem (oder deshalb) stellt sich mir dei Frage: Mit welchem Ziel machst du diese Simulation? Welche Fehler erhoffst du damit zu finden?
:
Bearbeitet durch Moderator
Ich bin Student und will die Simulation einfach einmal ausführen (aus Interesse). Bei meinem Beispiel handelt es sich auch nur um ein einfaches Schieberegister.
:
Bearbeitet durch User
Till V. schrieb: > Muss ich meine Testbench > für die neue Simulation anpassen? Eigentlich nicht, die Entity ist ja die gleiche. Wenn der Simulator das vho-Format versteht, sollte das gehen. Funktioniert es denn, so wie du es geschildert hast? Nur die Signalnamen innerhalb des Moduls haben sich durch die Synthese und das Mapping wahrscheinlich geändert.
Hallo, und schonmal vielen Dank für die Antworten. Ich habe es bisher versäumt (habe sie auch irgendwie übersehen...) folgende Warnung durchzugeben: # ELBREAD: Warning: ELBREAD_0080 sipo_register_tb.vhd (125): Design unit behavioural:SIPO_Register_NEU instantiated in test.sipo_register_tb(testbench) not found in searched libraries: test. Die Simulation startet, aber die Diagramme bleiben auf Undefiniert. Die Testbench versucht meine VHDL-Beschreibung des Schieberegisters (SIPO_Regsiter_NEU) zu laden. Aber eigentlich möchte ich ja die Netzliste aus dem .vho File benutzen. Muss ich irgendwo explizit auswählen, dass es sich um eine Gate-Level-Simulation handelt?
:
Bearbeitet durch User
Möglicherweise muß die vho-Datei in vhd umbenannt werden. Vorher sollte die Originaldatei irgendwohin weggesicher werden. DUke
> Nur die Signalnamen innerhalb des Moduls haben sich durch die Synthese > und das Mapping wahrscheinlich geändert. Nicht nur die Namen... sondern auch die Anzahl der Ein- und Ausgangssignale unterscheidet sich. Ich werde jetzt versuchen das eigentliche Programm mit in die Testbench zu schreiben, statt dieses durch eine Komponente aufzurufen. Duke Scarring schrieb: > Möglicherweise muß die vho-Datei in vhd umbenannt werden. Das hat leider auch nicht funktioniert. Ich denke mit dem Hinweis, dass man außer diesen drei Dateien nichts anderes mehr benötigt, werde ich das Problem wohl irgendwann lösen :)
:
Bearbeitet durch User
Ich schätze mal, du musst dem Simulator klarmachen, dass er eine Netzliste für die Komponente bekommt, und keinen VHDL-Code. Vielleicht hilft dir das weiter: https://www.intel.com/content/www/us/en/programmable/quartushelp/15.1/index.htm#eda/simulation/activeHDL/eda_pro_aldec_vhdl_sim_d4193e763.htm Das ist zwar über Quartus, aber die verwenden auch ActiveHDL soweit ich weiß. >Ich werde jetzt versuchen das >eigentliche Programm mit in die Testbench zu schreiben, statt dieses >durch eine Komponente aufzurufen. Nein, das versuchst du nicht. Das Schieberegsiter ist eine Hardwarebeschreibung, de irgendwann einmal im FPGA instanziiert werden soll, und die Testbench ist eine reine Simulationsumgebung. Das musst du sauber getrennt halten, denn die Testbench kommt nicht mit in den FPGA. Denk bitte nicht in Softwarekategorien, das geht schief bei VHDL.
Vancouver schrieb: > Ich schätze mal, du musst dem Simulator klarmachen, dass er eine > Netzliste für die Komponente bekommt, und keinen VHDL-Code. Vielleicht > hilft dir das weiter: > > https://www.intel.com/content/www/us/en/programmable/quartushelp/15.1/index.htm#eda/simulation/activeHDL/eda_pro_aldec_vhdl_sim_d4193e763.htm Guten Morgen, ich habe es jetzt geschafft. Der Link hat mir sehr geholfen. Zusätzlich musste ich in der Testbench den Eintrag "use entity work.Name(behavioral)"zu "use entity work.Name(structural)" ändern (Modul liegt nach Synthese im .vho File als structural vor). Danke für die Hilfe
Till V. schrieb: > ich habe es jetzt geschafft. Der Link hat mir sehr geholfen. Zusätzlich > musste ich in der Testbench den Eintrag > "use entity work.Name(behavioral)"zu "use entity work.Name(structural)" > ändern (Modul liegt nach Synthese im .vho File als structural vor). Es liegt nicht als "structural" vor, sondern das ist simple der Name den du bzw. das Tool der Architecture gegeben hat. Beim Instanzieren von Komponenten ist es ungewöhnlich, dass man den Architekturnamen mitgibt (Das ist ja etwas internes, das ändern könnte ohne dass sich am Interface - die Entity - etwas ändert). Ein "use entity work.Name" sollte für beide Simulationsarten funktionieren.
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.