74HC161 四位同步计数器 Verilog Vivado

名称:74HC161 四位同步计数器 Verilog Vivado

软件:Vivado

语言:Verilog

功能介绍

本设计实现74HC161风格的4位同步二进制计数器,输出Q按0至15循环计数,并提供异步清零、同步预置、双使能控制和进位输出。计数使能ENP、ENT同时有效时,计数器随时钟上升沿加一;计数到15后回到0。RCO在计数值为15且ENT有效时输出有效状态,可用于观察终端计数或连接后级计数逻辑。 接口包含时钟CLK、低有效异步清零CLR_N、低有效同步预置LOAD_N、使能ENP和ENT、4位预置输入D、4位计数输出Q及进位输出RCO。该工程适合学习计数器时序控制、同步装载、异步复位和级联进位条件的Verilog实现。

运行环境

硬件描述语言:Verilog;开发软件:Vivado。工程提供HC161与HC164项目文件及仿真测试平台。

设计思路

设计以4位同步二进制计数器为核心,计数范围为0至15。CLR_N采用低电平异步清零,在时钟之外也能立即将输出Q置零;LOAD_N为低电平时,在时钟上升沿将输入D同步装载到Q。预置操作优先于计数使能,便于从指定数值开始计数。 当ENP与ENT同时为高电平时,计数器在每个时钟上升沿递增;Q达到15后,下一个有效计数沿回到0。其他使能条件不满足时,Q保持当前值。RCO由当前计数值和ENT组合产生,在Q为15且ENT为高时有效,可用于级联计数逻辑。

模块结构

工程包含HC161计数器RTL模块及对应的仿真测试文件,并提供Vivado工程配置。HC161模块负责清零、预置、使能判断、循环计数和RCO生成;测试平台用于驱动输入信号并观察计数器响应。工程目录另含HC164移位寄存器相关RTL与测试平台,可作为独立的8位串入并出移位逻辑示例。

演示视频

工程配有演示视频,可直观查看设计运行过程。

仿真图/仿真说明/设计文档图片

配有设计文档图片及Vivado仿真工程文件,可用于查看RTL、测试平台和仿真过程。

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image1.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image10.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image2.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image3.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image4.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image5.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image6.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image7.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image8.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image9.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image1.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image2.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image3.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image4.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image5.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image6.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image7.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image8.png

74HC161 四位同步计数器 Verilog Vivado 设计文档图片 image9.png

部分代码

以下展示顶层模块 HC161 的部分代码,完整源码请下载压缩包查看。

module HC161(
    input  CLK,         // 时钟
    input  CLR_N,       // 异步清零(低电平有效)
    input  LOAD_N,      // 同步预置(低电平有效)
    input  ENP,         // 计数使能P
    input  ENT,         // 计数使能T
    input  [3:0] D,     // 预置数据
    output reg [3:0] Q, // 计数输出
    output RCO          // 进位输出
);

// 进位输出逻辑:当计数为15且ENT有效时产生进位
assign RCO = (Q == 4'd15) && (ENT == 1'b1);

always @(posedge CLK or negedge CLR_N) begin
    if (CLR_N == 1'b0) begin
        // 异步清零
        Q <= 4'd0;
    end
    else begin
        if (LOAD_N == 1'b0) begin
            // 同步预置
            Q <= D;
        end
        else if ((ENP == 1'b1) && (ENT == 1'b1)) begin
            // 计数使能
            if (Q == 4'd15) begin
                Q <= 4'd0;  // 二进制计数器:15回0
            end
            else begin
                Q <= Q + 1'b1;
            end
        end
        // 其他情况保持
    end
end

endmodule

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 74HC161 四位同步计数器 Verilog Vivado

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员