原创 《ASIC Design Practical Course》第4章约束

2009-3-25 21:31 2224 6 6 分类: 消费电子

《ASIC Design Practical Course》第4章约束(2008-11-09 21:50:56)



   约束作为连接行为级代码和硬件实现的一种工具,他更好的弥补了行为级代码编写工程师,在描述行为时所忽略到的硬件实现细节。以下是几种常用的约束:


 


(1)全局时序约束


正常工作:Delay between FF1 and FF2 < clock_period - T_setup


亚稳态:clock_period - T_setup < Delay between FF1 and FF2 < clock_period + T_hold


错误:Delay between FF1 and FF2 > clock_period + T_hold


全局时钟的设置参数包括:时钟周期、时钟源(端口或者引脚)、占空因数(duty cycle)、相位偏移(offset/skew)。在数字IC前段设计一般只考虑上述参数,但在后端设计中则需要对物理布局(placement),进行时钟树综合。用来使skew,latency,transition,jitter参数满足性能目标。


 


(2)IO时序约束


    全局时钟约束不考虑端口或者引脚的时序要求,所以需要对IC设计的输入和输出单独进行约束。此时,输入时序约束为了保证将输入数据满足建立时间要求,使ASIC顺利对输入采样。


输出时许约束为了保证将输出数据满足保持时间要求,使外部顺利对ASIC输出采样。


 


(3)环境约束


    对于输出端,为了精确的计算输出电路的时间,DC需要知道输出单元所驱动的总负载电容。


    对于输入端,为了精确的计算输入电路的时间,DC需要知道到大输入端口的转换(transition)时间。


    在一些负载未知的情况下,需要进行负载预算,其原则如下:


a.保守起见,假设输入端口有驱动能力弱的单元驱动;


b.限制每一个输入端口的输入电容(负载)


c. 估算输出端口的驱动模块数目


   环境约束还需要设置环境特性,通过设置环境温度,工作电压,得到不同的延时参数。


  


(4)多时钟域约束


采用虚拟时钟约束 


(5)异步约束


多时钟域独立约束


 


Design Complier TCL指令:


设置时间目标命令:


set_input_delay


set_output_delay


create_clock


create_generated_clock


设置环境属性命令:


set_driving_cell


set_load


set_wire_load_model
set_operating_condition


set_wire_load_mode


设置设计规则命令:


set_max_capacitance


报告命令:


report_clock


report_port


report_design


清楚约束命令:


reset_path


reset_design

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条