Ich habe ein Modul welches über eine Top-Entity mit einem BRAM verbunden ist. Da die Top-Entity aber noch einigen anderen Schlonz wie PCI-Express enthält und ich nur das Zusammenspiel zwischen BRAM und meinem Modul simulieren möchte wollte ich fragen wie ich das simuliere. Ist es möglich in der Testbench für das Modul ein BRAM mit vorbelegten Daten (beim Core-Generator kann man ja angeben dass das mit nem COE file befüllt wird) zu instantiieren und das mit der UUT zu verbinden so dass ich das Zusammenspiel zwischen den beiden Komponenten simulieren kann? Insbesondere interessiert mich dabei ob ich die Daten richtig schreibe und lese.
> wollte ich fragen wie ich das simuliere.
So sollte das gehen:
Im Projektmanager "New Source..." anwählen. Im folgenden Dialog
"Testbench" auswählen, und im dann erscheinenden Dialog als zugeordnetes
Modul das BRAM selektieren.
So könnte jedem einzelnen (Unter-)Modul eine TB zugeordnet werden.
Lothar Miller schrieb: >> wollte ich fragen wie ich das simuliere. > So sollte das gehen: > Im Projektmanager "New Source..." anwählen. Im folgenden Dialog > "Testbench" auswählen, und im dann erscheinenden Dialog als zugeordnetes > Modul das BRAM selektieren. > So könnte jedem einzelnen (Unter-)Modul eine TB zugeordnet werden. Bleh, anscheinend habe ich die Frage zu undeutlich gestellt. Wie man grundsätzlich simuliert weiß ich schon. ;) Es geht um folgendes Szenario: In der Top-Entity sind 2 BRAM's und <MyModule> und einiges anderes vorgegebenes Zeug instantiiert. Wenn ich jetzt nur <MyModule> simuliere muss ich in der Testbench das BRAM mit seinen Signalen manuell nachbilden. Genau das möchte ich nicht. Ich möchte in der Testbench für <MyModule> ein BRAM mit vorbelegten Werten haben und mir die Kommunikation zwischen <MyModule> und dem BRAM ansehen ohne dafür die Top-Entity simulieren zu müssen. Und meine Frage ist ob das so einfach geht eine BRAM-Instanz in der TB zu erstellen und das mit der UUT (welches <MyModule> ist) zu verbinden so dass man in der Simulation sieht was mir das BRAM für Daten schickt.
Christopher D. schrieb: > Und meine Frage ist ob das so einfach geht eine BRAM-Instanz in der TB > zu erstellen und das mit der UUT (welches <MyModule> ist) zu verbinden > so dass man in der Simulation sieht was mir das BRAM für Daten schickt. Ja, wo siehst Du die Schwierigkeit? Du musst die TB halt selbst schreiben, oder falls Du sie mit einem Wizard erstellt, diese manuell modifizieren um das BRAM dazuzugeben. Eine TB ist nur ein normales VHDL Programm, das keine Ein- und Ausgänge mehr haben sollte. Niemand verbietet Dir zu einem bestimmten Problem eine TB zu schreiben, in die nur das hineinkommt, das Dich interessiert. Wie gesagt, diese TBes werden mit der Hand geschrieben, und die Simulation erfolgt meist außerhalb der Xilinx (oder Altera) GUI.
iss nich kompliziert... Du erstellst fuer dein BRAM eine Testbench mit dem Wizard, dann packst du da noch deine COMPONENT declaration und instantiation fuer deine 2 sonstigen Module rein. Und dann hackst du dir halt die passende TB zusammen. Es koennen durchaus mehr als 1 Komponente in eine TB eingebunden werden. Das brauche ich fuer manche externe Chips (ADC/DAC via SPI z.B.) fast immer auch fuer meinen Toplevel.
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.