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

ID 683068
日期 9/24/2018
Public
文档目录

2.3.8. 示例电路和SDC文件

以下电路及相应的.sdc文件显示对一个包括两个时钟,锁相环(PLL)和其他常见同步设计元素的设计进行约束。
图 109. 双时钟设计约束示例

.sdc文件包含示例电路的基本约束。

Basic .sdc Constraints Example

# Create clock constraints
create_clock -name clockone -period 10.000 [get_ports {clk1}]
create_clock -name clocktwo -period 10.000 [get_ports {clk2}]
# Create virtual clocks for input and output delay constraints
create clock -name clockone_ext -period 10.000
create clock -name clocktwo_ext -period 10.000
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输出。此规范覆盖设计中所有时钟的默认分析相互关联。
  • 设计的输入和输出延迟规范。