SDC命令详解:使用set_port_fanout_number命令进行约束
相关阅读
SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482
目录
指定外部扇出数量
指定端口列表
简单使用
set_port_fanout_number命令用于设置端口的外部扇出数量(设置了端口的fanout_number属性),正如下面关于set_load命令的博客所说,线网的互连电容总量由与其连接的端口、引脚和线网三者的互连电容组成。线网的互连电容如果没有使用set_load命令人为设置,则由线负载模型(非拓扑模式)得到,即根据扇出数量估算连线长度并得到RC参数。
SDC命令详解:使用set_load命令进行约束https://blog.csdn.net/weixin_45791458/article/details/136276165?sharetype=blogdetail&sharerId=136276165&sharerefer=PC&sharesource=weixin_45791458&spm=1011.2480.3001.8118 而set_port_fanout_number命令可以设置端口的外部扇出数量,默认情况下,输出端口只会被当作一个扇出进行计算,输入端口被当作没有外部扇出。如果想要移除端口的外部扇出数量,使用remove_attribute命令。
本文针对Design Compiler,但该命令同样存在于PrimeTime、IC Compiler等工具中,它们大致相同,略有差别。set_port_fanout_number命令的BNF范式(有关BNF范式,可以参考以往文章)为:
set_port_fanout_numberfanout_numberport_list//注:该命令的port_list参数一定要放在fanout_number参数后
指定外部扇出数量
指定一个值作为端口所驱动的外部扇出数量(如果非整数则会向下取整)。
指定端口列表
指定一个列表/集合,包含端口对象,如果有多于一个对象,需要使用引号或大括号包围(对使用集合无效),关于列表和集合的区别,可以参考下面的博客。
SDC命令详解:使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571
简单使用
下面以图1所示的电路图为例对set_port_fanout_number命令的使用进行说明。
图1 简单的例子
使用下面的命令为设计指定线负载模型,本例中使用的线负载模型如图2所示。
dc_shell> set_wire_load_model -name tsmc090_wl50 -library fast
图2 一个简单的线负载模型
使用report_net -connections -verbose [get_nets a]命令可以报告线网a相关的信息,如图3所示。
图3 线网a信息报告
从图3中可以看出,由于线网a只有一个扇出(单元输入引脚),互联电容(wire capacitance)被计算为1*333.35*1.5e-4=0.05。
下面使用set_port_fanout_number命令在输入端口a明确指定外部扇出数量为一。
dc_shell> set_port_fanout_number 1 [get_ports a]
此时的线网a的信息报告如图4所示。
图4 线网a信息报告
从图4中可以看出,由于线网a此时被认为有两个扇出(单元输入引脚和一个外部扇出),互联电容(wire capacitance)被计算为2*333.35*1.5e-4=0.1。
需要注意的是,如果不使用-connections -verbose选项,则报告的扇出数会出现错误(还是认为线网扇出为一),如图5所示。
图5 线网a信息报告(错误)
使用report_net -connections -verbose [get_nets b]命令可以报告线网b相关的信息,如图6所示。
图6 线网b信息报告
从图6中可以看出,由于线网b此时被认为有两个扇出(单元输入引脚和输出端口,输出端口默认被当作一个扇出),互联电容(wire capacitance)被计算为2*333.35*1.5e-4=0.1。
下面使用set_port_fanout_number命令在输入端口b明确指定外部扇出数量为二。
dc_shell> set_port_fanout_number 2 [get_ports b]
此时的线网b的信息报告如图7所示。
图7 线网b信息报告
从图4中可以看出,由于线网a此时被认为有三个扇出(单元输入引脚和输出端口,输出端口此时被当作两个扇出),互联电容(wire capacitance)被计算为3*333.35*1.5e-4=0.15。