Hallo zusammen, in Verilog darf man einen n Bit breiten Eingang eines Moduls von außen, also im übergeordneten Modul, mit einer anderen Breite zuweisen in der Instanziierung. Beispiel: <verilog>module top; wire [11:0] data; wire par; parity p1 (.d(data),.p(par)); endmodule </verilog> <verilog> module parity( input [7:0] d, output p); // Beschreibung // p <= ...(d); endmodule </verilog> Welche Bits von data werden da mit d verbunden, sind es die 8 MSBs oder die 8 LSBs? Vielen Dank!
Die MSBs werden abgeschnitten. Aber es ist kein Fehler, auch nicht wenn man sowas schreibt: reg [7:0] data_in = 12'b110010100011; Jetzt weiß ich wieso mir VHDL so gefällt ...
Gustl B. schrieb: > Die MSBs werden abgeschnitten. Aber es ist kein Fehler, auch nicht wenn Man könnte versuchen, dem Compiler das meckern beizubringen, bspw. beim modelsim dem vlog mit den Optionen -error -lint -pedanticerrors
Das stimmt, für die Simulation ist das ein guter Hinweis. Hier ging es aber um die Übersetzung von Verilog nach VHDL, da ist Verilog an manchen Stellen leider dosch recht anders.
Gustl B. schrieb: > Das stimmt, für die Simulation ist das ein guter Hinweis. Hier > ging es > aber um die Übersetzung von Verilog nach VHDL, da ist Verilog an manchen > Stellen leider dosch recht anders. Für mich schaute das nach einem typisches Problem bei der gemischten Verwendung von Verilog und VHDL aus. Kommt bei der Verwendung von Evalboards öfters vor, viele Beispiele/Top-entities in verilog und da hat man 'seine' VHDL-Module einzubauen. Bei dem FPGA-Herstellern gibt es Hinweise dazu, die Verwendung von modelsim als allgemeiner 'MixedLanguage'-Checker scheint mir da allgemeiner. Es braucht auch keine komplette Simulation, lediglich mal schnell vlog resp vcom drüberlaufen lassen und die Warnings/Error analysieren. Ist auch deutlich schneller mit dem Syntaxcheck fertig als Quartus/Vivado-GUI's. https://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ism_r_mixed_lang_boundary_mapping_rules.htm
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.