【Verilog语法】比较不同计数器的运算方式,其中有一个数是延迟打一拍的效果,目的是使得两个计数器的结果相同。

news2025/1/11 6:23:48

比较不同计数器的运算方式,其中有一个数是延迟打一拍的效果,目的是使得两个计数器的结果相同。

      • 1,第一种
      • 2,第二种
      • 3,第三种

第三种方案,完成实现。

1,第一种

(1)RTL


module c(
input clk,
input rst_n,
// input a,
// input b,
output cnt1,
output cnt2
);

reg [4:0] cnt1, cnt2;
always@(posedge clk or negedge rst_n)    begin
    if(!rst_n)  begin
        cnt1    <= 0;
        cnt2    <= 0;
        end
     else if(cnt1 <= 16)    begin
        cnt1    <= cnt1 + 1;
        cnt2    <= cnt1;        
        end
     else   begin
        cnt1 <= 0;
        cnt2 <= 0;
        end         
end

endmodule

(2)TB


module tb_c;
reg clk;
reg rst_n;
wire [4:0]   cnt1;
wire [4:0]   cnt2;

always #10 clk = ~clk;

initial begin
        clk = 1; rst_n =1;
    
#20;    rst_n = 0;

#40;    rst_n = 1;    
    

end 

c uu(
.clk(clk),
.rst_n(rst_n),
.cnt1(cnt1),
.cnt2(cnt2)
);

endmodule

(3)仿真
在这里插入图片描述

2,第二种

(1)RTL


module c(
input clk,
input rst_n,
// input a,
// input b,
output cnt1,
output cnt2
);

reg [4:0] cnt1, cnt2;
always@(posedge clk or negedge rst_n)    begin
    if(!rst_n)  begin
        cnt1    <= 0;
        cnt2    <= 0;
        end
     else if(cnt2 <= 16)    begin
        cnt1    <= cnt1 + 1;
        cnt2    <= cnt1;        
        end
     else   begin
        cnt1 <= 0;
        cnt2 <= 0;
        end         
end

endmodule


(2)TB


module tb_c;
reg clk;
reg rst_n;
wire [4:0]   cnt1;
wire [4:0]   cnt2;

always #10 clk = ~clk;

initial begin
        clk = 1; rst_n =1;
    
#20;    rst_n = 0;

#40;    rst_n = 1;    
    

end 

c uu(
.clk(clk),
.rst_n(rst_n),
.cnt1(cnt1),
.cnt2(cnt2)
);

endmodule

(3)仿真
在这里插入图片描述

3,第三种

(1)RTL


module c(
input clk,
input rst_n,
// input a,
// input b,
output cnt1,
output cnt2
);

reg [4:0] cnt1, cnt2;
// 1
always@(posedge clk or negedge rst_n)    begin
    if(!rst_n)  begin
        cnt1    <= 0;
        end
     else if(cnt1 < 16)    begin
        cnt1    <= cnt1 + 1;       // 1
        end
     else   begin
        cnt1 <= 0;
        end         
end

// 2
always@(posedge clk or negedge rst_n)    begin
    if(!rst_n)  begin
        cnt2    <= 0;
        end
     else if(cnt2 < 16)    begin
        cnt2    <= cnt1;               // 0
        end
     else   begin
        cnt2 <= 0;
        end         
end


endmodule

(2)TB

module tb_c;
reg clk;
reg rst_n;
wire [4:0]   cnt1;
wire [4:0]   cnt2;

always #10 clk = ~clk;

initial begin
        clk = 1; rst_n =1;
    
#20;    rst_n = 0;

#40;    rst_n = 1;    
    

end 

c uu(
.clk(clk),
.rst_n(rst_n),
.cnt1(cnt1),
.cnt2(cnt2)
);

endmodule

(3)仿真

在这里插入图片描述

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

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

相关文章

基于Python开发的火车票分析助手(源码+可执行程序+程序配置说明书+程序使用说明书)

