首先明白DC综合的几个步骤:
电路的逻辑综合由三步组成
综合=转化+优化+逻辑映射
转化:将电路转化成gtech的功能网表
优化:根据时序和面积,功耗约束对电路进行优化
逻辑映射:将工艺库的逻辑单元映射成门级网表
小知识:
同步电路:从同一时钟源出来的时钟 clk_1 和clk_2驱动逻辑电路,是同步电路
异步电路:从不同时钟源来的clk_1和clk_2驱动逻辑电路,属于异步电路,即使clk_1和clk_2都是500MHZ
关于时钟方面
1.定义时钟, 时钟周期,名字,对应的引脚,命令如下:
create_clock -period 5 -name sys_clk [get_ports sys_clk]
2.芯片内部产生的时钟,如分频或者是倍频产生的,命令如下:
create_generate_clock
3.定义了时钟之后,要禁止在时钟网络上插入buffer,命令如下:
set_dont_touch_network [get_clokcs sys_clk]
4.一般在DC综合阶段不插入时钟树,而是将时钟网络当做理想型的,设置时钟驱动端口的能力是无限大,命令如下:
set_drive 0 [get_clocks sys_clk]
对于reset 信号和跨时钟域的信号,一般将其设置为伪路径,DC不对其进行时序约束和检查
set_false_path -from [get_ports reset]
set_false_parh -from [get_clocks master_clock] - to [get_clocks slave_clock]
set_false_parh -from [get_clocks slave_clock] - to [get_clocks master_clock]