设为首页收藏本站帮助中心
查看: 50|回复: 0
收起左侧

Quartus Verilog HDL/FPGA 实现 74HC590/74LS590 具有三态输出寄存器的8位2进制计数器

[复制链接]
发表于 2024-1-12 09:39:32 | 显示全部楼层 |阅读模式
main.png
  1. module hc590(                //具有三态输出寄存器的8位2进制计数器 VCC:Pin16 GND:Pin8
  2.         input CCLK,                //上升沿计数器+1 Pin11
  3.         input CCLKEN,        //低电平使能CCLK 高电平禁止计数 Pin12
  4.         input CCLR,                //异步下降沿(低电平) 清零计数器 Pin10
  5.         input RCLK,                //上升沿将计数器的值装入寄存器 Pin13
  6.         input OE,                //低电平使能Q输出寄存器的值,高电平高阻 Pin14
  7.         output RCO,                //计数器等于255则输出低电平,其余高电平 Pin9
  8.         output [7:0] Q        //[8位宽] 输出Q Pin:7,6,5,4,3,2,1,15
  9. );

  10. reg [7:0] i = 8'd0;        //计数器
  11. reg [7:0] j = 8'd0;        //寄存器
  12. assign Q = OE ? 8'bz : j;
  13. assign RCO = !(&i);

  14. always @(posedge CCLK or negedge CCLR) begin
  15.         if(!CCLR) begin
  16.                 i <= 8'd0;
  17.         end else if(!CCLKEN) begin
  18.                 i <= i + 8'd1;
  19.         end
  20. end

  21. always @(posedge RCLK) begin
  22.         j <= i;
  23. end

  24. endmodule


  25. module main(
  26.         input clk,
  27.         output out
  28. );

  29. hc590 hc590(
  30.         .CCLK(clk),
  31.         .CCLKEN(1'b0),
  32.         .CCLR(1'b1),
  33.         .RCLK(),
  34.         .OE(1'b0),
  35.         .RCO(out),
  36.         .Q()
  37. );

  38. endmodule
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则