|

楼主 |
发表于 2010-12-28 10:55:21
|
显示全部楼层
我還有加一點東西
你說的Y那部分我ㄧ開始就改過了
這是我全部的code 上面的是testfile
`timescale 1ns/1ps
module top;
reg Din=1;
reg [1:0]s;
wire [3:0]y;
initial begin
#20 s=2'b00;
#30 s=2'b01;
#40 s=2'b10;
#20 s=2'b11;
#100 $finish;
end
mux uut(
Din,
s,
y
);
endmodule
module mux (Din,s,y);
input Din;
input [1:0]s;
output [3:0]y;
reg [1:0]x;
reg [3:0]y;
always @( s) begin
demu12(s[0],x[0],y[1:0]);
demu12(s[0],x[1],y[3:2]);
end
task demu12;
input s;
input D;
output [3:0]y;
case (s)
1'b0: y={1'b0,D};
1'b1: y={D,1'b0};
default: y={1'b0,1'b0};
endcase
endtask
endmodule |
|