建设实验中心网站,网站开发技术简介,免费做期中考试的网站,软件开发工程师的就业前景相关阅读
静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 set_ideal_network命令可以将当前设计中的一组端口或引脚标记为理想网络源#xff08;设置端口或引脚对象的ideal_network_source属性为true#xff09;#…相关阅读
静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 set_ideal_network命令可以将当前设计中的一组端口或引脚标记为理想网络源设置端口或引脚对象的ideal_network_source属性为true且在一定情况下理想属性会沿着组合逻辑进行传播。不要使用set_ideal_net设置理想线网它已经被set_ideal_network命令替代。如果想要移除理想网络使用remove_ideal_network命令。 本文针对Design Compiler但该命令同样存在于PrimeTime、IC Compiler等工具中它们大致相同略有差别。set_ideal_network命令的BNF范式有关BNF范式可以参考以往文章为
set_ideal_networkobject_list[-dont_care_placement][-no_propagate]//注该命令的选项和参数顺序任意
指定理想网络源 指定一个对象列表包含端口对象、线网对象或叶单元的引脚对象不可以是层次单元的引脚如果有多于一个对象需要使用引号或大括号包围。 如果列表中包含线网对象所有驱动该线网的端口/引脚将被标记为理想网络源且必须使用-no_propagate选项。 指定不考虑布局 -dont_care_placement选项指定理想网络中的单元在布局过程中不会被考虑而随机分配位置理想网络中的线网视为未连接。默认情况下理想网络在布局时优先级最低。 指定不传播 -no_propagate选项指定理想属性不会跨组合逻辑传播但仍然可以跨层次结构传播。默认情况下理想属性会跨组合逻辑传播直到时序逻辑为止。 理想属性传播规则 从理想网络源开始理想属性的传播规则如下
组合逻辑单元被标记为理想 1、当它的所有输入引脚要么是理想的要么连接到常量线网注意case analysis属性不会被视为常量。
引脚被标记为理想 1、如果它是set_ideal_network命令指定的引脚。 2、如果它是驱动引脚且它所属的单元是理想的。 3、如果它是负载引脚且驱动它的线网是理想的。
线网被标记为理想 1、所有驱动它的引脚都是理想的。 理想网络的影响 1、所有理想网络中的单元和线网都会被设置dont_touch属性防止它们在优化过程中被修改。 2、理想网络源所属的单元如有会被设置size_only属性这样可以确保理想网络源不会在综合过程中被优化掉注意该设置优先级高于set_size_only命令的设置。 3、理想网络中的线网不会受到DRC约束即max_capacitance、max_fanout和max_transition等约束。 4、理想网络中的线网和单元的延迟和转换时间默认为0可以通过set_ideal_latency命令和set_ideal_transition命令人为指定。 简单使用 下面以图1为例说明set_ideal_network命令的使用。 图1 简单的例子 首先使用create_clock命令以clk端口为源对象创建一个周期为10的时钟。
create_clock -period 10 [get_port clk] 接着使用set_input_delay命令在输入端口a、b、c上添加输入延迟参考时钟为clk此时经过端口a的时序报告如图2所示注意该时序报告使用了-input_pins选项来显示输入引脚。
set_input_delay 0.5 {a b c} -clock [get_clock clk] 图2 建立时间时序报告 然后使用set_ideal_network命令设置端口a为理想网络源可以使用report_ideal_network命令报告所有的理想网络源如图3所示使用get_attribute ideal_network_source命令也可以确认一个对象是否是理想网络源。
set_ideal_network [get_port a] 图3 理想网络源报告 根据理想属性的传播规则线网a变成了理想线网可以使用report_ideal_network -net命令进行确认如图4所示使用report_net或get_attribute ideal_net命令也可以确认一个对象是否是理想线网。 图4 理想线网报告 此时经过端口a的时序报告如图5所示其中唯一的不同是线网a的延迟变成了0。 图5 建立时间时序报告 需要注意的是此时只有端口a、线网a和引脚u1/A被标记为理想但理想属性不会穿过单元u1因为其另一个输入引脚不是理想的。 下面接着使用set_ideal_network命令设置端口b为理想网络源如图6所示。
set_ideal_network [get_port b] 图6 理想网络源报告 此时经过端口a的时序报告如图7所示其中两个线网和一个单元的延迟为0。 图7 建立时间时序报告 此时被标记为理想的有端口a、端口b、线网a、线网b、单元u1、单元u1的两个输入引脚、线网and_out、单元u2的输入引脚A为了简略这里不进行验证。 最后set_ideal_network命令将单元u2的输出引脚Y设置为理想网络源如图8所示。
set_ideal_network [get_pin u2/Y] 图8 理想网络源报告 根据理想属性的传播规则u2此时不是理想单元所以不管是引脚A还是引脚B到引脚Y的延迟都不是0此时经过端口a的时序报告如图9所示。 图9 建立时间时序报告 但是由于此时单元u2的输出引脚Y传播线网logic_out变成了理想线网而理想线网的电容为0这也会间接影响u2的单元延迟图10所示为report_delay_calculation命令的结果。 图10 单元延迟计算