看板 HCHS59313 關於我們 聯絡資訊
test bench 你說的是這個嗎? 我用的是altera的modelsim 這是我大二的作業的一部份 module test_shifter; reg [31:0]data_in; reg [4:0]pos; reg dir; reg [1:0]fun; wire [31:0]data_out; --以上是你verilog程式的變數嘛 --所以test bench建議用一樣名字的變數 --把他們想成C++的副程式會很好明白(不等同就是了...) SHIFTER M1(data_out,data_in,pos,dir,fun); --把程式呼叫進來 initial $monitor("%0t data_in=%b pos=%b dir=%b fun=%b data_out=%b",$time,data_in,pos,dir,fun,data_out); --我忘記了...我只記得這一行無敵重要 --以下是我個人認為test bench最重要的部份了 initial begin --#號後面接數字 --是表示他們在delay多久之後執行 #10 data_in=32'b1000_1110_0110_0011_1000_0101_0100_0111;pos=0;dir=0;fun=2'b00; --這一行就是在delay10個單位之後執行後面這段敘述 --可能是set一些變數或是灌一個pattern進去吧...我忘記題目了= =+ --要看你要做什麼事情而定 #10 pos=3; dir=0; --10+10=20所以delay20之後你要做的事情是pos=3; dir=0 #10 pos=6; dir=0; #10 pos=3; dir=1; #10 pos=6; dir=1; #10 pos=0; dir=0;fun=2'b01; #10 pos=3; dir=0; #10 pos=6; dir=0; #10 pos=3; dir=1; #10 pos=6; dir=1; #10 pos=0;dir=0;fun=2'b1x; #10 pos=3; dir=0; #10 pos=6; dir=0; #10 pos=3; dir=1; #10 pos=6; dir=1; --以上也都是在每過10個單位之後要做哪些事情 #10 $finish; --結束 end endmodule 應該不難吼~~~~~感覺蠻多廢話的= =+ 因為你沒有告訴我你哪裡不懂XDD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.25.118.136
monkeyleo:ㄟ 我剛剛解決了... 03/26 01:56