mikrocontroller.net

Forum: FPGA, VHDL & Co. Modul an BRAM simulieren


Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke euch

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.