get_ports函数用于在SDC文件中选择设计的输入或输出端口。端口是设计与外部环境的接口,通过端口,设计可以接收外部信号或向外部发送信号。在SDC约束中,使用get_ports可以对设计的输入和输出延迟进行约束,确保设计与外部环境的正确交互。 示例: tcl set_input_delay 3 -clock CLK [get_ports in_port] 这条命令设置...
set_input_delay -clock clk -max 2 [get_ports A] set_output_delay -clock clk -min 1 [get_ports B] 这两条命令分别设置了输入端口A的最大建立时间为2ns,输出端口B的最小保持时间为1ns。 3. **定义功耗约束**: set_power_domain -name VDD - supplies [get_ports VDD] set_power_domain -nam...
set_output_delay _max -clock CLK [get_ports O1] 3.0 在寄存器路径中,由于I1和O1的参与,所以无论如何必须指定set_input delay和set_output_delay。有了这两个规格,无论如何都要将组合电路路径约束在8ns。因此不需要明确指定set_max_delay。 因此,指定的组合电路路径的限制为8ns(通过set_max_delay指定)。
create_generated_clock -name PULSE -source [get_ports clk] -edges {1 1 3} -edge_shift {0 2 0} [get_pins FF1/Q] #在第一个源时钟沿产生上升沿 #在第一个源时钟沿到达2ns后产生下降沿 #在第三个源时钟沿产生上升沿 2.4 多个同源时钟 参见静态时序分析简明教程(四)时钟常约束中3.5的内容,同样...
时钟约束 1. 基本约束 create_clocks -name clk_name -period 10 [get_ports clk_in] 这是最基本的时钟约束语句,为时钟管脚创建一个时钟,综合工具会根据创建的时钟进行布局布线,并给出时序分析报告,若发生时序违例,则需要对设计进行优化修改。 2.
-source [get_ports SYSCLK] \\ -divide_by 2 \\ [get_pins FF1/Q] 考虑了edge/edge_shift的3分频实例 下面是3分频的实例,-edge选项中{3 5 9}分别表示SYSCLK的第3、5、9个时钟沿(clock edge),也分别对应DIV3B的一个完整时钟周期(上升、下降、上升)的时钟沿时间点。而-edge_shift选项{2.2 2.2 2.2...
-source [get_ports SYSCLK] \ -divide_by 2 \ [get_pins FF1/Q] 考虑了edge/edge_shift的3分频实例 下面是3分频的实例,-edge选项中{3 5 9}分别表示SYSCLK的第3、5、9个时钟沿(clock edge),也分别对应DIV3B的一个完整时钟周期(上升、下降、上升)的时钟沿时间点。
{get_ports {XXX}} : 表示设计文件里的时钟名 一般常用格式举例 : create_clock -period 20 {get_ports clk} 多个时钟时:对每个时钟进行约束 2、PLL时钟 假设锁相环的输入为50MHz,命名为sys_clk create_clock -period 20- name clk0 {get_ports {sys_clk}} ...
get_ports [-regexp] [-nocase] patterns 命令会返回一个与指定模型匹配的设计(输入和输出)端口名称的集合: foreach_in_collection port_name [get_ports clk*] 可以在不“获取”对象的情况下引用诸如端口(port)之类的对象吗?当设计中只有一个具有该名称的对象时,实际上没有任何区别。但是,当多个对象具有相同...
我设置了get_ports input到In0的max delay。然后又设置了get_pins logic1/o到In1的max delay,那么就存在一个问题,即logic1/o处在input到In0之间,这个在STA中是不允许的。 STA的工作原理应该是计算从-from到-to的路径上的path timing。并且EDA工具会自动将-from开始的位置作为timing path的起点,将-to的作为...