|
本帖最後由 card_4_girt 於 2013-2-5 10:54 PM 編輯 6 x) o% R( b! R* B2 F9 ]" v% e
+ t5 @- T- L( x8 i* E* I) v7 D2 E你的錯誤有以下幾點: (關於指令解釋以及程式檔請見此帖最底下)
7 ]7 B, i; X0 p) T* t1. `timescale 1ns/1ns (請把第一行改成跟這裡一樣的"標點符號")
- Q1 L+ J4 K4 u- }) S o$ P2. module the_2-4_decoder_testing_and_certification_program;$ ]9 v& x! L$ x0 B" b+ ]$ D
必須改成/ L1 u$ s( N8 v5 S: s
module the_2_4_decoder_testing_and_certification_program;
H6 t/ X# ]& z9 K( V3 f% Y& P4 M; w, ]; g4 G; J
編譯雖過但必須注意的地方:
% \1 U. p4 r( @6 R3 t1. fopen可以適時在後面加入要寫入或讀出,會比較知道動作,比如說( N- p& f6 U9 V7 y
$fopen("result.txt","w");! G! M- m5 L. T1 r: x' `6 a% \
模式有w(寫入至未存在或已存在的檔案)、r(讀出)、a(寫入至已存在的檔案)等: e% \( Y& \/ O- G6 Z
w的寫入方式是尚未存在的檔案會自動創造且寫入程式訊息,或是對存在的檔案進行覆蓋性寫入,因此每次執行完的結果會把上次結果全部蓋掉
( o y8 c" y: T: \4 |/ n a的寫入方式是尚未存在的檔案會自動創造且寫入程式訊息,或是對存在的檔案進行非覆蓋性寫入,因此每次執行完的結果會顯示在上次結果之後
% ]& p9 p/ q( i% `) h& w6 t 你也可以參考下面的頁面:
8 }) n: ]- Q* {& i' O4 K http://www.asic-world.com/verilog/verilog2k3.html% u; {! Z2 [% ]
8 v3 X2 E; M: q6 [# s% r4 Q
2. 因為你的程式含有$stop任務,對testbench會使模擬暫停,因此對後面才定義的task宣告來說並沒有作用到,最好是能在initial begin...end區塊之前就定義好task
, X+ K# S7 l ~6 _3. 你沒有呼叫你的"CHECK_y" task,所以就算把測試的pattern寫出來也沒有作用,應該要想辦法代個值給CHECK_y,才有機會知道TX_ERROR是否為0,並輸出對應的訊息以利debug) W X e! u: g& t' E! P5 Z
4. 不清楚哪一個是你的第一個輸入,不過我是把它當成{b,a}={00,01,10,11}來看,那麼你應該將刪除線部分改成紅色部分,不然會少一種輸入的可能性
- W. f$ @( O7 B: A2 U0 T$ Y //{b,a}=2'b00;
* @" `; }+ H9 C8 n) S a=1'b0; @$ o/ }0 s* k
b=1'b0;% N7 \! F, `" ?
//{b,a}=2'b01; # V8 {2 |: h7 T, C2 _
#100
9 U( v4 D) M V: N CHECK_y(4'bxxxx); Z8 t) L' B: B/ |: {: m
a=1'b1;
# \ ?* K7 u% D' X# x! R0 P //{b,a}=2'b10;
) l4 }6 H! g; w7 ~8 ?4 f0 | #100:
) Z% P0 |2 Y' N+ Z' S, e+ | CHECK_y(4'bxxxx);
5 t% _+ E$ l4 Q) J a=1'b0;
+ j4 O# Z1 B4 U6 m; a. c b=1'b1;$ M; F; {( y$ m
//{b,a}=2'b11; % G' z- B' k' }
#100% ^( X% k, Z- P& f8 M
CHECK_y(4'bxxxx);
2 F0 K" G* C2 \ b=1'b1; //{b,a}=2'b10;2 m* Q( z/ L2 n" b
a=1'b1; //{b,a}=2'b11;6 s9 m/ t8 K/ c) t! q, K7 g
#150
5 u0 Y6 v/ `- } CHECK_y(4'bxxxx);6 o. @6 X7 v+ U/ B6 V( x
. s; `( Y* P, |+ D5. 關於詳細的解釋,以及可用ModelSim 6.2版模擬的do file(.do)、改過的testbench以及2 to 4 decoder的設計檔,都在下面這個附件中,可參考看看4 i5 _, M2 W5 I$ p2 I& M
, |( f' H3 s! ~: x" R
" j: `+ M6 g. T* a5 ]( ]9 x+ W希望對你有幫助!! |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?申請會員
x
|