Forum: FPGA, VHDL & Co. VHDL Verilog mixed: Boolean generic?


von Patrick B. (p51d)


Lesenswert?

Hallo allerseits

Ich stehe gerade wieder etwas an. Da ich von der Schule her VHDL kenne 
und auch viel mehr verwendet habe als Verilog, habe ich mir ein VHDL 
Modul geschrieben, welches über Generics parametrisierbar ist. Das Modul 
selber muss in ein grosses, bestehendes Verilog-Projekt integriert 
werden. Eigentlich kein Problem, da die modernen Compiler ja mixed 
unterstützen.

Nun ist einer der Generics aber vom Typ boolean und gemäss meinen 
Recherchen gibts das in Verilog nicht. Wie kann ich diesen im 
Verilog-Design setzen?

Gruss
Patrick

von Charles G. (Firma: Ingenieurbuero Gardiner) (cfgardiner)


Lesenswert?

Das einfachste ist es vermutlich Deine VHDL Boolean Generic Ports in 
constrained Integer zu ändern:

z.B.

g_slv_en          : natural range 0 to 1 := 0;

statt
g_slv_en          : boolean := false;

Damit mussten eigentlich alle mixed Langauge Tool Suites zurecht kommen. 
Sonst, bist Du auf die Laune des jeweiligen Suites angewiesen.

In der Architektur musst Du dann natürlich auch entsprechende Anpassung 
vornehmen z.B.

constant c_slv_en             : boolean := (g_slv_en = 1);

Dieser Architektur interner Constant kannst Du dann wie bisher weiter im 
VHDL Domain propagieren.

von Duke Scarring (Gast)


Lesenswert?

Ich weiß ja nicht, was für ein Hersteller/Tool verwendet wird,
aber Xilinx/XST unterstützt lt. UG687 für generics die folgenden 
Datentypen: integer, real, string und boolean

Duke

von Pat A. (patamat)


Lesenswert?

Unter Verilog dem Boolean-Generic einer VHDL-Instanz einfach für 'false' 
den Wert '1b0' und für 'true' den Wert '1b1' übergeben.

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
Noch kein Account? Hier anmelden.