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

从F到0 - From F to 0

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

Quartus Verilog HDL/FPGA 实现 74HC591/74LS591 集电极(漏极)开路的八位二进制计数器

[复制链接]
发表于 2024-1-19 19:49:28 | 显示全部楼层 |阅读模式
main.png
  1. module hc591(        //集电极(漏极)开路的八位二进制计数器 VCC:Pin16 GND:Pin8
  2.         input CCLK,        //上升沿计数器+1 Pin11
  3.         input CCLKEN,//低电平使能CCLK 高电平禁止计数 Pin12
  4.         input CCLR,        //异步下降沿(低电平) 清零计数器 Pin10
  5.         input RCLK,        //上升沿将计数器的值装入寄存器 Pin13
  6.         input E,                //低电平使能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 RCO = !(&i);
  13. genvar l;
  14. generate
  15. for(l=0;l<8;l=l+1) begin:gen
  16.         assign Q[l] = (E || j[l]) ? 1'bz : 1'b0;
  17. end
  18. endgenerate

  19. always @(posedge CCLK or negedge CCLR) begin
  20.         if(!CCLR) begin
  21.                 i <= 8'd0;
  22.         end else if(!CCLKEN) begin
  23.                 i <= i + 8'd1;
  24.         end
  25. end

  26. always @(posedge RCLK) begin
  27.         j <= i;
  28. end

  29. endmodule

  30. module main(
  31.         input clk,
  32.         output out
  33. );

  34. hc591 hc591(
  35.         .CCLK(clk),
  36.         .CCLKEN(1'b0),
  37.         .CCLR(1'b1),
  38.         .RCLK(),
  39.         .E(1'b0),
  40.         .RCO(out),
  41.         .Q()
  42. );

  43. endmodule
复制代码

相关帖子

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

本版积分规则

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

腾讯云安全认证

GMT+8, 2024-4-27 16:14 , Processed in 0.960055 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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