上图是DC逻辑综合的流程图以及各个过程中会用到的命令,上一篇我们讲到了Specify libraries,这一次我们再讲一讲Read Design。
Read design是指将设计文件载入内存,并将其转化为通用的Boolean等式即GETCH格式。GTECH格式由“soft macros”如“adders,comparators”。读入设计主要有两种实现方式:analyze + elaborate,read。下面我们就依次讲讲他俩之间的区别:
(1)analyze -library ‘库名称’ -format ‘文件类型’ ‘文件名称’
-library ‘库名称’ :指定中间结果所存放的库,这个‘库名称’须用‘define_design_lib’命令事先建立。
-format ‘文件类型’:文件类型,如verilog,hdl,sverilog
-文件名称:需要分析的源文件名,多个文件可用{}
elaborate ‘设计名称’ -library ‘库名称’ -architecture ‘架构名称’ -parameter ‘参数’
‘设计名称’:需要描述的设计
-library ‘库名称’:设计的分析结果所在的库
-architecture ‘架构名称’:需要分析的构造体,针对VHDL描述同一个实体对应多个构造体的情况;对于Verilog描述,该选项可缺省或为verilog。
-parameter ‘参数’:在这里给设计中的参数重新赋值,若缺省则参数使用缺省值。
-update:要求综合器自动跟新所有过期的文件。
这个我们一般就用elaborate + current_design名字。。。。
(2)read命令,可以一次完成analyze+elaborate的工作,而且除了verilog,VHDL之外还能读取EDIF,db等所有格式。
read -format ‘文件类型’ ‘文件名’
-format ‘文件类型’:源文件的个格式
‘文件名’:需要 读入的源文件名称,多个可用{}
我们是直接用的read_verilog 命令,这个根据个人所需。
(3)两者的区别
(4)current_design,link,uniquify
current_design :设定当前设计的名字,一般为top层模块名字
link : 解析设计中调用的子模块与链接库中定义的模块建立对应关系
uniquify :为每一个实例化创建唯一的标识解决模块多次实例化的问题