|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
/ g9 `' N, H( }* X; x, V
6 X7 }$ F# M9 v; U'timescale 1ns/1ns/ L4 y# K3 O3 }: g5 Y4 c
2 H8 H( o7 v$ x: }" Hmodule the_2-4_decoder_testing_and_certification_program;
) c' i, ?1 K1 x, j4 t4 s+ `$ G2 {2 y$ [3 r( q
wire[3:0]y;
i/ j5 |& q( T/ v9 i, [) W; Sreg a;
7 {1 A$ }2 f+ G, r% ]% P3 rreg b;$ ~3 f# b! t5 K
; J8 q0 [7 o, m! { q
deco2_4g UUT(; p% F* q4 q4 x4 m4 B2 f; I+ Y
.y(y),
' t( R, ]: M: m- X2 I) F, r$ g; u .a(a),' \1 m/ W0 b$ b
.b(b));! H: L7 d+ I- l+ H0 L
. W7 Q$ o0 I' j; Xinteger TX_FILE; B9 A4 f) A) R6 C$ B- g$ z; }
integer TX_ERROR;5 g! X+ C; z& N5 z
/ j! r7 b4 s5 M& O6 i" f9 H
initial
$ ^4 _. h, ?* C* U( D Sbegin3 Y; W f4 i8 M* I3 G& q2 ]" d
TX_ERROR=0;6 F2 X& {+ _* A4 y' P
TX_FILE=$fopen("result.txt");9 Q) K% T" {9 Z& ?
/ [1 w+ k& {0 `) i% R! o0 z a=1'b0;
2 p4 m# Q8 v. a0 _7 N2 g b=1'b0;; T" K/ O. v$ h0 i
, J6 Z- C; Y9 z5 x# R4 m+ x
#1000 u* t( j9 n8 z: d5 j3 @
a=1'b1;
$ s. r6 n7 j) L# w' k7 H! K . W; L" d7 Q, |8 ^9 f! v' j; E
#1000 Q, [: W# w2 A9 `+ c
a=1'b0; }0 }; _; K4 f. C0 \& Q0 I
b=1'b1;1 D! ?- Y# x! y7 N$ B
+ M, G3 F: j! C9 ^8 d- E #100) [5 A+ s9 U$ R- B% O
b=1'b1;( }& T' w: X: U7 C6 `) t
! [7 @2 F9 R7 V- K9 a1 ^- p$ {" d- {
#150. C" s: ?( C# ?1 I6 p' f6 h
if(TX_ERROR==0)( X5 J6 L. |. j& \
begin# E% r7 l; H" u( ?# N
$display("No errors or warning");) }, r4 ?0 t& u9 y
$display(TX_FILE,"No errors or warning");
# f0 D1 _( Z1 X* Z2 S) ? end else begin# g) q J, l5 G" `9 j: R4 d% N
$display("%d errors found in simulation",TX_ERROR);, Z8 f9 x* S( j1 S( W$ V' x& d
$display(TX_FILE,"%d errors found in simulation",TX_ERROR);
% B0 }' [* m0 J/ ]( Y end
7 [7 k9 \: c& K4 Y $fclose(TX_FILE);& V' a* r& y+ K4 x: Z
$stop;( b; U1 w. K+ }7 p2 D6 M! `
end $ ^ d5 @; P0 G; h7 }2 A9 D
1 l3 z& k( C* H4 t1 o task CHECK_y;
6 }6 F& @8 j$ \ input[3:0]NEXT_y;6 N# g. |+ X1 H' I1 l1 Y' ~! y
#0 begin
7 O2 |+ Z8 g3 C- } if(NEXT_y!==y)begin
! M5 h2 B; q; F9 v @ $display("Error at time=%dns y=%b,expected=%b"," F+ o- a* P% P7 R6 I
$time,y,NEXT_y);
( g3 g6 T3 x: i0 w( ~ $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
7 w3 r$ f$ l) z) b8 }. ~ $time,y,NEXT_y);
" E, i p6 z' O3 M TX_ERROR=TX_ERROR+1;) J0 A$ j8 L7 A3 `% z; a! g
end % Q6 B* }! F% m1 x
end+ D9 Y0 Q" S: N' C, t* P0 @9 J8 Z
endtask* H: O, W1 ^& @6 L0 T' }2 G4 e
endmodule |
|