reg和wire的区别 HDL语言
文章目录
- 数据类型
- 根本区别
- 什么时候要定义wire
- 小结
数据类型
HDL语言有三种数据类型:寄存器数据类型(reg)、线网数据类型(wire)、参数数据类型(parameter)。
根本区别
-
reg:
寄存器类型,要有触发,才会响应。变量可以保持它们自身的数值,直到该变量被指定了新的值为止。在过程赋值语句中,表达式右侧的计算结果在某种条件的触发下放到一个变量当中,而这个变量可以声明成reg类型的。根据触发条件的不同,过程赋值语句可以建模不同的硬件结构:如果这个条件是时钟的上升沿或下降沿,那么这个硬件模型就是一个触发器;如果这个条件是某一信号的高电平或低电平,那么这个硬件模型就是一个锁存器;如果这个条件是赋值语句右侧任意操作数的变化,那么这个硬件模型就是一个组合逻辑。 -
wire:
-只要输入有变化,输出就无条件的立即发生变化。表示元件间的物理连线,不能保存数据。使用在连续赋值语句中,表达式右侧的计算结果可以立即更新表达式的左侧。在理解上,相当于一个逻辑之后直接连了一条线,这个逻辑对应于表达式的右侧,而这条线就对应于wire。
什么时候要定义wire
- assign 语句的输出
wire为无逻辑连线。只做连线,wire本身是不带逻辑性的,所以输入什么输出就是什么。所以你尝试着用always语句对wire变量赋值。综合器就会报错。
assign c =a&&b:综合器综合时将a&&b综合成ab经过一个与门。而c只是连接到与门输出的线。真正综合出与门的是&&。而不是c。 - 元件例化时候的顶层输出
(例如这里的rst_filter)
//将呼吸灯模块通过例化到顶层
module top_breath_led(input clk,input rst,output led1, //2soutput led2 //4s
);wire rst_filter; // 按键消抖后的值// 实例化按键消抖模块
keydebounce u_keydebounce (.clk(clk),.rst(rst),.rst_filter(rst_filter)
);// 实例化呼吸灯模块
// 2s
breath_led #(.CNT_2US_MAX(7'd100),.CNT_2MS_MAX(10'd1000),.CNT_2S_MAX(10'd1000)
) u_breath_led1(.clk(clk),.rst(rst_filter),.led(led1)
);// 4s
breath_led #(.CNT_2US_MAX(8'd200),.CNT_2MS_MAX(10'd1000),.CNT_2S_MAX(10'd1000)
) u_breath_led2(.clk(clk),.rst(rst_filter),.led(led2)
);endmodule
- 输入信号
输入信号一般来说你是不知道上一级是寄存器输出还是组合逻辑输出,那么对于本级来说就是一根导线,也就是wire型。
小结
简单介绍了一下wire和reg类型的区别,对于新手来说很容易混淆。
如有任何问题可以联系邮箱:zelinliu@nuaa.edu.cn
相关文章:
reg和wire的区别 HDL语言
文章目录 数据类型根本区别什么时候要定义wire小结 数据类型 HDL语言有三种数据类型:寄存器数据类型(reg)、线网数据类型(wire)、参数数据类型(parameter)。 根本区别 reg: 寄存器…...
前置声明和头文件之间的关系 问题
出现这些问题的原因是 ORB_SLAM3::MultiGraph 被前置声明了,但在使用的时候,编译器并没有看到 MultiGraph 类的完整定义。前置声明只能用于指针和引用,但如果要访问其成员函数或变量,必须包含完整的类定义。 解决方案步骤&#x…...
Linux02
1.相对路径和绝对路径 cd用于切换目录,对于路径可以用相对路径和绝对路径 例如:cd /home/user/public和cd public效果一样,都是将目录切换到HOME文件夹下的public文件夹 2.特殊路径符 .表示当前目录 ..表示上级目录 ~表示HOME目录 3.m…...
df 命令:显示磁盘空间使用情况
一、df 命令简介 df命令用于显示文件系统的磁盘空间利用情况,包括文件系统的总空间、已用空间、可用空间以及挂载点信息。通过df命令,用户可以快速了解系统中各个文件系统的空间使用情况。 二、df 命令参数 df [选项] [目录/驱动器]选项&am…...
深入解析Go语言的容器包
在Go语言中,container标准包为开发者提供了三个非常有用的数据结构:堆(heap)、链表(list)和环(ring)。这些数据结构的实现分别位于container/heap、container/list和container/ring中…...
STM32 + W5500 实现HTTPS !
两点: 1. 让我们先站在操作系统之上的网络协议栈再之上来思考…… 2. 我们先简单粗暴地理解为:http + (加密)= https 先弄一个简单的HTTP网络客户端,连接服务器并读取默认页面。该应用程序可能如下所示: #include <sys/types.h> #include <sys/socket.h> …...
使用DuckDuckGo搜索API进行高效信息检索:Python实践指南
使用DuckDuckGo搜索API进行高效信息检索:Python实践指南 引言 在当今信息爆炸的时代,快速准确地获取所需信息变得越来越重要。DuckDuckGo作为一个注重隐私的搜索引擎,提供了强大的搜索API,让开发者能够轻松地将搜索功能集成到自…...
UE4_后期处理_后期处理材质四—场景物体描边
一、效果如下图: 二、分析: 回顾复习:在后期处理材质三中,我们通过计算开启自定义深度通道物体的像素点上下左右4个像素SceneTextureCustomDepth深度之和来判断物体的外部(包含物体的边)和内部,…...
华为OD机试 - 推荐多样性(Python/JS/C/C++ 2024 E卷 100分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...
梧桐数据库(WuTongDB):CBO(Cost-Based Optimizer)基于代价的优化器技术简介
CBO(基于代价的优化器,Cost-Based Optimizer)是现代数据库系统中最广泛使用的查询优化器之一。它通过计算执行查询时可能消耗的资源(如CPU、内存、I/O)来选择最优的执行计划,以提高查询性能。 1. CBO 的工…...
深入探索Go语言中的函数:匿名函数、指针参数与函数返回
1. Go语言中的函数 函数是任何编程语言中的核心元素,它们帮助我们将大型程序分解为更小的、易于管理的部分。在Go语言中,函数是通过 func 关键字定义的。理想的函数应当是独立的,完成单一任务。如果你发现某个函数正在执行多个任务ÿ…...
Android12_13左上角状态栏数字时间显示右移动
文章目录 问题场景解决问题 一、基础资料二、代码追踪三、解决方案布局的角度解决更改paddingStart 的默认值设置marginLeft 值 硬编码的角度解决 问题场景 1)早期一般屏幕都是方形的,但是曲面屏,比如:好多车机Android产品、魔镜…...
望繁信科技携流程智能解决方案亮相CNDS 2024新能源产业数智峰会
9月13日,CNDS 2024中国新能源产业数智峰会在北京圆满落幕。本次峰会以“走向数字新能源”为主题,汇聚了来自新能源领域的顶尖领袖、专家学者及知名企业代表,共同探讨数字化技术在新能源行业中的创新应用和发展趋势。上海望繁信科技有限公司&a…...
nginx负载均衡(轮询与权重)
文章目录 1. nginx的介绍2. nginx使用场景3. nginx在windows的下载与安装4. nginx的简单使用5. nginx进行轮询测试6. nginx进行权重测试7. 总结 1. nginx的介绍 Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也是一个开源的、…...
【计算机网络】网络通信中的端口号
文章目录 一、引入端口号二、端口号的作用三、端口号的确定 在TCP/IP协议中,传输层有两个重要的协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP用于提供可靠的数据传输,而UDP则适合用于广播…...
Python 解析 JSON 数据
1、有如下 JSON 数据,存放在 data.json 文件: [{"id":1, "name": "小王", "gender": "male", "score": 96.8}, {"id":2, "name": "小婷", "gender&qu…...
利用LlamaIndex构建ARG本地知识库
文章目录 1. 环境准备2. 启用诊断日志3. 配置本地模型4. 配置本地向量模型5. LlamaIndex全局配置6. 创建 PGVectorStore7. 从数据库加载数据8. 文本分割器: SpacyTextSplitter9. 配置管道10. 创建向量存储索引11 .指定响应模式,以及启用流式响应 在现代的人工智能应…...
PCM的缺点
PCM的主要缺点包括需要较大的数据传输带宽和存储空间,导致无法实现高压缩比,相对较低的数据压缩效率。 PCM(脉冲编码调制)作为一种无损编码技术,虽然能够保留原始信号的完整性,适用于需要高保…...
【C语言】(指针系列四)回调函数+qsort函数
一、回调函数 回调函数就是通过函数指针调用的函数 如果你把函数的指针作为参数传递给另外一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数并不是一个单一的函数实现的,而是在某种情况下,编…...
全面理解tensor编程中矩阵的行和列
经常会在编程中遇到理解矩阵行和列的事情。 1、要明确无论这个张量有多少维度,它的矩阵乘法都只能作用于最后两个维度。 例如: import torcha torch.rand([64, 32, 3, 4]) b torch.rand([64, 32, 3, 4])c torch.matmul(a, b.transpose(2, 3)) # 交…...
Imagine Engine时间线管理:掌握游戏节奏的完整教程 [特殊字符]
Imagine Engine时间线管理:掌握游戏节奏的完整教程 🎮 【免费下载链接】ImagineEngine A project to create a blazingly fast Swift game engine that is a joy to use 🚀 项目地址: https://gitcode.com/gh_mirrors/im/ImagineEngine …...
别再死记硬背了!用‘配对’思想图解二次剩余,5分钟理解勒让德符号
用配对游戏破解二次剩余:勒让德符号的视觉化理解指南 数论中那些看似晦涩的概念,往往只需要换个角度就能豁然开朗。想象你手里有一副特殊的扑克牌,每张牌代表一个数字,而你要玩的游戏是找到那些能完美配对的数字——这就是理解二次…...
Mybatis-Plus条件构造器实战:QueryWrapper与UpdateWrapper的进阶应用与避坑指南
1. 为什么需要条件构造器? 在日常开发中,数据库操作是绕不开的话题。记得我刚入行时,每次写SQL都要手动拼接字符串,不仅容易出错,还经常被SQL注入漏洞困扰。后来接触到MyBatis,虽然解决了安全问题…...
VUE+webrtc-streamer实战:从零搭建跨平台监控视频实时播放系统
1. 为什么选择VUEwebrtc-streamer这套方案 第一次接触监控视频实时播放需求时,我花了整整两周时间对比各种技术方案。市面上常见的方案比如FFmpeg转码WebSocket、RTMP协议推流、HLS切片播放都试了个遍,最后发现webrtc-streamer这个神器简直是监控领域的&…...
哈佛医学院:空间组学范式转变!单细胞分子谱→多细胞功能
摘要 空间分辨单细胞技术能够实现细胞的原位分子谱分析,但能够同时发现多细胞空间模式并表征其分子程序的计算方法仍十分有限。本文提出SpatialQuery框架,可同时识别细胞基序(即反复出现的多细胞共定位模式)并开展基序靶向的分子分析。该框架通过差异表达分析挖掘受空间微…...
Termux零门槛部署Kali:从命令行到可视化桌面的完整实践
1. 为什么要在手机上部署Kali Linux? 几年前我第一次听说能在手机上运行Kali Linux时,第一反应是"这玩意儿能用吗?"。但当我真正尝试后才发现,这种便携式的渗透测试环境简直太香了!想象一下,在地…...
PTA数据结构实战:层次遍历巧解二叉树叶结点输出
1. 从问题理解到解题思路 第一次看到PTA上这道二叉树题目时,我也被题目描述唬住了。题目要求按从上到下、从左到右的顺序输出所有叶结点,这不就是典型的层次遍历(BFS)应用场景吗?但仔细分析输入格式后,我发…...
Faust高级特性:窗口聚合与状态管理完整教程
Faust高级特性:窗口聚合与状态管理完整教程 【免费下载链接】faust Python Stream Processing. A Faust fork 项目地址: https://gitcode.com/gh_mirrors/faus/faust 掌握Faust的窗口聚合与状态管理功能,构建高效的Python流处理应用!&…...
如何3步搞定LaTeX中文排版?告别字体缺失烦恼的终极方案
如何3步搞定LaTeX中文排版?告别字体缺失烦恼的终极方案 【免费下载链接】latex-chinese-fonts Simplified Chinese fonts for the LaTeX typesetting. 项目地址: https://gitcode.com/gh_mirrors/la/latex-chinese-fonts 还在为LaTeX中文排版头疼吗ÿ…...
Windows驱动管理专业解决方案:Driver Store Explorer完全指南
Windows驱动管理专业解决方案:Driver Store Explorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer Driver Store Explorer(简称Rapr)是一款…...
