|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
e# @$ ~! N& `' Y7 v/ z4 U8 P
) c+ n4 h6 f) M+ n0 {! F1 I'timescale 1ns/1ns( r7 u4 y3 j; B* a3 u2 s
9 z& v8 b4 g* t/ S* m5 f
module the_2-4_decoder_testing_and_certification_program;
. L W( u. F1 H1 S- S
0 h8 H* o) N5 Hwire[3:0]y;
" }) }9 [3 Q8 V4 Ereg a;
9 C: p2 b) r2 Z8 _% K; i4 jreg b;
4 Q7 C) E$ U% \: J) d
. `5 m# o5 l1 g, N: I5 f4 J% C8 adeco2_4g UUT(
& T4 ?2 V2 d( u/ y .y(y),
0 z' @ }3 e" C& m) G; z3 p" p5 v .a(a),' B+ {! V* d8 N6 o6 F0 y
.b(b));% t+ T% G% L, I, p6 q& z4 I
! i+ x/ T8 s4 U4 V
integer TX_FILE;
1 G% n9 N7 L/ K8 X$ C' W" n2 q, Ninteger TX_ERROR;3 B. d* F- j' J
, W9 @( q0 a. U% j3 ]) e5 w) H
initial
: L# V2 K) ?: _begin4 H8 E+ P5 Q. w( U
TX_ERROR=0;
+ @& D, _/ K$ p1 }+ x TX_FILE=$fopen("result.txt");) T; p: U( b6 J* T% ?. }- b" P' d5 ?, R
7 j5 I3 I! A$ u3 z+ p3 W a=1'b0; 6 N( }) Y l2 h3 c* E
b=1'b0;' C: X7 P* H% D/ f4 f+ H
$ Z5 ]6 j$ {$ m5 \3 {+ r$ `1 W3 o
#100+ X" X( G6 s: B. t( R( f) I; C
a=1'b1;& n% ^6 L" X* U7 [2 Z% D, T
' U& v" ]/ T% b4 s #100, l& z3 G* m5 z; `
a=1'b0; : r6 O7 f+ x4 k7 W+ n
b=1'b1;# j" M7 M# F0 _" T
- `. ~9 N$ T2 k4 ^* J! T8 F
#100$ I$ n, }: J3 j7 \
b=1'b1;
; B' q$ Z/ v$ ?7 Y3 X5 A0 }/ k
8 S S) Z: N' U* p+ l #150
% j2 v) U4 a5 x! o if(TX_ERROR==0)
' J1 x. _+ I. C1 y2 ~ begin
$ y9 X5 ?: |) x $display("No errors or warning");- Y; T7 V/ Y" o0 q! S+ \# T
$display(TX_FILE,"No errors or warning");9 o. k; { h9 I* M8 `, M
end else begin
/ m# B) `" k1 n6 W& p# h( e9 O. ^ $display("%d errors found in simulation",TX_ERROR);9 M1 C: D( w/ T8 K- A
$display(TX_FILE,"%d errors found in simulation",TX_ERROR);
: E% ~- {* v3 o2 X2 R end 6 [( W Y% w; I+ C7 b
$fclose(TX_FILE);
* r0 Z0 N+ t. Y: u $stop;# u) V7 `, O% _% `9 [& n. a
end
0 s7 s# [# o( L6 O* _
6 _7 H0 M* ^ L6 \# L& ~5 Q% t task CHECK_y;# w( e8 o% M7 c4 y7 @
input[3:0]NEXT_y;
* N# z& I6 ^4 a! F& X$ B" j3 ?- d #0 begin w2 m% a! O3 r& k# J6 @
if(NEXT_y!==y)begin: R: L& P7 D3 {5 r- C9 b/ @
$display("Error at time=%dns y=%b,expected=%b",
6 k' a7 n& w+ x7 N- m $time,y,NEXT_y);
! U$ n$ I1 O( N, M, G3 P/ X/ ?# k $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
1 K# M5 e J4 @ N! r $time,y,NEXT_y);
6 A: o9 l2 X8 N- o" t TX_ERROR=TX_ERROR+1;0 ^) R) ^ @6 m$ Q; E/ j
end ' q7 {: u+ k! t$ E
end) p6 {4 ]. [2 R0 I+ L4 {' L
endtask' `& V3 d% b; e1 [
endmodule |
|