|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
2 D7 a3 ?* I# N; |+ N( X6 `+ Z; g1 `5 Q% @
'timescale 1ns/1ns
, i) x I) j/ @& {' |, X6 s$ i! y2 M! h, |$ r! i0 V1 K/ Y9 ~
module the_2-4_decoder_testing_and_certification_program;
6 R2 ^5 z6 T( k) H0 H% j4 I" B0 g" x9 A
wire[3:0]y;
2 h# m5 J+ X4 y6 k# S; j5 Freg a;; d( |: `4 q# e) L9 j q, B
reg b;! e2 L, o$ q% Y+ F
* P+ n e* a8 x7 T. B N n3 E% Z' K
deco2_4g UUT(( T+ d# D$ E/ s; T
.y(y)," `* |* G& m9 l9 D4 p) w0 ^: h
.a(a),
' y5 ?' I7 i* z* k- v9 T" r .b(b)); r6 X# [8 ~9 ^: G8 s
( [. O: c( @5 A
integer TX_FILE;% _* s% g+ o! E: \
integer TX_ERROR;" v2 ^+ ?; q2 e6 x! ~
4 ~8 G( D9 v5 n. U& i, R
initial - e" X; ? f! G5 Z: m+ i
begin$ P8 J E7 z O/ ~) F# @
TX_ERROR=0;
k. { g1 |1 I8 r) S) U0 P' b TX_FILE=$fopen("result.txt");
- g; s* }+ r* z( z1 ]' S ' x7 R& Q/ L' n1 @( g
a=1'b0;
. E& P: b6 Y4 R5 }1 g* R' ~ b=1'b0;! l1 c6 G9 R S' q
. \7 J: |) G! ]. h4 Q" U #1004 s2 |! i6 S) z ]. R
a=1'b1;5 C1 z* L! F3 V
1 D" s# Q& `/ R; M8 ^
#1002 F- y) V/ W/ |. b; x1 Z; Z
a=1'b0; ' A7 b3 O) W# }/ D; l3 F& v5 b+ |, ~
b=1'b1;
+ {/ b* L5 M5 j
1 l' p' v0 S" z) M+ t #100
6 H1 y: R+ j( t b=1'b1;$ |6 B$ u6 S: h3 u0 g
3 d- U4 g, Q4 i+ ?: Y #150
5 p$ s# [, ]9 V& M4 ~ if(TX_ERROR==0)
2 w) Y; T! @' C- h begin
& F1 @& q+ Z$ N' c( B5 c4 Z $display("No errors or warning");
% U8 c; {/ L3 r5 j7 [8 ] $display(TX_FILE,"No errors or warning");
! |5 [- w' y$ |* B$ b9 h! } end else begin
9 v; _7 H A. E w, K ^: m $display("%d errors found in simulation",TX_ERROR);3 Q/ o! w, ], _) i
$display(TX_FILE,"%d errors found in simulation",TX_ERROR);. g1 C1 `: w' s
end ' N8 G: n: U, l
$fclose(TX_FILE);0 N, r4 Y! M- q' b
$stop;# f$ W% G+ y1 B: x0 L$ |. U
end & E7 L' v" P# v7 Y# R
( o/ N. [! I$ z2 H) V
task CHECK_y;
) [% K$ O7 ?' K3 D! |1 [ input[3:0]NEXT_y;
3 H0 v4 j9 x+ n" ]4 ?- f1 v2 c #0 begin
6 d, V s+ B: w$ n$ ` if(NEXT_y!==y)begin
6 s/ {3 ~% X* ], ?7 b $display("Error at time=%dns y=%b,expected=%b",: u) _; @# H1 l: t" t
$time,y,NEXT_y);
0 k: z4 u8 T: |7 i5 G $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b", , `4 m8 k0 E2 @: k% f
$time,y,NEXT_y);
& g% H( i9 x# W( K8 _2 |( O TX_ERROR=TX_ERROR+1; Z( S% K) A( X4 R
end % {& ^2 j+ b5 C% [ C0 U
end0 s5 A. R4 E4 u* I4 w
endtask- u K# S8 Z3 p, X1 b8 @! D- K
endmodule |
|