集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2123|回复: 2

74LS151系列的8选一选择器

[复制链接]
ups 发表于 2010-6-27 22:56:25 | 显示全部楼层 |阅读模式
本帖最后由 fpgaw 于 2010-7-18 11:09 编辑

其源程序为
module count(dain,sel,S,Y,W);
input [7:0]dain;
input [2:0]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[0];W = ~dain[0]; end
    3'b001:begin
     Y = dain[1];W = ~dain[1]; end
    3'b010:begin
    Y = dain[2];W = ~dain[2]; end
    3'b011: begin
    Y = dain[3];W = ~dain[3]; end
    3'b100: begin
    Y = dain[4];W =~dain[4]; end
    3'b101: begin
    Y = dain[5];W =~ dain[5]; end
    3'b110: begin
    Y = dain[6];W =~ dain[6]; end
    3'b111: begin
    Y = dain[7];W =~ dain[7]; end
    default: Y = 8'hxx;
  endcase
  end
endmodule

测试程序为:
module count_tb;

reg[2:0]sel ;
reg[7:0]dain ;
wire  Y ;
wire  W ;
reg  S ;
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
HDL 发表于 2010-6-27 23:13:44 | 显示全部楼层
恩。。。适合初学者。。。
Sunlife 发表于 2015-6-25 11:49:59 | 显示全部楼层
      挺适合初学者
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 17:29 , Processed in 0.066389 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表