Design Compiler(以下简称DC)是Synopsys公司用于做电路综合的核心工具,可以将HDL描述的电路转换为基于工艺库的门级网表。本系列主要介绍综合相关的知识以及DC工具的使用。
Verilog编码效率的高低是综合后电路性能高低的决定性因素,两种不同风格的编码,即使它们所表达的逻辑功能一下,也会产生出大不一样的综合结果。就算综合工具运用的再好,也不能完全依赖它把一段编码很差的代码综合出一个像样的电路来。本节将通过大量的实例介绍综合时Verilog的各种语言结构(always、if、case、loop等等)到门级的映射。这些语言结构是在编写Verilog代码的时候经常用到的一些基本结构,希望通过分析他们与门级网表之间的对应关系,大家能够对什么样的语句能生成什么样的具体电路有个初步的认识。
编写用于综合的HDL代码的三个原则:
①编写代码的时候注意代码综合后大概的硬件结构,不写不可综合的语句;
②编写代码的时候注意多用同步逻辑,并将异步和同步逻辑分开处理;
③编写代码的时候注意代码的抽象层次,多用RTL级的描述。
4、loop语句的综合
在Verilog语法中,一共有四种loop语句——while-loop, for-loop, forever-loop以及repeat-loop。其中for-loop使用的最多,也是一种典型的可以被综合的loop语句。For-loop语句综合的基本原则就是将里面的所有语句进行展开,下面举一个例子: