1、逻辑综合(Logic Synthesis)
将寄存器传输级(RTL,Register Transfer Level)的
hdl代码转换为与工艺相关的门级网表(Gate Level Netlist)的过程
DC中的八种设计实体
设计(Design):一种能完成一定逻辑功能的电路。设计中可以包含下一层子设计
单元(Cell):设计中包含的子设计的实例
参考(Reference):单元的参考对象,即单元是参考的实例
端口(Port):设计的基本输入输出口
管脚(Pin):单元的输入输出口
线网(Net):端口间及管脚间的互连信号
时钟(Clock):作为时钟信号源的管脚或端口
库(Library):综合时用到的一组单元的集合。
对于DC而言,通常要指定下面4种库
Target Library:对应工艺库,即代工厂提供的某种工艺的工艺库
Link Library:主要是用来指定DC查找时所指定的目标,通常也就是Target Library
Synthetic Library:DC综合时用来将HDL代码转化为相对应的元件时所参考的Ip库,
例如,符号“+”,通过查找IP库将生成某一类加法器。默认情况下,DC使用它自带的IP库,当然
,如果必要,用户也可以指定别的IP库
Symbol Library:在使用DC的图形化界面,即DV时,给出原理图上各种标准单元,如与非门的符号
指定参考库的命令格式:
--指定目标库
set target_library my_tech.db
--“*”号表示先查找内存
set link_library {* my_tech.db}
--指定查找路径
set
search_path
{./
mips/lib}
--添加查找路径
lappend search_path {./mips/source}
环境约束主要添加工作条件、外部负载及驱动、内部的连线模型等。
此处说明,关于连线模型,因为在综合阶段,具体的连线还没有出来(要到做完
版图设计才出来)
所以在综合阶段是采用某种估算模型,具体的模型可以在工艺库里查到
设计约束
跟设计规则(design rules)相关的约束
transition times(set_max_transition)
fanoutloads(set_max_fanout)
capacitances(set_max_capacitance)
基本的设计规则会在工艺库里明确的设定好,
因为关系到芯片能否生产成功的问题
跟优化相关的约束
逻辑综合前应进行的步骤
综合前:
对代码进行语法检查(LEDA)
功能仿真和验证(Modelsim,Vera,VCS,Scirocco,NC-
verilog)
综合后:
形式验证(Formality)
静态时序分析STA(Prime Time)
仿真与验证(Modelsim,VCS)