设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 819|回复: 0
收起左侧

Quartus Verilog HDL/FPGA 实现 74HC157/74LS157 四路二进制二选一数据选择器

[复制链接]
发表于 2022-3-13 19:29:10 | 显示全部楼层 |阅读模式
main.png
  1. module hc157(                //74HC157 四路二进制二选一数据选择器 VCC:Pin16 GND:Pin8
  2.         input a1,                //Pin2
  3.         input a2,                //Pin5
  4.         input a3,                //Pin11
  5.         input a4,                //Pin14

  6.         input b1,                //Pin3
  7.         input b2,                //Pin6
  8.         input b3,                //Pin10
  9.         input b4,                //Pin13
  10.        
  11.         input ab,                //Pin1        0选择A1~A4,1选择B1~B4
  12.         input e,                        //Pin15        E为0选择有效,否则全部输出0
  13.        
  14.         output y1,                //Pin4
  15.         output y2,                //Pin7
  16.         output y3,                //Pin9
  17.         output y4                //Pin12
  18. );
  19. wire [3:0] a = {a4,a3,a2,a1};
  20. wire [3:0] b = {b4,b3,b2,b1};
  21. reg [3:0] y;
  22. assign {y4,y3,y2,y1} = y;

  23. always @(*) begin
  24.         if(e) begin
  25.                 y = 4'b0;
  26.         end else begin
  27.                 if(ab) begin
  28.                         y = b;
  29.                 end else begin
  30.                         y = a;
  31.                 end
  32.         end
  33. end

  34. endmodule

  35. module main(
  36.         input clk,
  37.         output reg led
  38. );

  39. wire [3:0] y;

  40. hc157 hc157(
  41.         .a1(1'b1),
  42.         .a2(1'b0),
  43.         .a3(1'b1),
  44.         .a4(1'b0),
  45.         .b1(1'b1),
  46.         .b2(1'b1),
  47.         .b3(1'b0),
  48.         .b4(1'b1),
  49.         .ab(1'b1),
  50.         .e(1'b0),
  51.         .y1(y[3]),
  52.         .y2(y[2]),
  53.         .y3(y[1]),
  54.         .y4(y[0])
  55. );
  56. always @(posedge clk) begin
  57.         if(y == 4'b1101) begin
  58.                 led <= 0;
  59.         end else begin
  60.                 led <= 1;
  61.         end
  62. end
  63. endmodule
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-27 09:33 , Processed in 0.610035 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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