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

从F到0 - From F to 0

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

Quartus Verilog HDL/FPGA 实现74HC164/74LS164 带清零串行输入8位并行输出移位寄存器

[复制链接]
发表于 2022-10-8 08:06:22 | 显示全部楼层 |阅读模式
main.png
  1. module hc164(                //74HC164 带清零8位并行输出串行输入移位寄存器 VCC:Pin14 GND:Pin7
  2.         input A,                                        //输入A Pin1
  3.         input B,                                        //输入B Pin2
  4.         input CLK,                                //上升沿将 输入A,B 经过与门后移入Q Pin8
  5.         input MR,                                //下降沿(低电平)清零Q Pin9
  6.         output reg [7:0] Q        //8位并行移位输出Q Pin:13,12,11,10,6,5,4,3
  7. );

  8. always @(posedge CLK or negedge MR) begin
  9.         if(!MR) begin
  10.                 Q <= 8'd0;
  11.         end else begin
  12.                 Q <= (Q << 8'd1) | (A & B);
  13.         end
  14. end
  15. endmodule

  16. module main(
  17.         input AB,                        //移位数据 Pin30
  18.         input CLK,                        //移位时钟 Pin31
  19.         input MR,                        //低电平复位 Pin32
  20.         output led                        //[debug] LED 低电平点亮 Pin3
  21. );

  22. wire [7:0] U1Q;
  23. wire [7:0] U2Q;

  24. hc164 U1(
  25.         .A(AB),
  26.         .B(AB),
  27.         .CLK(CLK),
  28.         .MR(MR),
  29.         .Q(U1Q)
  30. );

  31. hc164 U2(
  32.         .A(U1Q[7]),
  33.         .B(U1Q[7]),
  34.         .CLK(CLK),
  35.         .MR(MR),
  36.         .Q(U2Q)
  37. );

  38. assign led = ({U1Q,U2Q} == 16'hABCD) ? 1'b0 : 1'b1;                //[debug] U1为0xAB,U2为0xCD时,点亮LED

  39. endmodule
复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-29 17:02 , Processed in 0.719041 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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