综合基础知识(一)

对于我们前端设计工程师来说必备的一个技能:综合。

所谓综合,就是将概念转换为可制造器件的转移过程(对于我们来说就是将rtl转换为相对应工艺下的门级电路)。

一般由三步组成:转化(Translation) + 逻辑优化(Logic Optimization) + 映射(Mapping)。

一般先通过read命令将RTL代码转换为通用的布尔(boolean)等式即GTECH格式;然后执行compile命令,按照约束对其进行逻辑综合和优化,使电路能满足设计的目标活约束并且使用目标工艺库中的逻辑单元映射成门级网表(可简化为read对应转化,compile对应逻辑优化和映射)。

我司用的工具:DC。

下图是DC逻辑综合过程以及用到的相对应的命令。

综合基础知识(一)_第1张图片

第一步先根据个人需求简单的设置一些环境变量,可以将其保存在隐藏文件.synopsys_dc.setup中。

下面简单的讲述一下dc过程中我们需要用到的两个变量库(library):

(1)目标库(Target Library):设置这个变量以指向厂商提供的综合库文件。再映射电路时,从目标库中选用功能正确的逻辑门单元,使用这些门单元的时序计算电路的路径延迟。 使用这条命令实现:set target_library dc_tech.db。

(2)连接库(Link Library):设置这个变量用来分辨电路中逻辑门单元和子模块的功能。通常与目标库相同。使用这条命令实现:set link_library "* dc_tech.db"。通常会加上“*”,表示先搜索内存里已有的库。

另外,通常我们也会设置一个搜索路径(Search Path)来指定库存放的位置。使用这条命令实现:set search_path ""(引号中添加库存放的位置);还有一种符号库(Symbol Library),包含工艺库中的单元图形表示的库名称。此库可以设置也可以不设置。如果设计中有用到designware里的库文件也需要加上:set synthetic_library "dw_foundation.sldb"。

读入库文件之后,可以通过report_lib查看库的信息。

第一次就先写到这了。。。整理一下思路,后续再来。整理一下自己之前所学的东西,跟大家一起分享一下,也是自己对知识回顾加深印象,如有不对的地方请指出,谢谢哈

你可能感兴趣的:(DC)