reg和wire的区别 HDL语言

news/2024/9/17 18:33:07/ 标签: fpga开发

文章目录

    • 数据类型
    • 根本区别
    • 什么时候要定义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


http://www.ppmy.cn/news/1525245.html

相关文章

Stable Diffusion绘画 | 生成高清多细节图片的各个要素

在数字艺术领域,AI绘画技术已经逐渐成为艺术创作的新趋势。Stable Diffusion作为一款领先的AI绘画工具,以其生成高清多细节图片的能力备受关注。现在,让我们一起来探索Stable Diffusion生成高清多细节图片的各个要素,开启你的创意…

【鸿蒙】HarmonyOS NEXT星河入门到实战5-基础语法

目录 一、字符串拼接 1.1 常规字符串拼接 1.2 模板字符串hello(符号在键盘的tab上面) 二、类型转换 (数字和字符串) 2.1 字符串转数字 2.2 数字转字符串 三、交互 3.1 点击事件 3.2 状态管理 3.3 计数器案例 四、运算符 4.1 算数运算符 4.2 赋…

五、TOGAF(架构内容框架)

TOGAF架构内容框架(Architecture Content Framework) TOGAF架构内容框架是TOGAF的一个重要组成部分,它提供了标准化的方法来描述企业架构。架构内容框架帮助架构师创建、管理和使用架构工件(Artifacts),这些…

C++之打造my vector篇

目录 前言 1.参照官版,打造vector的基本框架 2.丰富框架,实现接口方法 基本的迭代器实现 数据的[]访问 容量和数据空间的改变 vector空间大小的返回与判空 数据的增删 数据打印 拷贝构造和赋值重载 3.扩展延伸,深度理解代码 迭代器…

1.单例模式

目录 简介 饿汉式 懒汉式 双重检测锁式 静态内部类式 枚举单例 测试 测试单例模式: 测试五种单例模式在多线程环境下的效率 问题(拓展) 例:反射破解单例模式 例:反序列化破解单例模式 总结:如何…

【PyCharm】常用快捷键

此篇文章内容会不定期更新,仅作为学习过程中的笔记记录 PyCharm的所有快捷键,其实均可以自定义,在位于Settings -> Keymap的目录下(如图),可以自行改写为自己熟悉的键位组合。 若更改为PyCharm已存在的键…

GESP等级考试 C++二级-if语句

if语句是C中的选择语句,通过if语句程序可以在一种可能、二种可能或者多种可能中做出选择,对于不同的可能进行不同的处理。 1 一种可能 使用if语句对一种可能进行处理的格式如下所示: if (表达式) {语句; } 其中,if后面跟一个圆…

虹科方案 | 精准零部件测试!多路汽车开关按键功能检测系统

欢迎关注虹科,为您提供最新资讯! #LIN/CAN总线 #零部件测试 #CAN数据 导读 在汽车制造业中,零部件的安全性、功能性和可靠性是确保车辆整体性能的关键。虹科针对车辆零部件的LIN/CAN总线仿真测试,提出了基于虹科Baby-LIN系列产…

基于单片机的人脸识别的智能门禁系统设计

文章目录 前言资料获取设计介绍功能介绍设计清单核心代码具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等…

【Redis入门到精通一】什么是Redis?

目录 Redis 1. Redis的背景知识 2.Redis特性 3.Redis的使用场景 4.Ubuntu上安装配置Redis Redis Redis在当今编程技术中的地位可以说非常重要,大多数互联网公司内部都在使用这个技术,熟练使用Redis已经成为开发人员的一个必备技能。本章将带领读者…

oracle select字段有子查询会每次执行子查询吗

Oracle在执行SELECT语句时,如果子查询被嵌套在主查询中,子查询会被执行多次,这是因为子查询的结果不会被缓存。每次主查询需要用到子查询的结果时,子查询都会被重新执行。这种行为可能会导致性能问题,特别是当子查询结…

计算机网络:概述 - 计算机网络概述

目录 一. 互联网概述 1.1 网络 1.2 互联网 1.3 因特网 二. 互联网发展的三个阶段 三. 互联网的标准化工作 四. 互联网的组成 五. 计算机网络的类别 5.1 计算机网络的定义 5.2 计算机网络的不同类别 一. 互联网概述 起源于美国的互联网现如今已…

golang学习笔记13——golang的错误处理深度剖析

推荐学习文档 golang应用级os框架,欢迎star基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总golang学习笔记01——基本数据类型golang学习笔记02——gin框架及基本原理golang学习笔记03——gin框架的核心数据结构golang学…

简单了解 JVM

目录 ♫什么是JVM ♫JVM的运行流程 ♫JVM运行时数据区 ♪虚拟机栈 ♪本地方法栈 ♪堆 ♪程序计数器 ♪方法区/元数据区 ♫类加载的过程 ♫双亲委派模型 ♫垃圾回收机制 ♫什么是JVM JVM 是 Java Virtual Machine 的简称,意为 Java虚拟机。 虚拟机是指通过软件模…

新手制作视频用什么软件好?五款剪辑工具分享!

在数字时代,视频制作已成为许多人表达创意、记录生活的重要方式。但对于新手而言,面对琳琅满目的视频编辑软件,往往会感到无所适从。今天,我们就来推荐五款适合新手的视频制作软件,它们分别适用于不同的操作系统平台&a…

探索 Linux:开源操作系统的璀璨世界

摘要:本文围绕 Linux 展开深入探讨。从历史来看,20 世纪 90 年代初 Linus Torvalds 发布 Linux 内核源代码开启新纪元,开源模式使内核不断成长。Linux 的核心概念包含内核、文件系统、进程和线程等,其中内核管理硬件资源与提供系统…

Win10安装.net FrameWork3.5失败解决方法

win10安装.net FrameWork3.5失败解决方法 已经好久没有来投稿了,实在最近业务缠身,忙的焦头烂额(呵~多么伟大的牛马) 但最近开发使用windows11实在是拉胯的不行,升级完就后悔,所以就一怒之下,重装了win10 可是,好家伙,我重装完遇到一个问题,就是在使用.Net Framework3.5,按照Mi…

物理学基础精解【5】

文章目录 质点的速度一、平均速度二、瞬时速度三、速度质点的速度计算一、平均速度的计算二、瞬时速度的计算三、速度矢量的标量分量性质、定义、计算、例子和例题性质定义计算例子例题 质点的瞬时速度的方向的计算、性质、例子和例题计算性质例子例题 质点的速度 本题主要考察…

可对画面进行平台传输,实时查看监控的智慧交通开源了

智慧交通视觉监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上…

C语言字符函数与字符串函数

目录 1. 字符函数 1.1 字符分类函数 1.2 字符转换函数 2. 字符串函数 2.1 strlen 函数 2.2 strcpy 函数 2.3 strcat 函数 2.4 strcmp 函数 2.5 strncpy 函数 2.6 strncat 函数 2.7 strncmp 函数 2.8 strstr 函数 结语 1. 字符函数 在C语言标准库中提供了一系列用于…