[FPGA] verilog中wire和reg的区别

[复制链接]
3482|19
 楼主| 734774645 发表于 2023-12-18 22:05 | 显示全部楼层 |阅读模式
在Verilog中,wire和reg是两种不同的数据类型,用于表示信号或变量。它们在用法和行为上有一些区别:

wire:
wire用于表示组合逻辑电路中的信号线。它通常用于连接不同的逻辑门、模块或电路块之间的输出和输入。
wire不能在过程块(如always块)中被赋值,因为它不能存储状态。它只能通过连线来传递信号。
wire通常用于表示连接,而不是存储器元素。

  1. module ExampleModule(
  2.   input a,
  3.   input b,
  4.   output wire_out
  5. );

  6. assign wire_out = a & b; // Example of wire usage for a AND b

  7. endmodule
reg:
reg用于表示寄存器或存储器元素。它可以在过程块中被赋值,并且可以用于存储状态。
reg用于存储信号的值,通常在时序逻辑(例如时钟触发的always块)中使用。
reg可以存储持久的值,而wire只是一个信号传递的通道。

  1. module ExampleModule(
  2.   input clk,
  3.   input rst,
  4.   input data,
  5.   output reg_out
  6. );

  7. reg internal_reg; // Declaration of a register

  8. always @(posedge clk or posedge rst)
  9.   if (rst)
  10.     internal_reg <= 0; // Reset the register on positive edge of reset
  11.   else
  12.     internal_reg <= data; // Assign data to the register on positive edge of clock

  13. assign reg_out = internal_reg; // Output the value stored in the register

  14. endmodule
总的来说,wire用于连接不同的逻辑元素,而reg用于存储状态和时序逻辑。在实际设计中,wire和reg的选择取决于信号的用途和所在的上下文。

Annie556 发表于 2024-1-10 17:49 | 显示全部楼层
在Verilog中,wire和reg是两种不同的数据类型,用于表示信号或变量
B1lanche 发表于 2024-1-10 18:51 | 显示全部楼层
wire是一种连续赋值的数据类型,用于表示组合逻辑电路中的信号
Candic12e 发表于 2024-1-10 19:53 | 显示全部楼层
这个wire通常用于连接模块之间的信号传输,或者用于表示组合逻辑电路中的中间信号
Estelle1999 发表于 2024-1-10 20:58 | 显示全部楼层
wire类型的信号可以通过连续赋值语句或连接运算符进行赋值
Alina艾 发表于 2024-1-10 22:09 | 显示全部楼层
reg是一种存储赋值的数据类型,用于表示时序逻辑电路中的变量
Charlene沙 发表于 2024-1-10 23:14 | 显示全部楼层
其实reg通常用于存储状态或计数器等需要在时钟边沿进行更新的变量
Belle1257 发表于 2024-1-11 07:43 | 显示全部楼层
reg类型的变量可以通过时序赋值语句(如非阻塞赋值语句)进行赋值
alxd 发表于 2024-1-11 08:37 | 显示全部楼层
wire用于表示连续赋值的信号,而reg用于表示存储赋值的变量
Carina卡 发表于 2024-1-11 09:45 | 显示全部楼层
wire类型的信号可以通过连续赋值语句或连接运算符进行赋值,而reg类型的变量通常通过时序赋值语句进行赋值
21mengnan 发表于 2024-1-27 20:49 | 显示全部楼层
一直想学FGPA,但是太贵了,没买过。
班杰明 发表于 2024-1-29 12:02 来自手机 | 显示全部楼层
reg是寄存器赋值
drawingchips 发表于 2024-1-29 17:38 | 显示全部楼层
寄存器之间的赋值,需要格外小心的。
SophiaOP 发表于 2024-2-21 16:57 | 显示全部楼层
21mengnan 发表于 2024-1-27 20:49
一直想学FGPA,但是太贵了,没买过。

现在有矿板,才二三十一块了
OliviaSH 发表于 2024-2-25 21:29 | 显示全部楼层
SophiaOP 发表于 2024-2-21 16:57
现在有矿板,才二三十一块了

矿板没有原理图也是白费
CarterERO 发表于 2024-2-28 22:54 | 显示全部楼层
线连接是不是就相当于一根导线啊
forgot 发表于 2024-2-29 09:26 | 显示全部楼层
reg是一种存储赋值的数据类型,用于表示时序逻辑电路中的变量
单片小菜 发表于 2024-3-1 17:13 | 显示全部楼层
这个是存储模式的一种改变吗?
勇敢的大白菜 发表于 2024-3-4 10:36 | 显示全部楼层
这个是读写寄存器的事情。还是需要很好的把控的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

211

主题

3588

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部