逻辑综合:
综合就是将设计的原始逻辑转换为可大规模实现并能够完成预期功能的器件的这一过程。
简述:将RTL代码转换为门级网表的过程
综合的优点
(1)能够提高代码可重复性(可以通过使用参数化代码、构建好的逻辑块、重新定位新的库等手段达到目的)
(2)能够提升工作效率,(不需要人为的对器件进行连线)
(3)可验证性
(4)可以更加抽象
逻辑综合是由约束来驱动的
(1)环境约束:PVT、线负载模型、模式
(2)规则约束:面积、扇出、驱动、负载
(3)时序约束:
ASIC设计流程
综合是基于路径的
时序路径共有四种:
(1)输入到寄存器
(2)寄存器到寄存器
(3)寄存器到输出
(4)输出到输入
综合的过程
综合的过程 = 转换 + 优化 + 映射
一般,设计的HDL源代码经过转换得到GTECH中间代码文件,然后经过优化和映射两个过程将GTECH文件转换为工艺库中对应的具体单元。
关于变量的介绍
target_library变量:DC中保留的变量,该变量指定的库是用来构建一个电路的。
DC进行映射的几个步骤:设置它让它指向你的生产商提供的库文件。使用厂家提供的工艺库中的时序数据计算这些问的时序。从target_library指定的库中选择功能正确的门。
link_library 变量:用来解析设计参照的
set link_library “* slow.db” *号代表 DC 内存,后面接着的是指定的目标库(如果这个变量没有加入目标库的名字则可能会存在单元不能解析的问题)。link_library 中指定的工艺库的名字只与用做参照的单元库有关,在 link_library 指定的工艺库不是为了给 DC 做优化判断的。它主要用在综合的转换阶段用以生成 GTECH 中间文件。
target_library 和 link_library 的不同: target_library 指定的工艺库与设计者让 DC 做优化并与产生最终映射的单元库一致,而 link_library 指定的库是在 DC 转换阶段用以生成 GTECH 中间文件的。
search_path 变量:可以给 DC 指定寻找文件时的的工作路径
解析时 DC 首先,寻找内存,然后寻找 link_library 变量指定的库文件。接着,DC 寻找所有的search_ path 变量中指定的路径。
symbol_library 变量:这个系统变量指定的库包括了工艺库中单元的图形 slow.sdb
写约束脚本的步骤
(1)读入设计
(2)对设计进行约束
(3)对设计进行综合
(4)产生报告检查设计
(5)保存设计
Synopsys工艺库与延时计算方法
设计者对工艺库格式和延迟计算方法的理解是成功综合的关键
清楚DC如何计算路径的延迟,通常需要查看库中的各种线负载模型和单元的描述
Sysnopsys工艺库是一个文本文件(通常具有扩展名.lib),他可以由库编译器(LC)编译生成一个二进制文件(具有拓展名.db),一般工艺库包含以下信息:
(1)库型
(2)库级属性
(3)环境描述
(4)单元描述
1、库型
2、库级属性
3、环境描述
3.1、线负载模型
**线负载模型包含的信息是版图设计前DC估算内连线延迟时使用的。**通常,几种模型分别适用于不同的设计规模。这些模型定义了电容、电阻、和面积因数。另外,线负载模型中还包含了信号倾斜以及各种统计后的与扇出对应的线长值。
4、单元描述
在库中的每一个单元都有一个属性描述的表,表中包含与各个单元相关的功
能、时序、和其他的信息。