预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共51页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数字后端简要流程综合的定义综合环境初始化环境属性set_operating_conditions用于描述cells操作条件:process、voltage和temperature。例如:set_operating_conditions-maxslow set_wire_load_model用于设置Nets的寄生RC模型,一般选用悲观的模型。例如:set_wire_load_model-namesmic18_slow set_load用于定义nets或ports的电容负载,为了保证输出路径的时序,default条件下为0。例如:set_load0.6all_outputs()set_drive用于定义模块的inputports,0表示最大的驱动强度,通常用于clockports和reset,例如:set_drive0{clk,rst}。 set_driving_cell用于定义inputports,模拟cell的驱动阻抗,为了保证输入路径的时序和输入信号的transitiontime。例如: set_driving_cell-lib_cellBUFX2-pinY-libraryslowall_inputs() set_min_library允许用户同时设置worst-case和best-caselibraries,从而在初步编译时,DC修正hold-time冲突时,验证setup-time冲突。也可用于在编译时修正hold-time冲突。例如: set_min_libraryslow.db-min_versionfast.db DRC的设计规则约束:set_max_transition、set_max_capacitance和set_max_fanout。这些约束用于的inputports,outputports或current_design,一般在技术库内部设置。当技术库的内部设置不能满足时,可用以上命令设置。例如: set_max_transition0.3current_design set_max_capacitance1.5current_design set_max_fanout3.0all_outputs() 面积和时序约束set_max_area用于约束current_design的最大面积。0表示在满足时序、功耗的前提下,尽可能的减小面积。例如:set_max_area0 时序约束包括3个部分:allinputs、registertoregister和alloutputs。 输入路径的约束: set_input_delay:定义信号相对于时钟的到达时间。指一个信号,在时钟沿之后多少时间到达。例如: set_input_delay-max20-clockCLK{get_portsA} set_input_delay-min0.8-clockCLK {get_portsA} 输出时序约束: set_output_delay:定义从输出端口数据不可用开始到后一个时钟有效沿的时间。例如: set_output_delay-max20-clockCLK{get_portsB} set_output_delay-min-0.5-clockCLK{get_portsB} 时钟描述:时钟的描述在设计中非常关键,一般通过clockperiod和clocksource(port/pin)、dutycycle、offset/skew和clockname进行描述。 DC时钟约束命令: create_clock:用于定义时钟的周期和波形(占空比及起始沿) 例如:create_clock-period40-waveform{020} 对于仅包含组合逻辑的模块,为了定义该模块的延时约束,需要创造一个虚拟时钟定义。例如: create_clock-nameV_clk-period20set_clock_transition:在pre_layout必须设置一个固定的transition值(由技术库提供),因为时钟网有很大的fanout.这样可使DC根据该时钟计算实际的延时值。 set_clock_skew:设置时钟的skew及delay,pre_layout和post_layout命令选项不一样。-propagated选项让DC计算时钟的skew。例如: set_clock_skew-delay2.5-minus_uncertainty2.0\ -plus_uncertainty0.2CLK -minus_uncertainty用于setup-time的计算,-plus_uncertainty用于hold-time的计算。 一个cell的delay是根据inputsign