|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下/ I6 ] d0 H" n p) T: S
6 S) A- m0 w" O# j# e'timescale 1ns/1ns+ @2 E0 _: b O( ~1 q. ^2 \9 O5 H2 Z
4 ` y6 J+ y& K4 {4 s' T
module the_2-4_decoder_testing_and_certification_program;
! I7 C1 J( s% ?6 v9 T. F4 E2 _& W/ G2 c& B8 l* X& j
wire[3:0]y;
6 b5 F! K4 _4 Greg a;
( a) w% H) e) o: J& K, |reg b;4 d7 t" \- k+ \" `* _
+ J2 b. a# c" c$ v$ h( G+ ~deco2_4g UUT(
( g* K/ `; H. M, W8 v .y(y), k( N* P8 W8 K. U0 F' ~; F
.a(a),
% j3 t* I( t% E .b(b));
: R) @ ?/ \* Y. W: m4 f 9 ^$ `7 S) S" S, `" P
integer TX_FILE;1 ~' |8 V2 u1 g. J: I
integer TX_ERROR; i1 N( p& x( {; N6 L4 k
7 Q3 ~8 S0 s; K1 `8 B: Winitial
& N3 A7 ^, q0 q4 O* M0 ubegin3 @( M( z7 v) z1 t
TX_ERROR=0;0 E& N5 O. i2 q9 v: b2 {
TX_FILE=$fopen("result.txt");6 m; H5 {; i6 n' q4 O; t
0 |7 Y, c) V* v: t5 d# x" y5 _! [ a=1'b0;
* N) E* ]% Z$ v1 v* b b=1'b0;2 x; I3 T9 ?6 S$ E9 D8 X
4 s' i. l0 {' q% W! P7 F4 `
#1007 i2 d [* i; K# p
a=1'b1;
: T$ C f" C: @. U+ s
2 S* D i+ G' i #100
: N& Z: c- ] G+ `+ K5 L r3 C a=1'b0;
! K# K! Y6 n' l4 a b=1'b1;" z* ?( s& e! {/ ^# {! a2 G
! g* M& X. H9 J" F& p0 y% k
#100+ B) R5 O* K. {5 e+ K
b=1'b1;
2 {- v" y$ h) d8 E6 o. n 1 \ U( u1 u6 `* [; u" T% ?
#150
; d2 f& o9 k+ G$ l# R9 s8 _ if(TX_ERROR==0)8 v; y4 S; L3 m7 B
begin3 ^; o. r9 M. y
$display("No errors or warning");
- w/ q9 p* f" C6 y* B $display(TX_FILE,"No errors or warning");* Q7 K1 m& v9 F6 G6 @
end else begin0 b" u2 O9 L+ `# l7 t( N, ~ I! B
$display("%d errors found in simulation",TX_ERROR);
. ^9 C6 M& h [0 W2 t% ~9 H' ? $display(TX_FILE,"%d errors found in simulation",TX_ERROR);2 j8 s. \; F2 A& X9 y5 r+ G
end
. [/ ^. e l+ ^# S( w- ? $fclose(TX_FILE);7 O& ^' e/ a1 I! j( x
$stop;
/ r9 T8 ~# z0 e* Z8 l end
* n3 q- }8 T4 E
2 [1 S/ p5 ]0 ~( E! M: Y, T! t task CHECK_y;$ C0 `5 a9 [3 t4 z7 B4 Z
input[3:0]NEXT_y;
" [* N+ g3 u( f0 U #0 begin
& E/ ]) K; ~4 L! C% ?, b if(NEXT_y!==y)begin
% P" w9 e* U, g5 q1 w& S $display("Error at time=%dns y=%b,expected=%b",+ A& p. ?+ ^, v. j" g s5 r+ B9 P
$time,y,NEXT_y);, c* \2 S, Y' w! d7 k% D6 b
$fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
# J; O9 p1 u5 |6 M6 Z& b $time,y,NEXT_y);
E( g" H9 S& M, S; ^7 D TX_ERROR=TX_ERROR+1;
2 M9 d1 }6 c2 n end ) V$ r9 N4 o/ [
end
5 Q" }1 `! f- S+ B* b+ e) X+ Eendtask0 R t7 J9 ?+ }) {
endmodule |
|