加减计数器

news2024/9/28 1:21:55

目录

描述

输入描述:

输出描述:

参考代码


描述

请编写一个十进制计数器模块,当mode信号为1,计数器输出信号递增,当mode信号为0,计数器输出信号递减。每次到达0,给出指示信号zero。
模块的接口信号图如下:
 


模块的时序图如下:
 


请使用Verilog HDL实现以上功能,并编写testbench验证模块的功能

输入描述:

clk:系统时钟信号

rst_n:复位信号,低电平有效

mode:模式选择信号,当该信号为1,计数器每个时钟加一;为0,则每个时钟减一。

输出描述:

number:4比特位宽,计数器当前输出读数。

zero:过零指示信号,当number为0时,该信号为1,其他时刻为0.

参考代码

`timescale 1ns/1ns

module count_module(
	input clk,
	input rst_n,
	input mode,
	output reg [3:0]number,
	output reg zero
	);

	reg [3:0]num;
	always @(posedge clk or negedge rst_n)
		if (!rst_n)
			begin 
				zero <= 1'd0;
			end
		else if (num == 4'd0)
			begin
				zero <= 1'b1;
			end
		else 
			begin	
				zero <= 1'b0;
			end
		
	always @(posedge clk or negedge rst_n)
		if (!rst_n)
			begin 
				num <= 4'b0;
			end
		else if(mode)
			begin
				if(num == 9)
					num <= 0;
				else
					num <= num + 1'd1;
			end
		else if(!mode)
			begin
				if(num == 0)
					num <= 9;
				else
					num <= num - 1'd1;
			end
		else num <= num;
		
	always @(posedge clk or negedge rst_n)
		if (!rst_n)
			begin 
				number <= 4'd0;
			end
		else 
			begin	
				number <= num;
			end
endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1919914.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【鸿蒙学习笔记】使用httpRequest进行HTTP数据请求

官方文档&#xff1a;网络管理开发概述 目录标题 访问淘宝公开接口&#xff08;测试数据&#xff09;第1步&#xff1a;module.json5 配置网络授权第2步&#xff1a;源码第3步&#xff1a;启动模拟器第4步&#xff1a;启动entry第5步&#xff1a;操作 访问淘宝公开接口&#x…

区分modbus tcp和tcp/ip

Modbus 对某些人来说&#xff0c;这听起来可能很复杂&#xff0c;也很令人费解&#xff0c;但是一旦你了解了它的工作原理&#xff0c;那就是一个特别简单的过程。MODBUS 这是一种请求和响应协议。MODBUS 主站将发起请求&#xff0c;从站将响应错误或请求信息。这就是 modbus 简…

海外媒体软文发稿:南非新闻通稿宣发,谷歌新闻收录

南非媒体介绍 南非作为非洲大陆最先进的经济体之一&#xff0c;拥有着丰富多样的媒体资源。在南非&#xff0c;各种类型的新闻报纸、杂志和网站充斥着市场。以下是一些南非主要媒体的 大舍传媒 大舍传媒是专注南非最有影响力的发稿平台之一&#xff0c;其新闻报道覆盖了南非…

【深度学习】基于深度学习的模式识别基础

一 模式识别基础 “模式”指的是数据中具有某些相似特征或属性的事物或事件的集合。具体来说&#xff0c;模式可以是以下几种形式&#xff1a; 视觉模式 在图像或视频中&#xff0c;模式可以是某种形状、颜色组合或纹理。例如&#xff0c;人脸、文字字符、手写数字等都可以视…

【鸿蒙学习笔记】通过用户首选项实现数据持久化

官方文档&#xff1a;通过用户首选项实现数据持久化 目录标题 使用场景第1步&#xff1a;源码第2步&#xff1a;启动模拟器第3步&#xff1a;启动entry第6步&#xff1a;操作样例2 使用场景 Preferences会将该数据缓存在内存中&#xff0c;当用户读取的时候&#xff0c;能够快…

千呼新零售2.0-OCR图像识别采购单视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

29.PLL(锁相环)-IP核的调用

&#xff08;1&#xff09;PLL IP核的简介&#xff1a; Phase Locked Loop&#xff0c;即锁相环&#xff0c;是最常用的IP核之一&#xff0c;其性能强大&#xff0c;可以对输入到FPGA的时钟信号进行任意分频、倍频、相位调整、占空比调整&#xff0c;从而输出一个期望时钟。锁相…

如何从gitlab删除仓库

嗨&#xff0c;我是兰若姐姐。今天发现gitlab上有些仓库的代码没有用&#xff0c;是个多余的仓库&#xff0c;想要删掉&#xff0c;经过一番操作之后&#xff0c;成功的删除了&#xff0c;git上没有 多余的仓库&#xff0c;看着干净舒服很多&#xff0c;现在把删除的过程分享出…

Node.js如何在Windows安装?

文章目录 主要特点&#xff1a;使用场景&#xff1a;安装方法验证是否安装成功 Node.js 是一个开源、跨平台的JavaScript运行环境&#xff0c;由Ryan Dahl于2009年创建。它允许开发者在服务器端运行JavaScript代码。Node.js 基于Chrome V8 JavaScript引擎构建&#xff0c;其设计…

各地户外分散视频监控点位,如何实现远程集中实时监看?

公司业务涉及视频监控项目承包搭建&#xff0c;此前某个项目需求是为某林业公司提供视频监控解决方案&#xff0c;需要实现各地视频摄像头的集中实时监看&#xff0c;以防止国家储备林的盗砍、盗伐行为。 公司原计划采用运营商专线连接各个视频监控点位&#xff0c;实现远程视…

前后端通信 —— HTTP/HTTPS

目录 一、HTTP/HTTPS 简介 1、HTTP 2、HTTPS 二、HTTP 工作过程 三、HTTP 消息 1、HTTP消息结构 2、HTTP消息示例 四、HTTP 方法&#xff08;常用&#xff09; 1、GET 2、POST 3、PUT 4、DELETE 5、GET与POST对比 五、HTTP 状态码&#xff08;常用&#xff09; …

【Hive SQL 每日一题】在线峰值人数计算

文章目录 测试数据需求说明需求实现 测试数据 -- 创建 user_activity 表 DROP TABLE IF EXISTS user_activity ; CREATE TABLE user_activity (user_id STRING,activity_start TIMESTAMP,activity_end TIMESTAMP );-- 插入数据 INSERT INTO user_activity VALUES (user1, 2024…

GAN生成对抗网络

GAN生成对抗网络 GANStable Diffusion GAN生成对抗网络子啊2015年横空出世&#xff0c;在当时掀起了巨大轰动&#xff0c;很多人预研它将开创一个全新的学习范式&#xff0c;当时有一个很流行的说法&#xff1a;样本不够&#xff0c;GAN来凑。现如今&#xff0c;大模型当道&…

vue+lodop实现web端打印功能

lodop官网下载地址&#xff1a;http://www.c-lodop.com/download.html 1、下载插件&#xff08;如果只是想实现打印功能&#xff0c;下载红框里的即可&#xff09; 2、解压缩&#xff0c;然后根据自己的操作系统安装控件 32位系统安装&#xff1a;install_lodop32.exe&#x…

通俗易懂,幽默诙谐,《IP 核芯志》让逻辑设计思想摆脱枯燥的标签(可下载)

在科技的广袤星空中&#xff0c;数字逻辑设计宛如一颗璀璨的明星&#xff0c;闪耀着智慧与创造的光芒。而在这光芒的深处&#xff0c;IP 核芯则是那关键的能量源泉&#xff0c;驱动着无数创新的浪潮。 《IP 核芯志——数字逻辑设计思想》犹如一座灯塔&#xff0c;照亮了我们在…

Docker Push Docker Hub

首先可以参考 Docker | 将自己的docker镜像推送到docker hub[图文详情]_如何将自己的docker镜像上传到dockerhub上-CSDN博客 将自己的镜像打标签 和 镜像推送到 docker hub上的图文注意一下 1.打标签之前 docker tag paddleocr_fast_api:1.0 hmgx/wlx:3.0 2.打标签之后 3.开…

数据结构 —— FloydWarshall算法

数据结构 —— FloydWarshall算法 FloydWarshall算法三种最短路径算法比较1. Dijkstra算法2. Bellman-Ford算法3. Floyd-Warshall算法总结 我们之前介绍的两种最短路径算法都是单源最短路径&#xff0c;就是我们要指定一个起点来寻找最短路径&#xff0c;而我们今天介绍的Floyd…

STM32第十八课:SPIFlash

目录 需求一、SPI概要二、SPI配置1.开时钟2.配置IO3.配置&使能SPI 三、FLash操作函数1.SPI发送数据2.FLASH写使能3.FLASH等待操作完成4.FLASH页写操作5.FLASH读操作6.FLASH扇区擦除 四、需求实现 需求 通过SPI控制FLash进行数据的保存和删除。 一、SPI概要 在我们使用UA…

egg.js使用消息队列rabbitMQ

1. egg-amqplib&#xff1a; 基于 rabbitmq 消息队列封装的库 安装: npm i egg-amqplib --save 引入 // {app_root}/config/plugin.js exports.amqplib {enable: true,package: egg-amqplib, }; 设置 // {app_root}/config/config.default.js exports.amqplib {client:…

Zero-shot learning for requirements classification: An exploratory study

Zero-shot learning for requirements classification: An exploratory study A B S T R A C T 背景:需求工程(RE)研究人员一直在试验机器学习(ML)和深度学习(DL)方法来完成一系列的需求工程任务&#xff0c;比如需求分类、需求跟踪、歧义检测和建模。然而&#xff0c;今天的…