74LS151系列的8选一选择器
本帖最后由 fpgaw 于 2010-7-18 11:09 编辑其源程序为
module count(dain,sel,S,Y,W);
input dain;
input sel;
input S;
output Y;
output W;
reg Y;
reg W;
always @ (dain or sel or S) begin
if (S==1)
begin Y=0;W=1; end
else
case (sel)
3'b000: begin
Y = dain;W = ~dain; end
3'b001:begin
Y = dain;W = ~dain; end
3'b010:begin
Y = dain;W = ~dain; end
3'b011: begin
Y = dain;W = ~dain; end
3'b100: begin
Y = dain;W =~dain; end
3'b101: begin
Y = dain;W =~ dain; end
3'b110: begin
Y = dain;W =~ dain; end
3'b111: begin
Y = dain;W =~ dain; end
default: Y = 8'hxx;
endcase
end
endmodule
测试程序为:
module count_tb;
regsel ;
regdain ;
wireY ;
wireW ;
regS ;
count
DUT(
.sel (sel ) ,
.dain (dain ) ,
.Y (Y ) ,
.W (W ) ,
.S (S ) );
initial
begin
S=1;
#2 sel=3'b000;dain=8'b00000001;
#2 sel=3'b001;dain=8'b00000010;
#2 sel=3'b010;dain=8'b00000100;
#2 sel=3'b011;dain=8'b00001000;
#2 sel=3'b100;dain=8'b00010000;
#2 sel=3'b101;dain=8'b00100000;
#2 sel=3'b110;dain=8'b01000000;
#2 sel=3'b111;dain=8'b10000000;
end
always begin
#2 S=0;
end
endmodule 恩。。。适合初学者。。。 挺适合初学者
页:
[1]