|
本帖最後由 card_4_girt 於 2013-2-5 10:54 PM 編輯
: x$ I0 i9 \: g' z3 a
, E, N% w, {% e: s你的錯誤有以下幾點: (關於指令解釋以及程式檔請見此帖最底下); Z1 d3 V7 i$ s1 T3 {& s
1. `timescale 1ns/1ns (請把第一行改成跟這裡一樣的"標點符號")7 a4 ^' d3 e" q7 G9 S8 l
2. module the_2-4_decoder_testing_and_certification_program;
1 R# @/ A9 L( H( x2 o 必須改成# v' t; J: E9 Z
module the_2_4_decoder_testing_and_certification_program;
) H2 p/ u$ _( y' \8 l) O
" ~( \% G8 Q# _! e# @7 r% Z' p編譯雖過但必須注意的地方:
$ Y+ X+ F8 I: Y% x- q) S) U1. fopen可以適時在後面加入要寫入或讀出,會比較知道動作,比如說
' H; Y% |% s1 D) Y $fopen("result.txt","w"); l$ \# `7 Q7 S! K+ N1 H% Z
模式有w(寫入至未存在或已存在的檔案)、r(讀出)、a(寫入至已存在的檔案)等: f! @6 g0 n2 a7 V
w的寫入方式是尚未存在的檔案會自動創造且寫入程式訊息,或是對存在的檔案進行覆蓋性寫入,因此每次執行完的結果會把上次結果全部蓋掉
/ G; n8 v/ ^& I a的寫入方式是尚未存在的檔案會自動創造且寫入程式訊息,或是對存在的檔案進行非覆蓋性寫入,因此每次執行完的結果會顯示在上次結果之後* X, N e4 z$ ]0 _& ?
你也可以參考下面的頁面:
' Q/ L1 X8 m7 p1 D' s1 _5 A( [ http://www.asic-world.com/verilog/verilog2k3.html
3 }4 V/ v/ X5 b2 `
3 E" e5 `( x8 v! b2. 因為你的程式含有$stop任務,對testbench會使模擬暫停,因此對後面才定義的task宣告來說並沒有作用到,最好是能在initial begin...end區塊之前就定義好task
6 x% a# v) g* t! J1 y3. 你沒有呼叫你的"CHECK_y" task,所以就算把測試的pattern寫出來也沒有作用,應該要想辦法代個值給CHECK_y,才有機會知道TX_ERROR是否為0,並輸出對應的訊息以利debug3 M u# U( C ]1 p9 C' S
4. 不清楚哪一個是你的第一個輸入,不過我是把它當成{b,a}={00,01,10,11}來看,那麼你應該將刪除線部分改成紅色部分,不然會少一種輸入的可能性
9 V1 `7 |/ I9 C& z1 A" E, M. M //{b,a}=2'b00; V" r. L8 F9 V% j ]
a=1'b0;
. c4 C, L, X l1 b- } b=1'b0;/ ^5 _: b+ K# T6 ?( f" ? @' e
//{b,a}=2'b01;
8 G" Q3 c& N/ c. j! _, ? #100
$ p3 z _) ^+ b% r1 K/ Q CHECK_y(4'bxxxx);" I! O1 l. h, z
a=1'b1;2 _% d6 E |9 n- s& i$ ]& j# H
//{b,a}=2'b10;& ^- o: O( H7 [4 j) S- T
#100:
5 A3 v, e& \; ~2 t5 i/ }! O CHECK_y(4'bxxxx);$ P2 f4 P! k, E# c8 `
a=1'b0; * x5 y6 N: _# b$ |9 T2 C6 M
b=1'b1;
# Z0 r1 p7 l- W9 r/ x6 q //{b,a}=2'b11;
- x( S$ j \2 ]! C0 X( P3 V. A #100* Z4 G2 G- L9 f) @
CHECK_y(4'bxxxx);
& y7 \# l* l. S/ [4 E b=1'b1; //{b,a}=2'b10;
- Q: O2 c1 J N# V- ` a=1'b1; //{b,a}=2'b11;( T- L9 x- x+ j
#150
! C/ t! w; R, T CHECK_y(4'bxxxx);
- v& I+ O' l; j" {. Y, q5 A/ E$ j+ A( F9 s. _* G, ]5 ~/ B
5. 關於詳細的解釋,以及可用ModelSim 6.2版模擬的do file(.do)、改過的testbench以及2 to 4 decoder的設計檔,都在下面這個附件中,可參考看看
4 l1 ]6 w0 e C2 F7 B4 X7 F2 ~$ M# D1 G. Q, U, O0 L6 _# r' c
: G( A+ E( P2 ?. p
希望對你有幫助!! |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?申請會員
x
|