ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

SDC命令详解:使用set_port_fanout_number命令进行约束

SDC命令详解:使用set_port_fanout_number命令进行约束 相关阅读SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482目录指定外部扇出数量指定端口列表/集合Multicorner-Multimode支持简单使用写在最后set_port_fanout_number命令用于设置端口的外部扇出数量设置了端口的fanout_number属性正如下面关于set_load命令的博客所说线网的互连电容总量由与其连接的端口、引脚和线网三者的互连电容组成。线网的互连电容如果没有使用set_load命令人为设置则由线负载模型非拓扑模式得到即根据扇出数量估算连线长度并得到RC参数。SDC命令详解使用set_load命令进行约束https://blog.csdn.net/weixin_45791458/article/details/136276165?sharetypeblogdetailsharerId136276165sharereferPCsharesourceweixin_45791458spm1011.2480.3001.8118而set_port_fanout_number命令可以设置端口的外部扇出数量默认情况下输出端口只会被当作一个扇出进行计算输入端口被当作没有外部扇出。如果想要移除端口的外部扇出数量使用remove_attribute命令。本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。set_port_fanout_number命令的BNF范式有关BNF范式可以参考以往文章为set_port_fanout_number fanout_number port_list //注该命令的port_list参数一定要放在fanout_number参数后指定外部扇出数量指定一个值作为端口所驱动的外部扇出数量如果非整数则会向下取整。指定端口列表/集合指定一个端口列表/集合对于列表而言如果有多于一个对象需要使用引号或大括号包围对使用集合无效关于列表和集合的区别可以参考下面的博客。SDC命令详解使用集合(Collection)而不是字符串(String)/列表(List)作为命令参数https://chenzhang.blog.csdn.net/article/details/147144571Multicorner-Multimode支持该命令对所有活跃场景生效关于场景的更多介绍可以参考下面的博客。Design Compiler多工艺角和多工作模式(Multicorner-Multimode, MCMM)https://blog.csdn.net/weixin_45791458/article/details/149578771?ops_request_misc%257B%2522request%255Fid%2522%253A%2522e3267dcc7cc26380435f53994dc8b9b8%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_ide3267dcc7cc26380435f53994dc8b9b8biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-149578771-null-null.nonecaseutm_termMCMMspm1018.2226.3001.4450简单使用下面以图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-40.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-40.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-40.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-40.15。写在最后该约束只对当前设计生效因为只有当前设计有端口的概念且propagate_constraints命令对该约束无效即无法将子设计的外部扇出数量约束传播到顶层设计。
返回列表