当前位置: 首页 > news >正文

模10模99计数器与分频器 Verilog Quartus

名称:模10模99计数器与分频器 Verilog Quartus

软件:Quartus

语言:Verilog

功能介绍

本设计包含 Verilog 编写的数字计数与分频基础工程,主要包括同步模10计数器、两位 8421 BCD 模99计数器以及偶数分频器。工程可在 Quartus 环境中打开、编译和仿真,适合数字逻辑、FPGA 入门实验以及计数器级联设计学习使用。 模10计数器提供 clk、rst_n、en、count 和 tc 接口。rst_n 为低有效异步复位,en 为计数使能,count 输出 4 位当前计数值,tc 在 9 回 0 时输出一个周期的进位脉冲。该结构清晰,既可以单独作为 0 到 9 循环计数模块使用,也可以作为多级十进制计数系统中的基础单元。 模99 BCD 计数器输出十位 tens 和个位 ones,实现 00 到 99 再回到 00 的循环计数。分频器模块提供 2 分频、4 分频和 8 分频输出,复位后各级输出清零,释放复位后按级联关系翻转,可用于生成较低频率的控制节拍。

运行环境

开发语言:Verilog 开发软件:Quartus 工程类型:Quartus FPGA 工程,包含 Verilog 源码、工程配置文件以及仿真波形相关文件。

设计思路

模10计数器采用同步计数结构,核心逻辑由时钟上升沿驱动,低有效异步复位负责初始化计数值和终端进位信号。使能信号 en 为高时,count 按 0、1、2 直到 9 的顺序递增;当 count 达到 9 后,下一个有效计数周期回到 0,同时 tc 输出一个时钟周期的高脉冲,用于表示一次模10循环结束。 这种设计方式适合级联扩展。tc 可作为下一级计数器的进位触发条件,从而扩展成多位十进制计数系统。低有效复位使电路能够快速回到确定初值,使能门控则让计数器在暂停状态下保持当前计数值,便于在数字钟、计数显示、频率控制和状态计数类实验中复用。 两位 8421 BCD 计数器部分采用个位与十位联动的思路:个位从 0 到 9 循环,个位回零时推动十位加 1;十位同样按 0 到 9 循环。当十位和个位均达到 9 后,下一拍共同回到 00,实现完整的 00 到 99 循环。分频器部分通过 D 触发器翻转实现 2 分频,并以上一级输出级联生成 4 分频、8 分频信号,适合用于时钟降频和节拍产生。

模块结构

主要模块包括: 1. mod10_counter:同步模10计数器,包含低有效异步复位、计数使能、4位计数输出和终端进位输出。 2. mod99_bcd_counter:两位 8421 BCD 计数器,个位满 9 回零并推动十位递增,实现 00 到 99 循环。 3. freq_divider:级联偶数分频器,生成 2 分频、4 分频和 8 分频时钟输出。 4. adder8、fa1:8位加法器及一位全加器模块,可作为组合逻辑基础模块参考。

演示视频

配套演示视频展示了工程功能运行效果,便于对照计数、复位、使能和分频输出等关键现象进行理解。视频可作为学习工程结构和验证波形含义的辅助参考。

演示视频请关注公众号后获取对应资料查看。

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

配套设计文档包含工程文件说明、程序编译结果、RTL 图、仿真图和仿真分析内容。仿真覆盖了复位、使能、计数递增、终端回零、BCD 十位进位以及 2/4/8 分频输出等关键行为。 模10计数器仿真中,rst_n 初始拉低后释放,en 为高时 count 从 0 递增到 9,随后回到 0,回零当拍 tc 输出高脉冲;en 拉低时 count 保持不变,tc 保持为 0。模99 BCD 计数器仿真中,ones 每拍递增,ones 为 9 后回 0 并使 tens 加 1,tens 和 ones 到达 99 后回到 00。分频器仿真中,clk_div2、clk_div4、clk_div8 的周期分别为输入时钟的 2、4、8 倍,占空比为 50%。

部分代码

