行为级和RTL级的区别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

RTL级,register transfer level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式;而Behavior级指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式。

鉴于这个区别,RTL级描述的目标就是可综合,而行为级描述的目标就是实现特定的功能而没有可综合的限制。

行为级是RTL的上一层,行为级是最符合人类逻辑思维方式的描述角度,一般基于算法,用
C/C++来描述。

从行为级到RTL级的转换,一般都是由IC设计人员手工翻译。

这个过程繁琐,工作量很大,特别是随着数字系统的复杂性提升,这样的纯手工"翻译"过程容易出错,且使得开发周期变长。

一批高级综合工具应运而生。

如Menter Graphics的高层次综合工具Catapult C Synthesis。

能够将数字系统的行为级描述映射为RTL设计,并满足给定的目标限制。

从层次由上到下,数字系统的设计过程为:
Idea->行为级描述->rtl描述->门级网标->物理版图
行为级的描述更多的是采取直接赋值的形式,只能看出结果,看不出数据流的实际处理过程。

其中又大量采用算术运算,延迟等一些无法综合的语句。

常常只用于验证仿真。

RTL级的描述就会更详细一些,并且从寄存器的角度,把数据的处理过程表达出来。

可以容易地被综合工具综合成电路的形式。

行为级描述可是说是RTL的上层描述,比RTL更抽象。

行为描述不关心电路的具体结构,只关注算法。

有行为综合工具,可以直接将行为级的描述综合为RTL级的,比如Behavioral Compiler。

在硬件设计中有一句著名的话:thinking of hardware。

RTL在很大程度上是对流水线原理图的描述。

哪里是组合逻辑,哪里是寄存器,设计者应该了然于胸。

组合逻辑到底如何实现,取决于综合器和限制条件。

rtl级可以理解为,可以直接给综合工具生成你要的网表的代码,而行为级则不行。

比如real可以用于行为级,而不能用于rtl级!
行为级is for testbench for modelling.
RTL is for synthesis
语法块如果可以被综合到gate level,就是RTL的。

否则就是behavior level的。

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

行为级不考虑电路的实现,不考虑综合
RTL级描述数据在寄存器层次的流动模型。

always 属于行为级模型,是最基本的行为模型,
是可以综合的。

综合与RTL或者行为级没有必然联系,虽然大多数行为模型不能综合。

相关文档
最新文档