一、项目简介 本项目是一套基于Python开发的火车票分析助手&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含&#xff1a;项目源码、项目文档等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;…

企业如何使员工保持工作的积极性?

保持员工的工作积极性对于企业来说至关重要。激发员工的热情和投入度可以提高工作效率、创造力和团队合作&#xff0c;进而为企业带来更好的成果和竞争优势。以下是一些企业可以采取的方法来确保员工保持积极性&#xff1a; 提供发展机会 员工希望在职业生涯中不断成长和发展…

数据库管理-第105期 安装Database Valut组件(20230919)

数据库管理-第105期 安装Database Valut组件&#xff08;20230919&#xff09; 之前无论是是EXPDP还是PDB中遇到的一些问题&#xff0c;其实都跟数据库的DV&#xff08;Database Valut&#xff09;组件有关&#xff0c;因为目标库没有安装DV导致启动时会出现问题。 1 DV/OLS …

Seata 源码篇之AT模式启动流程 - 上 - 02

Seata 源码篇之AT模式启动流程 - 02 自动配置两个关键点 初始化初始化TM初始化RM初始化TC 全局事务执行流程TM 发起全局事务GlobalTransactional 注解处理全局事务的开启 TM 和 RM 执行分支事务IntroductionDelegatingIntroductionInterceptorDelegatePerTargetObjectIntroduct…

Linux开发工具之编辑器-vim

vim简单来说就是一款文本编辑器&#xff0c;用于写代码&#xff0c;更是一款多模式编辑器 vim的基本概念 vim有许多种模式&#xff0c;但是铁三角是以下三种模式&#xff1a;命令模式&#xff0c;插入模式&#xff0c;底行模式 1 正常/普通/命令模式&#xff08;默认打开&…

搭建私人图床结合内网穿透实现公网访问,让您的摄影作品连接世界

文章目录 1. 树洞外链网站搭建1.1 下载安装树洞外链1.2 树洞外链网页测试1.3 cpolar的安装和注册 2.本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3 Cpolar稳定隧道&#xff08;本地设置&#xff09; 3.公网访问测试 社交平台具有庞…

Go 语言学习总结(9)—— Go 与 Java 全面对比总结

基本语法格式 Golang: 编码风格相对统一&#xff0c;简单&#xff0c;没有太多的语法糖等&#xff0c;Java层次清晰&#xff0c;全面面向对象。 变量相关 变量的声明及使用 在Java或者PHP、Python中&#xff0c;声明了变量&#xff0c;可以不使用&#xff0c;也不报错。 p…

win11 新建markdown文件 添加到右键新建项 无反应(已解决)

需要操作 2 处注册表 1. win R输入【regedit】 定位路径 【计算机\HKEY_CLASSES_ROOT.md】 点击.md文件夹, 双击右侧(默认)项&#xff0c;将数值数据改为【Typora.md】 右键.md文件夹 > 新建 > 项&#xff0c;把新建的项命名为【ShellNew】 右键ShellNew > 新建 >…

基于Spring Boot+ Vue的健身房管理系统与实现

小熊学Java全能学面试指南&#xff1a;https://javaxiaobear.cn 摘要 随着健身行业的快速发展&#xff0c;健身房管理系统成为了提高管理效率和用户体验的重要工具。本论文旨在设计与实现一种基于前后端分离的健身房管理系统&#xff0c;通过前后端分离的架构模式&#xff0c;…

如何代码降重

目录 一、使用的相关工具二、冗余代码的分类和压缩策略2.1 无用代码2.2 重复代码2.3 相似代码 三、长久治理机制3.1 git-hooks 一、使用的相关工具 以下工具都有各自详细说明的文档。除非有必要&#xff0c;下文不再对其相关使用作详细说明。 仓库代码查重工具&#xff1a;http…

WebStorm 2023年下载、安装教程、亲测有效

