Verilog——秒计数器
秒计数器(s_counter,0-9)
假设clk是24MHz系统·时钟,秒分频产生秒脉冲s_pluse;
秒计数模块对秒脉冲计数,计数范围0-9,秒计数结果s_sum(位宽4)。
系统时钟:24MHz
基于系统时钟的计数:cont_t(计数范围0-24000000-1),每循环一圈就是1秒。
秒脉冲:触发器,每看到0就置为1,不是0就置为0,就可以得到一秒一个脉尖冲,称为秒脉冲
秒计数:对秒脉冲进行计数,看到一个秒脉尖冲加一。(9加1变成0)
`timescale 1ns/10ps//testbench时间单位
module s_counter(clk,//时钟res,//复位s_num//秒计数,输出);
input clk;
input res;
output[3:0] s_num;parameter frequency_clk=24;//24MHz;方便修改其他数值,比如16Mhz;reg[24:0] con_t;//秒脉冲分频计数器;
//24MHz频率24000000,二进制25位
reg s_pulse;//秒脉冲尖;
reg[3:0] s_num;always@(posedge clk or negedge res)
//触发器复位
if(~res)begincon_t<=0;s_pulse<=0;s_num<=0;
end
//正常工作
else begin//秒脉冲分频计数器,基于系统时钟计数if(con_t==frequency_clk*1000000-1)begincon_t<=0;endelse begincon_t<=con_t+1;end//秒脉冲,con_t为0,置1,非0,置0。if(con_t==0)begins_pulse<=1;endelse begins_pulse<=0;end//秒计数器,对秒脉冲进行计数,看到一个秒脉冲加一。计数范围0-9。if(s_pulse)beginif(s_num==9)begins_num<=0;endelse begins_num<=s_num+1;endendendmodule
测试代码testbench
//------testbench of s_counter-----
module s_counter_tb;
reg clk,res;
wire[3:0] s_num;
s_counter s_counter(.clk(clk),.res(res),.s_num(s_num));
initial beginclk<=0;res<=0;//复位#17 res<=1;//17ns后复位结束#300000 $stop;//300000ns系统任务结束
endalways #5 clk<=~clk;endmodule
数码管0-9秒循环显示
Verilog代码
//顶层module:top
module top(clk,res,a_g);
input clk;
input res;
output[6:0] a_g;
wire[3:0] s_num ;//顶层内部信号,如果只是为了连接,则定义成wire型即可//s_counter seg_dec是module名
//U1 U2例化名
s_counter U1(.clk(clk),.res(res),.s_num(s_num));seg_dec U2(//括号里的是顶层信号名,如果不是端口,需要定义成wire型完成连接.s_num(s_num),.a_g(a_g));endmodule
数码管0-59秒循环显示
每个数码管7个笔画
笔画比较多,采用共用办法,各个数码管公用同一组a-g信号。通过片选,快速扫描,实现共享笔画。
Verilog——秒计数器相关推荐
- verilog_边学边练习(5) 秒计数器(时序逻辑电路)
目录 1 秒计数器 1.1 代码实现 1.2 仿真实现 2 小节 1 秒计数器 1.1 代码实现 //2020-6-30 安静到无声 //秒计数器,0-9循环`timescale 1ns/10psmo ...
- (44)Verilog HDL 计数器设计
(44)Verilog HDL 计数器设计 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL 计数器设计 5)结语 1.2 FPGA简介 FPGA( ...
- (38)FPGA面试题Verilog设计计数器
1.1 FPGA面试题Verilog设计计数器 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题Verilog设计计数器: 5)结束语. 1.1.2 本节引 ...
- Verilog——74LVC161计数器
Verilog--74LVC161计数器 设计思路 代码实现 设计模块 测试模块 仿真结果 设计思路 根据功能表进行行为级建模,如下: 代码实现 设计模块 //filename:_74LVC161.v ...
- 使用Multisim软件利用74LS161芯片设计60秒计数器
一.74LS161芯片基本功能简介 74LS161芯片具有二进制加法计数功能外,还具有预置数,保持和异步置零等附加功能. 结合下图我们具体分析74LS161芯片的引脚功能: 1.(1)引脚是异步置零( ...
- Verilog 语言 ——计数器
计数是一种最简单基本的运算,计数器就是实现这种运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量.计数和控制的功能, 同时兼有分频功能. 计数器在数字系统中应用广泛 ...
- 【FPGA教程案例7】基于verilog的计数器设计与实现
FPGA教程目录 MATLAB教程目录 -------------------------------------------------------------------------------- ...
- 【verilog】计数器
理论学习 计数器实现的是计数,计数是一种最简单基本的运算.计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量.计数.控制的功能,同时兼有分频功能. 计数器是FPGA设计中最常用的一种时序逻辑,根 ...
- 60秒计数器计算机组成原理,计算机组成原理实验六程序计数器.doc
文档介绍: 洛阳理工学院实验报告6系别计算机系班级学号姓名课程名称计算机组成与系统结构实验日期2015.5.18实验名称程序计数器成绩实验目的:掌握模型机中程序计数器PC的工作原理及其控制方法.实验条 ...
- verilog计数器
1. 实验目的 (1)深入了解计数器原理 (2)学习使用Verilog实现同步计数器(模八) 2.实验内容 (1)原理描述 计数器的功能是记忆脉冲个数,它是数字系统中应用最为广泛的时序逻辑构件. 下图 ...
最新文章
- 如何处理Entity Framework中的DbUpdateConcurrencyException异常
- 财务 计算机网络,计算机网络技术在财务系统中的应用
- Algorithm:C++/python语言实现之求旋转数组最小值、求零子数组、求最长公共子序列和最长公共子串、求LCS与字符串编辑距离
- 21-break、continue、return语句理解
- 微信小程序结合Java后端实现登录注册
- iOS Programming UIWebView 2
- dubbo服务RpcException异常:Tried 3 times of the providers 或com.alibaba.dubbo.remoting.TimeoutException
- SwiftUI调用UIKit
- python f检验 模型拟合度_模型评估指标(RMSE、MSE、MAE、R2准确率、召回率、F1、ROC曲线、AUC曲线、PR曲线)...
- android 高通手机精品游戏合集
- VMware虚拟机Ubuntu系统如何连接网络
- 浪潮服务器安装windows2008系统,浪潮NF5280M3安装Windows Server 2008 R2注意事项
- 黑苹果html5,黑苹果配置必备神器 Clover Configurator v5.10.0.0 官方中文原版
- 淘宝玉伯引发Web前后端研发模式讨论
- Kubernetes(1)
- 千年虫10周年了,今天才第一次碰到。
- 浅析侧供给结构性改革及三去一降一补
- android 双屏apk,双屏可折叠 通吃.exe和.apk 微软终于发大招了!
- 网页版天气预报linux,在Linux 命令行下浏览天气预报
- 【深度神经网络】五、GoogLeNet网络详解
热门文章
- win7分区c盘调整容量_深度学习 | win7与ubuntu 18.04双系统安装教程
- sklearn中的make_blobs
- Python采集《雪中》弹幕做词云图可视化分析,看看它为何高开低走
- linux中彻底分析#!bin/sh是什么意思
- 从零开始制作点餐Android app(一)
- [译]Hierarchical Macro Strategy Model for MOBA Game AI(王者荣耀)--翻译
- 视频教程-Photoshop(PS)软件基础入门-Photoshop
- 人生,原来是个笑话?
- 阿里巴巴校园招聘在线面试之附加题
- Amazon Alexa系列介绍(3)--Alexa Voice Service API介绍