|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
v, [5 T& g( X! F
7 J) L' u* |- S'timescale 1ns/1ns0 K) Z% p6 q& p* @, `
$ F* ?; J: G1 X1 Z9 u% {
module the_2-4_decoder_testing_and_certification_program;
( n7 g5 I0 z% s T8 u! I3 P2 W# ?
* l7 U( D$ u$ mwire[3:0]y;
4 c, b6 _5 A& |! h# q- u; Hreg a;
/ [' L/ M, n. \0 Jreg b;
! t' l- F' T- N5 w
) I. D% N0 {( Vdeco2_4g UUT(- E, T, I0 W" S7 O- F8 B
.y(y),
4 z: q6 j# N6 F! x$ t) \. R& b .a(a),* a" r. h7 v+ }4 G! k
.b(b));( Z$ Z& @3 k7 q7 _* Y
" Q7 `# L$ V: P1 R& Z% g9 uinteger TX_FILE;+ s J( K5 X& _9 p+ g! W9 {& g
integer TX_ERROR;
# ^* X4 Q- D% u0 y3 l6 L3 d; R2 n) E" U( ^
initial # X4 \, [$ s/ ]' d" [9 l! T
begin' K# V! e, g& ~
TX_ERROR=0;
: W" U% _* Q" R3 Z0 A2 N3 r TX_FILE=$fopen("result.txt");
: b8 Y: p3 F3 o/ l/ `2 t" y0 y2 J 0 |( H0 k4 N/ q/ i/ Y& M! o
a=1'b0;
0 q& A4 n% ]% G v b=1'b0;3 [0 L' W* U2 X- p: g
8 B4 p* v- F \" }3 B
#100
1 D; {5 a( l* F% m& { a=1'b1;# X' d% [1 N4 b2 W0 B3 h: ^
2 u D3 ^/ k. K# O' i p0 _: \* C+ ] #100
3 f3 A/ d* j J( d6 V a=1'b0;
5 b. G8 j5 ~+ S/ X b=1'b1;4 S* y' h" _; I$ |
8 {2 L3 V; ^ j$ ]6 y
#100! a, e/ V& |- C$ o2 b8 n
b=1'b1;. p0 F2 n+ l- ]% b0 x1 j
) ^' q$ e" K$ u3 c b4 M: q #150
4 ?; n3 {6 ?2 I# Q9 I if(TX_ERROR==0)
9 ~, t( a3 h8 N9 M begin
3 ]) F7 \1 d; `6 @9 g9 |' m+ k0 K- Q $display("No errors or warning");: @# E5 x/ H" B! I- K! l
$display(TX_FILE,"No errors or warning");
+ `% O. C7 X$ V. U, i: @ end else begin
5 Y' { ^$ k1 d $display("%d errors found in simulation",TX_ERROR);* L# L H9 S+ r& w# }0 h
$display(TX_FILE,"%d errors found in simulation",TX_ERROR);; w( d0 P3 D( g3 H; B4 Y
end
6 R- {3 ^" i0 y3 K" |0 T; a $fclose(TX_FILE);. ~3 U# S6 ?6 ~; x0 B0 L
$stop;6 o, f6 x& N6 S0 U- y4 N
end
$ O/ U9 `. P( [+ l" x " n B7 J% l: @, O6 ]
task CHECK_y;! A" }; `/ x r3 h+ T
input[3:0]NEXT_y;( G- \" ]2 {) r$ q! ?
#0 begin
d, k y2 H: ^. u# N8 c if(NEXT_y!==y)begin& ~$ t4 `0 @# {3 | @$ Z; B4 G, b
$display("Error at time=%dns y=%b,expected=%b",; X4 F7 e4 V" `1 t1 c1 x1 z
$time,y,NEXT_y);
8 m7 z7 U, u- f' ~ $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b", 4 ]" \4 s, a( ~: f- D& Y0 Q3 H
$time,y,NEXT_y);
, H5 x3 y X% n6 @0 q1 T- G TX_ERROR=TX_ERROR+1;
7 y2 I9 c. P$ H end
! K3 e2 {. s0 C7 c+ k: a* s end
: ?6 ~$ G1 T5 ?/ Sendtask/ u& R9 k; q" x% D1 w4 T9 w* ~" `
endmodule |
|