|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
) @4 V5 r- f6 f
6 H; M, d' U2 b7 R9 p'timescale 1ns/1ns/ G/ D) }0 d8 z( i- a. [( j B% ^
/ b& F+ U0 c5 G+ a% e: W. G! d! V/ V
module the_2-4_decoder_testing_and_certification_program;1 z5 Q" [' f4 }$ [6 C
4 C+ n* S N( _
wire[3:0]y;0 R) y* k/ U* @1 t
reg a;
8 i% c" Z7 o6 J2 Oreg b;
7 v" g0 y- A( X/ N0 {
* L4 Y0 L; w0 ?% g* Z* _' t# Rdeco2_4g UUT(9 A. \* w! p: H0 s
.y(y),
# n" Q3 |/ E# L! o .a(a), r5 a+ H: F( \' L8 S( c3 C3 }
.b(b));
' s% S5 b6 T8 a# f# B/ @1 H 1 W3 |+ T! C2 U( L+ V$ S0 N7 i
integer TX_FILE;
' y0 a0 `% k0 C: finteger TX_ERROR;# J( \( o% P/ k5 I
8 S9 e$ i( b: Tinitial
2 w- _" N' n3 Q- T; V9 Qbegin
3 v8 j! C( W) s E; V. C$ @ TX_ERROR=0;
0 ~1 q: G) _" F. R TX_FILE=$fopen("result.txt");
. A7 q& f+ v" z s: u & h' m J1 Y; w, s& M$ y$ n, O+ s9 |6 U
a=1'b0; 7 a( P: c0 d4 v; L
b=1'b0;- w% q6 Q* ~) `) ^. K; I
3 W/ A4 q6 S% | #100 k5 p! G0 ] H5 M9 C
a=1'b1;: K4 N3 s; @7 s
( H3 U) Z: n+ j/ y+ `5 D+ x #100
1 Q! C! q6 A: u+ u6 f& g' k( d a=1'b0;
1 T. h. `: y- Y b=1'b1;- k( U& L5 I; B, x7 t2 d
$ R! C7 x! F: x( P7 j4 a& T #100
: L! L! v8 ~/ ~8 Q' |$ U% y b=1'b1;
. J- j1 L5 n# ?2 e H5 ]# r
5 q: [# [* M! e* C! U8 p$ W #150/ l, `' Y, k2 c8 Y& C6 ^: p
if(TX_ERROR==0)" E |. p8 O& |: f: j
begin. b1 W& W( V6 R" G* P* }- c
$display("No errors or warning");6 P' L" m; l# E+ M0 k% r* L
$display(TX_FILE,"No errors or warning");
8 q. |, D( D6 r! Z/ R end else begin8 j$ @, ]! \" i: {0 \- G
$display("%d errors found in simulation",TX_ERROR);
) c3 z9 _5 q- o) u$ j $display(TX_FILE,"%d errors found in simulation",TX_ERROR);' {3 f. J6 o8 F/ }
end
+ U# ?( v4 a0 H $fclose(TX_FILE);7 `9 ~ z/ @' X4 X0 G
$stop;
5 Q: D0 \5 _ _3 J end
% O1 Z2 B7 g% }% m8 J
1 o; `% m# S; K7 x/ W task CHECK_y;
: P. j. B6 [* x' R: P+ u input[3:0]NEXT_y;
/ w* i( T Q( y& y- r #0 begin% g2 _! z2 t. P& u
if(NEXT_y!==y)begin
+ t$ A; x" n& c$ L9 u $display("Error at time=%dns y=%b,expected=%b",* u& m$ M) g; m* X1 e/ q2 k
$time,y,NEXT_y);
! x, p% }8 E) e. K& k3 D/ W' U $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
/ C9 ]# p1 i+ s7 ^/ X, v $time,y,NEXT_y);' g# u( [" [# ?4 H
TX_ERROR=TX_ERROR+1;
2 A3 [2 g9 G4 X3 M1 r e end
/ e% E. v" P4 B/ A4 r9 h end
0 V( c9 [0 B w6 _ Y, |% Lendtask8 ]( w6 A9 ]# x
endmodule |
|