基于verliog的异步模10计数器(含模块代码以及测试代码)
本文将根据异步计数器进行讨论(内含代码及仿真波形)
异步计数器和同步计数器相比不同点在于构成异步计数器中的各个触发器的时钟脉冲不一定都是计数输入脉冲,即各级触发器的状态转移不是在同一时钟作用下发生的。
模10计数器原理图
该图描述的是一个由四个T触发器构成的四位二进制异步计数器,其中cp为计数器输入脉冲,Q1,Q2,Q3分别为触发器2,3,4的时钟
然后我们使用verliog语言对其进行描述
基本思想:定义一个计数器count,当时钟的上升沿或者复位信号的下降沿来临时,计数器置0,当计数器从0计到9的时候(即满足计10个数),计数器置0,其他情况计数器加1。
下面展示一些 具体代码以及测试代码
。
module counter10(clk,rst_n,count);input clk,rst_n;output reg[3:0] count;
//定义输入和输出(注意count是敏感词汇所以为reg型变量)always@(posedge clk or negedge rst_n) beginif(rst_n==0)begincount<=4'b0000;end else if(count==4'b1010)begincount<=4'b0000;
//当计数器计到9的时候置0endelse counnt<=count+4'b0001;//计数器加1endendmodule测试代码
module tb();reg clk,rst_n;wire[3:0]count;counter10 U0(.clk(clk),.rst_n(rst_n),.count(count));//调用之前的计数器模块initial beginclk=0;forever #20 clk=~clk;//时钟翻转endinitial begin rst_n=0;#40 rst_n=1;endendmodule
以下为在vivado中的仿真波形图
从图中我们可以看出当计数器计从0计到9的时候继续从0开始,实现了10计数器
基于verliog的异步模10计数器(含模块代码以及测试代码)相关推荐
- 模6计数器以及模10计数器(Verilog HDL语言设计)(Modelsim仿真与ISE综合)
目录 前言 模6计数器 Verilog HDL语言描述 测试文件 仿真电路图 RTL Schematic Technology Schematic 模10计数器 Verilog HDL语言描述 测试文 ...
- 模10计数器是啥玩意?
模5,模10计数器的"模"到底是什么啊...是状态闭合只有5种10种状态? 模5:为逢"5"进1计数. 模10:为逢"10"进1计数.
- 【camera】自动泊车-基于深度学习的视觉车位检测项目(课程设计--训练代码、测试代码、部署demo)(2)
**基于深度学习的点定位回归和角度预测的车位检测 基于深度学习的点定位回归和角度预测 基于深度学习的角点检测和角度回归 ** 项目下载地址:训练代码.测试代码.部署demo 数据集百度网盘下载:数据集 ...
- 【用pandas_alive几行代码绘制竞赛动图】10.新南威尔士州 COVID 可视化(测试代码+数据集+绘图参数解析)
目录 10.新南威尔士州 COVID 可视化 新南威尔士州 COVID 可视化API说明: 新南威尔士州 COVID 可视化数据集 新南威尔士州 COVID 可视化例程 总结 欢迎关注 『pandas ...
- 基于FPGA的多路抢答器设计程序代码与测试代码
(1) 主程序代码: module who_is_the_best(clk,rset,start,rusher1,rusher2,rusher3,rusher4,rusher5,rusher6,tim ...
- 可串联使用的模10计数器
管脚定义 异步复位 reset 同步使能 en 同步清零 clr 计数器最大值状态指示 max_tick 当前数值 `timescale 1ns / 1psmodule mod_m_counter#( ...
- 11.13 模10计数器设计
.新建一个工程 Family:FLEX10K Available device:EPF10K20TC144-3 2.设置lpm_counter宏单元参数并连接引脚 连接引脚的时候要注意的是,向量线的连 ...
- 【图像隐藏】基于小波变换DWT实现数字水印嵌入提取含各类攻击附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 支持异步通知的globalfifo平台设备驱动程序及其测试代码
驱动: #include <linux/module.h> #include <linux/types.h> #include <linux/fs.h> #incl ...
- quartus仿真33:74161级联实现模60计数器
将60分解成6*10,分别用74161实现模6和模10计数器,再级联成模60计数器 利用OC进位端反相得到的信号输入到置位端,模6计数器的实现15-X+1=6,解得置数端需要准备的数为X=10=101 ...
最新文章
- SharePoint 2007 SDK v1.5
- C语言三种常见排序算法
- maven项目,提示One or more constraints have not been satisfied
- 立即学习AI:03-使用卷积神经网络进行马铃薯分类
- 微分方程在matlab中的实现,Matlab微分方程参数优化的Forcal实现
- wordpress 自定义字段
- Java面试题:热情盛夏,分享Java大厂面试百题
- 【webpack】理解配置文件
- 计算机键盘换挡键,换挡键alt电脑键盘上的用处有哪些
- python列表遍历元组_Python 元组遍历排序操作方法
- 芯片加密与解密技术方法
- android hdmi拔插广播,Android drivers/switch驱动详解(用于通过GPIO状态检测耳机、HDMI等的插拔状态)...
- nodejs常用的黑窗口命令
- 快排优化Python表示
- 微信小程序之Github API用户登录认证的三种方式
- js实现文件下载并重命名
- 模型可解释性-SHAPE
- Ajax 请求头中常见的四种content-type,传输方式!
- android服务框架下载,一加移动服务框架
- 解析office文件(doc,xls,ppt,等)