第八讲:计数器电路设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Байду номын сангаас
计数器电路设计与实现
赵杰
讨论主题:

10进制计数器 6进制计数器 60进制计数器 数字跑表模块
计数器设计
计数器是一种典型的时序器件,常用于对 时钟脉冲的个数进行计数,还用于定时,分 频,产生同步脉冲 按触发方式分:同步计数器和异步计数器 Verilog HDL最容易实现计数器设计就是 cnt=cnt+1
计数器





计数器对时钟脉冲进行计数 以递增计数器为例,介绍其Verilog HDL设计方法 递增计数器基本引脚: 时钟输入端:clk 复位端: rst 计数使然端:en 计数输出端:cnt
计数器设计代码
module cnt(en,rst,clk,cnt); input en,rst,clk; output [3:0] cnt; reg [3:0] cnt; always@(posedge clk or posedge rst) begin if(rst==1’b1) cnt<=4’b0000; else if(en==1’b1) cnt<=cnt + 1; else; end endmodule
问题:


设计一个10进制计数器。 设计一个6进制计数器。 用一个10进制计数器和一个6进制计数 器构建一个60进制计数器,请画出设计 框图,并完成Verilog HDL设计
设计框图
cnt_l[3:0] rst
10进制计 数器
clk
flag
6进制计 数器
cnt_h[2:0]
clk
60进制计数器
10进制计数器仿真波形:
6进制计数器仿真波形:
60进制计数器仿真波形:
思考:


上述60进制计数器是否存在问题? 如果仿真波形存在bug,请大家思考问 题出在哪里?如何解决?
设计方案
跑表模块
pause ms_h
百分秒 计数器
flag1 clk
ms_l
s_h
秒计数器
flag2 reset
s_l
m_h
分计数器
m_l
接口信号定义
信号名 clk reset pause ms_h I/O I I I O 含义 100HZ时钟输入 复位信号,高电平有效 暂停信号,低电平计数,高电平暂停 百分秒高位
ms_l s_h s_l m_h m_l
O O O O O
百分秒低位 秒信号高位 秒信号低位 分钟信号高位 分钟信号低位
相关文档
最新文档