以下展示顶层模块mod10_counter的部分代码,完整代码可关注下方公众号卡片获取。

module mod10_counter ( input clk, input rst_n, input en, output reg [3:0] count, output reg tc ); // 计数逻辑:en=1 时递增;到 9 回 0,并拉高 tc 一个周期 always @(posedge clk or negedge rst_n) begin if (!rst_n) begin count <= 4'd0; tc <= 1'b0; end else if (en) begin if (count == 4'd9) begin count <= 4'd0; tc <= 1'b1; end else begin count <= count + 4'd1; tc <= 1'b0; end end else begin tc <= 1'b0; end end endmodule

代码获取:点击下方公众号卡片

http://www.zskr.cn/news/1470896.html

相关文章:

  • Zabbix Server日志里惊现MySQL连接错误?一个关于‘localhost’和Socket的深度误解与修复指南
  • Inspur服务器SSD硬盘灯不亮变红灯?可能是你的RAID阵列没把它‘算进去’
  • go 服务器下发wsam到客户端执行并返回结果的调试过程
  • 从《三体》智子到手机基站:用Python简单模拟电磁波传播的几种基本姿势
  • 告别单调气泡图!用R语言ggplot2手把手绘制桑吉气泡图(附clusterProfiler数据处理代码)
  • GIS数据处理实战:手把手教你用gdal2tiles为Leaflet地图准备TMS瓦片底图
  • 2026年靠谱的上海建筑沙盘模型/沙盘模型/建筑沙盘模型实力工厂推荐 - 行业平台推荐
  • 我的OpenMV 4 Plus内存爆了?手把手教你优化TensorFlow Lite模型,告别‘MemoryError’
  • 小程序毕业设计-基于微信小程序的博物馆文创系统的设计与实现基于springboot+微信小程序的博物馆文创系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 2026年比较好的熔体计量泵挤出模具/静态混合器挤出模具/台州PVDF板材挤出模具深度厂家推荐 - 品牌宣传支持者
  • 信号处理入门必看:傅里叶级数的三种形式(三角、余弦、指数)到底该怎么选?
  • 国内淤泥脱水处理设备厂家实力排行及选型推荐 - 优质品牌商家
  • 避开这些坑,你的ADC0809多路采集才能准:硬件连接、时序与数据处理详解
  • 2026无人机清洗外墙服务有哪些品牌?绿阳高空清洗方案值得关注 - 华旭传媒
  • 自学还是报班,Java 转大模型的课程性价比深度分析
  • 2026年6月可靠韩国留学机构排行:新西兰留学机构/日本留学机构/澳大利亚留学机构/合规与服务能力盘点 - 优质品牌商家
  • 紧急预警:2024Q3起多地将强制执行《智能社区AI接口合规性新规》——你漏掉的这5个认证项正在导致项目搁浅
  • 2026 年,探秘高性价比电子记分牌领先源头厂家
  • 【实用教程】软碟通UltraISO下载安装及U盘启动盘制作全攻略
  • 191个主流电子产品品牌Logo图像数据集,含中文化标签与标准训练测试划分
  • Transformer位置编码融合机制优化与实验对比
  • 给硬件新人的PCB出图第一课:手把手用Altium Designer搞定Gerber文件与制板厂沟通
  • 随机矩阵理论在网络嵌入中的应用与维度选择
  • https://chatgpt.com/ 2026.06.05 [free]
  • 别再只调参了!深入对比TensorFlow 2.3下CNN与MobileNet在果蔬识别任务上的实战差异
  • 图解Horspool算法:一张‘移动表’是如何让字符串匹配快起来的?
  • 宁波市磁性材料商会校企合作与产教融合
  • 淘宝买的ST-Link V2在Keil 5.38和STM32CubeProgrammer 2.15上识别不了?别扔,试试这个暴力升级教程(附救砖指南)
  • 小程序毕业设计-基于Django的医院信息查询、疫苗信息及预约本地健康宝微信小程序系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 从RTX_Config.h看RTX5内存管理:对象专用内存池 vs 全局内存池,你的选择是什么?