Verilog-Modul aus VHDL aufrufen, Parameterübergabe (´define)

OP #2176125
Lesenswert?

Hallo allesamt,

ich hoffe mal dass ich ne einfache Frage habe - aber aus den Ergebnissen 
die mir Google ausspuckt...werd ich nicht wirklich schlau.

Ich habe ein Simulationsmodell welches in Verilog geschrieben wurde. 
Bisher habe ich die notwendigen ´define-Parameter via Modelsim .do-File 
übergeben (vlog ... +define+..).

Da ich dieses Simulationsmodell nun für verschiedene Boards einsetzen 
möchte, finde ich es etwas umständlich die Parameter im do-File 
abzulegen, bzw. ich habe dann doppelte Datenhaltung da ich die gleichen 
Parameter in der VHDL-Testbench ebenfalls benötige.

Gibt es eine Methode dem Verilog-Modul die entsprechenden Parameter aus 
der VHDL-Testbench heraus zu übergeben? Bzw. wie übergebe ich überhaupt 
Parameter an ein Verilogmodul aus VHDL heraus?


Danke schon mal.

Gruß
Gast #2176162
Lesenswert?

Abhängig vom Simulator sollte das über parameter (also das was in 
Verilog mit dem Schlüsselwort parameter gekennzeichnet ist; nicht 
`define) gehen. Denen kann dann aus einem übergeordneten VHDL-Modul über 
die Generic-Schnittstelle ein neuer Wert übergeben werden. Das müsste 
sich dann so verhalten, als würdest du bei einem reinen VHDL-Projekt 
Generics an ein Submodul übergeben.
Mit define wirst du wohl nicht weit kommen.


Hier ein Beispiel:

VHDL Toplevel
1
u_bla : bla
2
   generic_map (
3
      par => x"BABEBABE"
4
   )
5
 ...


Verilog Submodul
1
module bla (
2
   ...);
3

4
   parameter par = 32'hAFFEAFFE;
5
...
OP #2176251
Lesenswert?

Hi,

danke für die schnelle Antwort. Leider die Antwort die ich befürchtet 
hab...so ein Mist, das ganze Simulationsmodell passt sich über `ifdef 
an.

Tja, aus mit einem `ifdef werd ich vermutlich keinen Parameterwert 
abfragen können, oder? Ich vermute mal dass die `define und ´ifdef (usw) 
quasi Präprozesseranweisungen wie in C sind, oder?
OP #2177372
Lesenswert?

Duke Scarring schrieb:
> Du könntest die Parameter per> vsim -help
> ...
>    -g<Name>=<Value>        Specify generic/parameter default Value for Name
> ...
> der VHDL-Testbench zukommen lassen.

Leider auch nicht geeignet, da die unterschiedlichen Parametersätze aus 
Packages geladen werden...und ich diese Werte gerne an die das 
Verilog-Simulationsmodell (Micron-DDR2-Modell) weitergeleitet hätte.

Marcus Harnisch schrieb:
> Ja. Deshalb müssen sie auch zur Übersetzungszeit definiert sein, und
> nicht erst bei der Simulation, bzw. Elaboration.

Wie ich es befürchtet habe. Aber trotzdem danke für die Antwort.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren