|
剛接觸,看不懂,希望先進們可以解說一下程式,還有一直編譯錯誤,我不懂為什麼錯誤,如果可以也想請教一下
! H$ z) E0 i. ^7 R& u
0 x+ m0 J# O' J: W& O0 ~! \'timescale 1ns/1ns
) ^" w/ n8 b ?+ _( o" @
- ?7 U0 g6 Y+ `1 h, tmodule the_2-4_decoder_testing_and_certification_program;
3 ^0 Q. T2 n/ t3 J$ C
( N% c H& l# M' W2 t0 ^- G% ewire[3:0]y;
; r0 I9 P' I, a- m, ~: H6 xreg a;8 `7 G) C3 |7 ~& D3 Q
reg b;
9 X& G4 ?/ x9 D3 \3 w9 B
. O, q' q7 ]; I0 [; u, ndeco2_4g UUT(+ q& x' q, ]' }; p3 T
.y(y),/ u; W3 B3 [$ \* [
.a(a),5 U- }6 s, K. ~% P, n& ~/ y
.b(b));* Q6 C0 B; ?; M( ^" s0 y& ^; i% q
8 Z" n7 y( `% Z# [! d; Rinteger TX_FILE;
. x4 t% h( E7 e+ Linteger TX_ERROR;% { P4 M) z+ t5 a+ X
! q- v A6 E+ n: O, jinitial
+ @( H" {$ C& U) [0 D! Ubegin! T5 d3 R h$ Y& d
TX_ERROR=0;
- v, @ p& q! |% ~ TX_FILE=$fopen("result.txt");% q' M1 a) g$ K P& J% M
2 p8 Z T3 J2 r* ]- A7 h V
a=1'b0; 3 s* K! H9 u* @" h6 n
b=1'b0;! X! b$ b b6 x
8 {3 Z: D. J% q. h
#1003 O) A, j8 [- Y$ J( w3 n
a=1'b1;
- A4 I4 @$ P% {. z/ _2 S
' w5 {- Q- G1 B4 C& | A #1005 @: H) {9 R8 |8 \2 W
a=1'b0;
# Q% O* X4 ?5 V7 O* F& ] b=1'b1;
& u- ?! b) A/ y9 {! J
" J" L2 A) a$ X$ ] #100
{* r$ F3 i( x# k: s: t' U2 o, {9 ?/ I b=1'b1;' o$ ^5 m1 `* d# N
% f9 G a9 P: o' @ f! `/ o9 b
#1501 n+ c$ x) P l" h4 ~7 G
if(TX_ERROR==0). l! O$ p& I! A2 r( t% l4 Y
begin6 s6 \3 K. x0 _& [* r4 `! R w5 f
$display("No errors or warning");
9 H3 a0 d: H: ^) O% e2 g4 j $display(TX_FILE,"No errors or warning");) g. t; I: n- C
end else begin. ]+ R* @+ T5 ~/ i4 x5 K U& C: `
$display("%d errors found in simulation",TX_ERROR);
+ j% a5 ]" V+ [+ W' D; r $display(TX_FILE,"%d errors found in simulation",TX_ERROR);
0 A* d1 s+ s6 x0 X4 C3 ~7 K7 B end ' P% h/ e/ d* O2 |
$fclose(TX_FILE);7 I5 v5 |) Q( x7 C1 p) ~. `
$stop;9 A8 }5 a2 Y2 @; L' X
end
8 B$ ^0 {$ O$ U5 X , o9 s0 ?7 Q' T
task CHECK_y;+ x# F" E& i; A
input[3:0]NEXT_y;, q7 R) z: T$ Q- U, r' u4 d: q1 N; R
#0 begin5 \9 |+ b2 y1 B" P
if(NEXT_y!==y)begin
b3 J6 f# m w6 ? $display("Error at time=%dns y=%b,expected=%b",
! _# D% f9 M$ |0 t8 b6 @2 h2 B9 P $time,y,NEXT_y);
! @+ w8 A: j2 ^9 \8 L1 N2 X" V" g $fdisplay(TX_FILE,"Error at time=%dns y=%b,expected=%b",
' l& |- Q5 ]* s; e* D $time,y,NEXT_y);
5 F, ~9 C7 x/ A3 W9 p% k4 R TX_ERROR=TX_ERROR+1;) \$ V4 j% a9 b
end
5 f* t+ f) _! u( \/ ? end
/ |; _8 Y, s4 bendtask3 k* V" j+ Z! q/ c% K1 F. ?- H
endmodule |
|