|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
c4 u# Y( D" U" M( {- c/ i8 b% `# |/ h: @( @9 K
'timescale 1ns/1ns( @4 }6 j- S8 o( W& }% T& r. A' |
: E5 Y7 t4 O3 z3 X9 {- A1 h& zmodule the_2-4_decoder_testing_and_certification_program;
8 Y/ N) O, C. O, {& t
8 L1 [; M- i% A* \% twire[3:0]y;
# c3 m: S+ M2 ]: b/ L% N1 T% y" Hreg a;
) p- Y/ A+ Q1 m' {. y: r# ?reg b;9 D- b5 A' Y7 f4 @2 q
: c2 f6 ]" v) ^+ p: w) a+ B; n
deco2_4g UUT(
2 Z! @( O! T1 y7 n5 h! z, p6 d" X .y(y),
% m& H! N* ~' N! x9 B2 v; o* H) C .a(a),
) R. e; p% }1 s. K. ^ .b(b));' B$ o D$ c/ Z% H( y4 S' R! C
. c& E* `) J/ h, o" n: P/ ?
integer TX_FILE;) V" ~0 z/ X3 ?+ }+ X! a
integer TX_ERROR;- I+ r% a7 i7 _
! X& p G) K( F# {+ L- t, P& \
initial
$ h( r! @+ Q% Sbegin( X* ~8 l0 u; `" h/ o- I
TX_ERROR=0;
$ h4 Z' H8 C/ s6 y TX_FILE=$fopen("result.txt");2 F3 `- m0 Q* k! [
# D1 [* A3 ]4 Q; ?8 L
a=1'b0;
0 `9 d1 s2 S- k( h' T2 V& L b=1'b0;
: ~" N+ P( V2 J+ }/ U
6 y* I1 b* u, Y5 y F2 L( [ #100
, j5 x) T4 L+ u# g: s5 M2 b a=1'b1;
0 }* I. n: H: q
5 J2 {8 v9 U! E8 M #100
+ Q8 A5 b6 v9 Z5 _) X8 k4 P a=1'b0;
0 D+ Z0 Q$ _4 w$ _: ^ b=1'b1;
2 Q7 a9 T/ X- d1 S5 v% @! h' I8 A . B7 @& k. T1 S4 N6 i. u7 V( _' [# ]# d
#100$ y- X/ q8 H. z. W X8 L
b=1'b1;
% E% H- g6 @$ Y5 B+ \/ |( D0 X
6 O# ~+ f# W. ?$ q, \ #150
' h- V$ i8 B9 C9 A if(TX_ERROR==0)3 }% {3 e p1 ^; K) n) }
begin
$ d1 _2 K( O( P7 x+ y5 Y $display("No errors or warning");
8 u$ V6 O$ B6 Y* j9 x; ~8 L $display(TX_FILE,"No errors or warning");! h( v' C8 [: f) Y: z( M5 b, c% B
end else begin8 j. E i. q' n8 n, |7 {
$display("%d errors found in simulation",TX_ERROR);
4 K+ i+ d0 R8 y5 W) r $display(TX_FILE,"%d errors found in simulation",TX_ERROR);$ y2 u2 M% o8 A
end
1 j3 \+ }4 [2 s7 c+ p5 a $fclose(TX_FILE);% ^, g: @6 J8 X/ ?. t. E8 u$ ]- Q q
$stop;$ ]1 Q" t, ]: ^/ M
end
8 F# {1 M- Q" Z* I 0 s' `4 {! `7 ]4 ?' @
task CHECK_y;# X3 j* H+ f$ ]( @' D7 {
input[3:0]NEXT_y;
& S7 z* ^2 H, k2 e! x6 A1 s #0 begin& v( M3 _ J) o
if(NEXT_y!==y)begin
; w% B; t5 I% H7 H; j $display("Error at time=%dns y=%b,expected=%b",
: j" i( B+ e; }4 L $time,y,NEXT_y);( Y+ ~5 [ j' O0 |
$fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
@% n; x- d. ?5 N, u" l1 E $time,y,NEXT_y);
9 p+ f& z3 x3 |" N4 D TX_ERROR=TX_ERROR+1;
( w# m$ |4 [( C- O$ { end ! X" V+ p5 O! I) B' l$ ?6 g
end
* J- g' w+ H/ y; A$ h2 ^endtask8 K) \( F; Q5 i- J& w/ T. {
endmodule |
|