文章目录 简介安装步骤常用快捷键 简介 WebStorm 是JetBrains公司旗下一款JavaScript 开发工具。已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源&#xff0c;继承了IntelliJ IDEA强大的JS部分的…

PostgreSQL 主从复制故障切换

文章目录 前言环境准备搭建主从节点配置主从节点从节点加入主节点查看主从信息 主从故障切换 前言 PostgreSQL的主从复制是一种非常简单且常用的高可用性和可扩展性解决方案&#xff0c;本质上是将主服务器的数据复制到一个或多个从服务器上&#xff0c;从而提高系统的性能和可…

会话控制学习

文章目录 介绍cookieexpress中使用cookie获取cookie session配置区别 介绍 cookie express中使用cookie 退出登录就是删除cookie 获取cookie 添加中间键后&#xff0c;直接获取 session 配置 区别

Linux 内核代码是 AMD GPU 驱动代码

导读Linux 内核代码是 AMD GPU 驱动代码 1/7 的 Linux 内核代码是 AMD GPU 驱动代码 随着开发中的 Linux 6.6 内核增加了对更多即将推出的 Radeon 图形处理器的支持&#xff0c;现在内核中 AMD GPU 驱动代码的行数已超过 500 万行。其中很大一部分是 AMD 在每一代新版本中不断…

Python的协程异步IO(asyncio)详解

一、协程简介 1.1 定义 协程不是系统级线程&#xff0c;很多时候协程被称为“轻量级线程”、“微线程”、“纤程(fiber)”等。简单来说可以认为协程是线程里不同的函数&#xff0c;这些函数之间可以相互快速切换。 协程和用户态线程非常接近&#xff0c;用户态线程之间的切换…

一文告诉你为什么时序场景下 TDengine 数据订阅比 Kafka 好

在 TDengine 3.0 中&#xff0c;我们对流式计算、数据订阅功能都进行了再升级&#xff0c;帮助用户极大简化了数据架构的复杂程度&#xff0c;降低整体运维成本。TDengine 提供的类似消息队列产品的数据订阅、消费接口&#xff0c;本质上是为了帮助应用实时获取写入 TDengine 的…

第二证券:a股注册制什么意思?

A股施行新的注册原则已经是大势所趋。那么什么是A股注册制&#xff1f;A股注册制和现行的核准制的差异在哪里&#xff1f;关于出资者来说&#xff0c;A股注册制带来了什么样的影响&#xff1f;这篇文章将从多个角度进行分析&#xff0c;为咱们答复疑问。 一、什么是A股注册制&…

[git] rebase 合并多个commit

一、未使用 rebase 的提交数量 上图中 可以看到 有四提交 二、使用rebase git rebase -i head~2表示合并 最后的两个提交, 也就是vv1 和 vv2 回车会弹出&#xff1a; 修改为 pick&#xff1a;保留该commit&#xff08;缩写:p&#xff09; reword&#xff1a;保留该commit…

《YOLOv5/YOLOv7/YOLOv8最新改进大作战》专栏介绍 CSDN独家改进创新实战 专栏目录

&#x1f4a1;&#x1f4a1;&#x1f4a1;YOLOv5/YOLOv7/YOLOv8最新改进大作战&#xff0c;独家首发创新&#xff08;原创&#xff09;&#xff0c;持续更新&#xff0c;适用于Yolov5、Yolov7、Yolov8等各个Yolo系列&#xff0c;专栏文章提供每一步步骤和源码&#xff0c;轻松带…

蓝牙资讯|2023年Q2中国可穿戴市场同比增长17%,蓝牙可穿戴发展迅猛

IDC 发布《中国可穿戴设备市场季度跟踪报告》显示&#xff0c;2023 年第二季度中国可穿戴设备市场出货量为 3,350 万台&#xff0c;同比增长 17.3%&#xff0c;是自 2022 年以来季度最大规模出货。 智能手表 Q2 出货量 942 万台&#xff0c;同比增长 11.5%。其中成人智能手表 4…