
//--------------------------------------------------------------------------------------------------EDA中国门户网站soPy-A6W[5Y
// File : decoder3_8_TB.v
3m$J g@;ZTCC0//-------------------------------------------------------------------------------------------------
`timescale 1ns / 1psEDA中国门户网站MMs7Jj o+^~v)S/b
module decoder3_8_tb;
EDA中国门户网站9`%z'x|C;vbM/^7k}
//Internal signals declarations:
.r5wq'D:^
`0lO0reg G1;
Z4Lip.S0wire [7:0]Y;EDA中国门户网站/w*G
UX ~
reg G2;EDA中国门户网站-jCb*K][
reg [2:0]A;
h/G_0Y$mX0reg G3;
// Unit Under Test port map
0X\'l$Q1`6xr0 decoder3_8 UUT (
?eM2lW.T0 .G1(G1),
&I)Z1aT!T-~T!u#]0 .Y(Y),
PXaJb)~Z*@/B/t8w0 .G2(G2),
f"z!])F5iRc0 .A(A),EDA中国门户网站R+^dF-m0d
r!nM
.G3(G3));EDA中国门户网站{7Dkc*d1r
// -- edit by liwei -- //EDA中国门户网站}NUw'gjUsE8s[BX
initial
L
XgTft8~0 beginEDA中国门户网站Uj,IL1h
NA
G1 = 1;EDA中国门户网站2S?sG)e$W;\
G2 = 1;
S??4SIU0 G3 = 0; EDA中国门户网站2w[P!fF"j d
oOyZ:aG0 #100 A <= 3'b010;
Fx}v
fS[7}0 #100 G2 = 0;EDA中国门户网站X}alp$A/L/`+{H
#100 A <= 3'b110;
9uC U i${X0D0 #100 A <= 3'b000;
*gv*NxJ'y0 #100 A <= 3'b001; EDA中国门户网站Y7c{8jSN
#100 A <= 3'b010;
9n5`Q4xhu:hP0 #100 A <= 3'b011;
cy?O o6}&cN{0 #100 G1 <= 0;EDA中国门户网站a0H}"m(Oq
#100 G1 <= 1;
K@2Fk6fo;v*?U:N0 #100 A <= 3'b100;
BS
foE Dv0 #100 A <= 3'b101;
DZ N;{L1{x0 #100 A <= 3'b110;
_"n:dDi,l4|J.LN:H0 #100 A <= 3'b111; EDA中国门户网站9mqI`v
endEDA中国门户网站"~c E4uV)uA
//$monitor($realtime,,"ps %h %h %h %h %h ",G1,Y,G2,A,G3);EDA中国门户网站"Wr9?.hm ~"Pg?
endmodule
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//-------------------------------------------------------------------------------------------------
(]?b s(\J0// File : decoder3_8.v
:kXCy p%d0//-------------------------------------------------------------------------------------------------
Yu Ptt.^cfQ0`timescale 1 ns / 1 ps
//{{ Section below this comment is automatically maintainedEDA中国门户网站F3\ E]'@
// and may be overwritten
"s7K?:X)VT|+[0//{module {decoder3_8}}EDA中国门户网站ja3N"PqG8H
module decoder3_8 ( G1 ,Y ,G2 ,A ,G3 );
input G1 ;
:E0M)m9JW8``zZ)q0wire G1 ;EDA中国门户网站2nJ^X~;rT5w
input G2 ;
(_&K-E.{m PJ~
@(X0wire G2 ;
d)W1Zo4Cm-J,O0input [2:0] A ;EDA中国门户网站5J\5I z!Z
wire [2:0] A ;EDA中国门户网站.p0W9Y'F/OS ]Z
input G3 ;
@F`7x;UG0wire G3 ;
output [7:0] Y ;
r8J*Bq#kn0reg [7:0] Y ;EDA中国门户网站(P,n,p)eIS]
reg s;EDA中国门户网站;|6Ko0E0v0?W#?q mY%Hv
//}} End of automatically maintained section
// -- edit by liwei -- //
8PA
{k%?0PW0always @ ( A ,G1, G2, G3) EDA中国门户网站MjP.PP.eD
begin
:Tw
o F\L4A;H+u0 s <= G2 | G3 ;EDA中国门户网站*h3g/VRF
if ( G1 == 0)EDA中国门户网站]c;o@;l7b su
Y <= 8'b1111_1111;
Ok[\
?0 else if ( s)EDA中国门户网站E$`C
g/l[Y
Y <= 8'b1111_1111; EDA中国门户网站gH%uy8b!Q
else
CA7ERp8{]0 case ( A )
][A4M*G
a5r4X0 3'b000 : Y<= 8'b1111_1110; EDA中国门户网站*\#K%{d0R(R @?
3'b001 : Y<= 8'b1111_1101;
1{$l8_(GO(QCRS0 3'b010 : Y<= 8'b1111_1011; EDA中国门户网站2eDE q'U7M'C
3'b011 : Y<= 8'b1111_0111;
[;r-^%dEd5F0 3'b100 : Y<= 8'b1110_1111; EDA中国门户网站I1Nja r*B0eπ]
3'b101 : Y<= 8'b1101_1111;
g-U,]wCC0 3'b110 : Y<= 8'b1011_1111;
_ FV Y6Cu(|5U^0 3'b111 : Y<= 8'b0111_1111; EDA中国门户网站:B8h0[,E.?#F+WA
endcase
:_|9r9I T]$h5e0 endEDA中国门户网站x{lBo5\;a
eN1]]U~O+y2FjB0endmodule
注意以下语句中,1和2之间的并列关系,时钟来临时1和2是同时执行的。当G1=1,G2=1,G3=0时,同时执行1和2的代码,执行1的结果是,s<=1;2只执行case(A)语句
RVE{7K5MCW#};T9~0 begin
^j(\4Hs1gX01. s <= G2 | G3 ;
2[0@
{1vs-~2Zk:d02. if ( G1 == 0)EDA中国门户网站|ub~-PaU
Y <= 8'b1111_1111;
F)cKurL3U:b0 else if ( s)
Z/}5Pv4o H!N0 Y <= 8'b1111_1111; EDA中国门户网站3zY+J
Fg
elseEDA中国门户网站#r;[o`/Q[F
case ( A )