Intel® Quartus® Prime Pro Edition用户指南: Timing Analyzer

ID 683243
日期 10/02/2023
Public
文档目录

2.6.10. 示例电路和SDC文件

下面的.sdc文件演示了约束一个双时钟,锁相环(PLL)示例以及其他常见的同步设计单元。

基本.sdc约束示例

# Create clock constraints
create_clock -name clockone -period 10.000Ns [get_ports {clk1}]
create_clock -name clocktwo -period 10.000Ns [get_ports {clk2}]
# Create virtual clocks for input and output delay constraints
create clock -name clockone_ext -period 10.000Ns
create clock -name clocktwo_ext -period 10.000Ns
# derive PLL clocks to create the altpll0| clock referenced later
derive_pll_clocks
# derive clock uncertainty
derive_clock_uncertainty
# Specify that clockone and clocktwo are unrelated by assigning
# them to separate asynchronous groups
set_clock_groups \    
  -asynchronous \
  -group {clockone} \    
  -group {clocktwo altpll0|altpll_component|auto_generated|pll1|clk[0]}         
# set input and output delays
set_input_delay -clock { clockone_ext } -max 4 [get_ports {data1}]
set_input_delay -clock { clockone_ext } -min -1 [get_ports {data1}]
set_input_delay -clock { clockone_ext } -max 4 [get_ports {data2}]
set_input_delay -clock { clockone_ext } -min -1 [get_ports {data2}]
set_output_delay -clock { clocktwo_ext } -max 6 [get_ports {dataout}]
set_output_delay -clock { clocktwo_ext } -min -3 [get_ports {dataout}]

.sdc文件包含以下基本约束,这些基本约束通常包含在大多数设计中:

  • clockoneclocktwo定义为基本时钟和设计中节点的这些约束的assignment。
  • clockone_extclocktwo_ext定义为虚拟时钟,代表驱动与FPGA连接的外部器件的时钟。
  • PLL输出上生成时钟的自动推导。
  • 时钟不确定性的推导。
  • 两个时钟组的规范,第一个包含clockone及其相关时钟,第二个包含clocktwo和PLL的输出。此规范覆盖设计中所有时钟的默认分析相互关联。
  • 设计的输入和输出延迟规范。
图 173. 双时钟设计约束示例