習慣了自己發現一些小問題,既然發現了,就記下來吧,不然又要忘了,這是多么悲痛的領悟。
今天在用vivado進行塊設計時所生成的頂層模塊居然是用VHDL語言描述的,這時郁悶了,表示只看過VHDL語法但沒寫過。暫且不說VHDL模塊的內容,我應該如何在測試平臺中例化它并對它進行測試呢?稍微查了一下,其實很簡單,只要把VHDL中的組件名、端口統統拿出來,按照verilog模塊的例化形式就可以了。下面舉個簡單的例子來說明如何在verilog模塊中例化VHDL模塊。
2選1多路復用器的VHDL描述:
entity mux2_1 is port( dina : in bit; dinb : in bit; sel : in bit; dout : out bit ); end mux2_1; architecture Behavioral of mux2_1 is begin dout <= dina when sel = '0' else dinb; end Behavioral;
verilog中2選1多路復用器的例化:
module mux2_1_top ( input dina, input dinb, input sel, output dout ); //------------------ // call mux2_1 module mux2_1 u_mux2_1( .dina ( dina ), .dinb ( dinb ), .sel ( sel ), .dout ( dout ) ); endmodule