打印

Verilog RTL级与行为级区别小结

[复制链接]
1915|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ywert000|  楼主 | 2012-10-31 17:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目的区别:        

      行为级描述目的是加快仿真速度,做法是尽量减少一个always块中要执行的语句数量,其结果不是为了综合,只关注算法。有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。

形式区别:

      RTL级描述是为了综合工具能够正确的识别而编写的代码,verilog中有一个可综合的子集,不同的综合工具支持的也有所不同,    RTL级的描述就会更详细一些,并且从寄存器的角度,把数据的处理过程表达出来。可以容易地被综合工具综合成电路的形式。可以采用任何verilog语法的描述方式。鉴于这个区别,RTL级描述的目标就是可综合,


      行为级的描述更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程。其中又大量采用算术运算,延迟等一些无法综合的语句。常常只用于验证仿真。

相关帖子

沙发
ywert000|  楼主 | 2012-10-31 17:36 | 只看该作者
电路区别:

      RTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;RTL在很大程度上是对流水线原理图的描述。哪里是组合逻辑,哪里是寄存器,设计者应该了然于胸。组合逻辑到底如何实现,取决于综合器和限制条件。 RTL是晶体管传输级,描述硬件的相互联接关系,一般都可以综合;

      而Behavior级指的是仅仅描述电路的功能而在硬件设计中有一句著名的话:thinking of hardware。简单说,rtl就是用寄存器和组合逻辑组成,不能再用其他construct;behavior就是指定输入和输出之间的关系。

混乱点:   有时感觉RTL级是行为级与数据流级的混合应用。

乐点:      同样是for语句,如果循环条件是常数,就是RTL的,如果是变量,就是behavior的。

使用特权

评论回复
板凳
strouledfox| | 2012-10-31 17:48 | 只看该作者
疑问:行为级综合现在怎么样了啊?能很好的综合出来吗?高手给透露透露……

使用特权

评论回复
地板
qwempty| | 2012-10-31 18:24 | 只看该作者
已阅。。。。

使用特权

评论回复
5
lxAPP| | 2012-10-31 21:04 | 只看该作者
已阅。。。。
qwempty 发表于 2012-10-31 18:24
:L

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

155

帖子

0

粉丝