習(xí)慣了自己發(fā)現(xiàn)一些小問題,既然發(fā)現(xiàn)了,就記下來吧,不然又要忘了,這是多么悲痛的領(lǐng)悟。
今天在用vivado進(jìn)行塊設(shè)計(jì)時(shí)所生成的頂層模塊居然是用VHDL語言描述的,這時(shí)郁悶了,表示只看過VHDL語法但沒寫過。暫且不說VHDL模塊的內(nèi)容,我應(yīng)該如何在測試平臺中例化它并對它進(jìn)行測試呢?稍微查了一下,其實(shí)很簡單,只要把VHDL中的組件名、端口統(tǒng)統(tǒng)拿出來,按照verilog模塊的例化形式就可以了。下面舉個(gè)簡單的例子來說明如何在verilog模塊中例化VHDL模塊。
2選1多路復(fù)用器的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多路復(fù)用器的例化:
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