结构Verilog和行为Verilog有什么区别?

use*_*586 8 verilog

在标题中,结构和行为Verilog之间的主要区别是什么?

too*_*lic 11

根据IEEE标准,这些术语没有严格的定义.然而,通常,结构是指使用模块实例描述设计(特别是对于诸如AND门和触发器的较低级构建块),而行为是指使用always块描述设计.

门网表总是结构化的,RTL代码通常是行为的.RTL通常具有时钟门和同步器单元的实例.


Cur*_*ous 6

结构性

在这里,功能是使用基本组件定义的,例如反相器,MUX,加法器,解码器,基本数字逻辑门等。就像连接和布置可用于实现功能的电路的不同部分一样。

行为

Verilog中的行为描述用于以算法方式描述设计的功能。Verilog中的行为建模使用类似于C语言构造的构造。此外,它分为2个子类别。

  • (a)连续

数据到输出的分配是连续的。这将使用显式的“ assign”语句或通过在电线声明期间为电线分配值来实现。如果分配,输入中的任何更改将立即影响输出。因此,输出将声明为 wire

  • (b)程序

此处,数据分配不是连续进行的,而是发生在敏感度列表中指定的特定事件上。使用诸如“总是”或“初始”之类的程序块来实现这种类型的建模方案。

在此,必须将输出变量定义为:reg因为它们需要保持先前的值,直到在指定的灵敏度列表中进行任何更改后发生新的赋值为止。

希望这可以帮助 :)