在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3262|回复: 1

[原创] 关于set_max_capacitance set_max_fanout set_max_transition的讨论

[复制链接]
发表于 2018-4-18 10:50:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 mz916 于 2018-4-18 11:01 编辑

1.讨论set_max_capacitance指令   &&&  什么情况下report_constarnt报出max_capacitance violation:

1.1
对于输出port, max_capacitance的violation, 不由report_port [get_ports "output_port"] -verbose显示的 #### Pin Cap > Max Cap #####  决定,而是由 #### 输出 port 由哪个cell驱动  (即它的Driver Cell Pins) 这个Driver cell Pins 对应的lib文件里显示的 max_capacitance 值 <  对输出port执行set_load指令设置的值     #### 决定。
1.2
set_max_capcacitance指令用于输出port时,无效
1.3
输出port的Driver Cell Pins 由DC自动综合结果决定)
1.4
对于输入port, max_capacitance的violation, 不由report_port [get_ports  "input_port"] -verbose显示的 #### Pin Cap > Max Cap ####   决定, 而是由 #### 输入 port 由哪个cell驱动   (即它的Driver Cell Pins) 这个Driver Cell Pins  对应的lib文件里显示的 max_capacitance 值 <  对输入port所在的net 执行report_nets 里的toltal capacitance的值 ####决定。
1.5
(set_max_capacitance指令用于输入port时,有效)
1.6
输入port的Driver Cell Pins 由set_driving_cellr指令决定)

--------------------------------------------------------------------------------------------------------------------------------
=======================================================================
2.讨论set_max_fanout指令         &&& 什么情况下report_constranint报出max_fanout violation:
2.1
对于输出port,执行set_max_fanout value [get_ports output_port]   不可以直接指定输出port最大可驱动几个cell  ,  会报ERROR:"max_fnout" cannot be used on output port ;
2.2
对于输出port,可以执行set_fanout_load  value [get_ports "output_pout"] , 可以直接指出输出port后实际驱动个几个cell单元。
2.3
对于输出port,可以通过set_max_fanout value [current_design] 指定的值  < set_fanout_load value [get_ports “output_port"]的值时,report_constraint 报出max_fanout_violation;
2.4
(可以指定输出port实际驱动几个cell(fanout_load的值)(但不能直接指定输出port最大可驱动几个cell) (通过指定current_design最大可驱动几个cell,间接约束输出port的最大可驱动几个cell)

2.5
对于输入port,执行set_max_fanout value [get_ports  input_port]    可以直接指定输入port最大可驱动几个cell
2.6
对于输入port,可以执行set_fanout_load  value [get_ports "input_pout"] , 不可以直接指定输入port后实际驱动几个cell单元 (应由DC决定);会ERROR"set_fanout_load”cannot be used on input port ;
2.7
对于输出port,可以通过set_max_fanout value [current_design] 指定的值  <  report_nets [get_ports "input_port"] 显示的实际Fanout值时,report_constraint 报出max_fanout_violation;
2.8
对于输入port, 可以通过set_max_fanout value [get_ports input_port]指定的值 < report_nets [get_ports "input_port"] 显示的实际Fanout值时,report_constraint 报出max_fanout_violation;
2.9
(不可指定输入port实际驱动几个cell,它应由DC算法决定)(可通过report_net查看输入port实际驱动几个cell)(可直接指定输入port最大可驱动几个cell)

--------------------------------------------------------------------------------------------------------------------------------
=======================================================================


3.讨论set_max_transition指令         &&& 什么情况下report_constranint报出max_transition violation:   
3.1
默认库文件里,有一个default_max_transition的值,约束每个cell的pin上的transition.
3.2
可以通过set_max_transition指定用户定义的max_transition. DC使用 库文件default / User定义 两者中最苛刻的作为最终max_transition约束值。
3.3
通过set_driving_cell指定不同的cell驱动input_port,其input port的输入transition,根据不同的driving cell,传递不同的transition值给input port。
3.4
也可以手动通过set_input_transition  [get_ports "input_port"] ,指定用户define的特定transition值给input port 的。
3.5
用户只是给出输入port上的actual transition的值, transition值会从input port上开始,传递进去至也设计内部每个cell的pin上。
3.6
使用report_delay_calculation命令,可以显示出某一节点处tarnsition转换时间的具体求解过程。
3.7
设计里,任一节点处,任一cell的pin上的输入tansition值 (可通过report_delay_calculation查看) >  [default_max_transition / set_max_transition 两者中的较小值] 时, report_constraint报出max_transiton的违例。
发表于 2019-1-29 20:12:42 | 显示全部楼层
厉害学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 02:04 , Processed in 0.014387 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表