get_ports函数用于在SDC文件中选择设计的输入或输出端口。端口是设计与外部环境的接口,通过端口,设计可以接收外部信号或向外部发送信号。在SDC约束中,使用get_ports可以对设计的输入和输出延迟进行约束,确保设计与外部环境的正确交互。 示例: tcl set_input_delay 3 -clock CLK [get_ports
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 GCLK1 -source [get_ports CLK] -edges {1 3 5} [get_pins FF1/Q] #第一个出现的-source [get_ports CLK],是为了标识:生成的时钟来源于哪一个老时钟 #第二个出现的 [get_pins FF1/Q],是为了将生成时钟映射到具体的电路端口/引脚上 2.3.2 -divide_by 通过-divide_by...
2. **设置时序约束**: 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...
get_ports [-regexp] [-nocase] patterns 命令会返回一个与指定模型匹配的设计(输入和输出)端口名称的集合: foreach_in_collection port_name [get_ports clk*] 可以在不“获取”对象的情况下引用诸如端口(port)之类的对象吗?当设计中只有一个具有该名称的对象时,实际上没有任何区别。但是,当多个对象具有相同...
我们创建一个虚拟时钟CLKB作为输入IO的参考时钟。创建CLKA作为FPGA内部使用的时钟,CLKA有对应的物理端口: create_clock -name CLKA -period 10 [get_ports clka_port] create_clock -name CLKB -period 10 set_input_delay -max 5 -clock CLKB [get_ports data_in] ...
foreach_in_collection port_name [get_ports clk*] 可以在不“获取”对象的情况下引用诸如端口(port)之类的对象吗?当设计中只有一个具有该名称的对象时,实际上没有任何区别。但是,当多个对象具有相同的名称时,使用get_ * 命令将变得更加重要,它可以避免在引用哪种类型对象方面所带来的任何可能的混淆。假设有一...
create_clock -period 10 -name CLK -waveform {3 5 8 9} {get_ports C3} 1 除此之外,如果对一个设计要添加一个以上的时钟,做时钟切换的约束,则需要在第二个create_clock后加-add。 虚拟时钟:是指物理上在特定电路单元中不存在的时钟,但它表示影响该电路单元时序的外部触发器。 本章内容简单介绍了时钟的...
在输入/出端口,一个输入/出对应着多个时钟的输入,这种需要对该端口进行多约束。 多时钟输入延时 create_clockCLKA#内部时钟 create_clockCLKB#外部时钟 set_input_delay1 -clockCLKB-max【get_portsA】 其中CLKA为待优化模块内部的采集端口A数据的时钟,CLKB为待优化模块外部驱动数据进入端口A的虚拟时钟。
以下命令描述一个端口的外部扇出 set_wire_load_model [get_ports O1] “default_wl” set_port_fanout_number 5 [get_ports O1] 假设U1,U2和U3是TOP设计中的三个单元,它们都被子设计LOW所引用。以下命令设定10x10连线模型给LOW,20x20连线模型给U1和U2。