首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >结构Verilog和行为Verilog之间的区别是什么?

结构Verilog和行为Verilog之间的区别是什么?
EN

Stack Overflow用户
提问于 2013-03-28 19:59:40
回答 6查看 54.4K关注 0票数 9

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

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-03-28 21:04:22

根据IEEE标准,这些术语没有严格的定义。但是,通常情况下,structural指的是使用模块实例描述设计(特别是对于较低级别的构建块,如AND门和触发器),而behavioral指的是使用always块描述设计。

Gate网表通常是structural,而RTL代码通常是behavioral。RTL通常具有时钟门和同步器单元的实例。

票数 12
EN

Stack Overflow用户

发布于 2015-11-06 13:59:15

Structural

这里的功能是使用诸如反相器、多路复用器、加法器、解码器、基本数字逻辑门等基本组件来定义的。这就像连接和排列可用于实现功能的电路的不同部分一样。

行为

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

  • (a) Continuous

数据到输出的

分配是连续的。这将使用显式的"assign“语句来实现,或者通过在声明过程中为连接赋值来实现。在赋值的情况下,输入的任何变化都会立即影响输出。因此,输出将声明为wire

Procedural

  • (b)

这里的数据分配不是连续执行的,而是在敏感度列表中指定的特定事件上执行。这种类型的建模方案是使用诸如“always”或"initial“之类的过程块来实现的。

这里,输出变量必须定义为reg,因为它们需要保持以前的值,直到在指定的敏感度列表中发生任何更改后发生新的赋值。

希望这能有所帮助:)

票数 9
EN

Stack Overflow用户

发布于 2016-07-26 18:47:56

结构化Verilog通常被称为Verilog代码,它是可综合的(具有准确和有意义的硬件实现),并且通常以寄存器传输级(RTL)编写。另一方面,行为Verilog通常是更高级别上的硬件或功能的行为描述。行为代码不必是可综合的例如,当您在按时间尺度缩放的verilog代码中定义延迟时,合成器在将您的代码转换为逻辑和硬件时不会考虑它,而是具有模拟目的。结构和行为VHDL也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15681218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档