fpga系列 HDL:Quartus II 时序约束 静态时序分析 (STA) test.out.sdc的文件结构

发布于:2024-12-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

test.out.sdc的文件结构

## Generated SDC file "test.out.sdc"

## Copyright (C) 1991-2013 Altera Corporation
## Your use of Altera Corporation's design tools, logic functions 
## and other software and tools, and its AMPP partner logic 
## functions, and any output files from any of the foregoing 
## (including device programming or simulation files), and any 
## associated documentation or information are expressly subject 
## to the terms and conditions of the Altera Program License 
## Subscription Agreement, Altera MegaCore Function License 
## Agreement, or other applicable license agreement, including, 
## without limitation, that your use is for the sole purpose of 
## programming logic devices manufactured by Altera and sold by 
## Altera or its authorized distributors.  Please refer to the 
## applicable agreement for further details.


## VENDOR  "Altera"
## PROGRAM "Quartus II"
## VERSION "Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"

## DATE    "Fri Dec 13 16:31:06 2024"

##
## DEVICE  "EP4CGX15BF14C6"
##


#**************************************************************
# Time Information  时间信息
# 设置时间单位为 纳秒 (ns),小数点后保留 3 位精度:set_time_format -unit ns -decimal_places 3 
#**************************************************************

set_time_format -unit ns -decimal_places 3 



#**************************************************************
# Create Clock 设置物理时钟
#**************************************************************

create_clock -name {clk1} -period 40.000 -waveform { 0.000 20.000 } [get_ports {clk}]


#**************************************************************
# Create Generated Clock
# Generated Clock(生成时钟) 是从基础参考时钟派生出来的时钟信号。它可以通过 PLL、时钟分频器、倍频器、移相器、逻辑网络等生成
#**************************************************************



#**************************************************************
# Set Clock Latency 时钟延迟
# Source Latency(源延迟)
# set_clock_latency -source 3.0 [get_clocks {clk1}]:时钟从外部晶振到 FPGA 输入端口的延迟为 3.0 ns
# 时钟信号从源头(如 PLL 或晶振)传输到 FPGA 或 ASIC 芯片的输入端口所需的时间。通常与 PCB 布线相关。
# Network Latency(网络延迟)
# set_clock_latency -network 2.0 [get_clocks {clk1}] :时钟从 FPGA 输入端口传播到目标寄存器的内部延迟为 2.0 ns
# 时钟从 FPGA 或 ASIC 的输入端口进一步传播到内部逻辑(如寄存器)的路径延迟。与时钟树综合 (Clock Tree Synthesis, CTS) 相关,反映时钟在芯片内部的分发延迟。
#**************************************************************



#**************************************************************
# Set Clock Uncertainty 设置时钟不确定性
#**************************************************************

set_clock_uncertainty -rise_from [get_clocks {clk1}] -rise_to [get_clocks {clk1}]  0.020  
set_clock_uncertainty -rise_from [get_clocks {clk1}] -fall_to [get_clocks {clk1}]  0.020  
set_clock_uncertainty -fall_from [get_clocks {clk1}] -rise_to [get_clocks {clk1}]  0.020  
set_clock_uncertainty -fall_from [get_clocks {clk1}] -fall_to [get_clocks {clk1}]  0.020  


#**************************************************************
# Set Input Delay 外部输入信号“相对于时钟”的延迟
# set_input_delay -clock clk 5 [get_ports data_in]
#**************************************************************



#**************************************************************
# Set Output Delay 信号从时钟的边沿触发到达到输出端口的时间延迟
# set_output_delay -clock clk 8 [get_ports out_data] 外部设备要求信号输出延迟为 8 ns
#**************************************************************



#**************************************************************
# Set Clock Groups 时钟分组
# 时钟分组,组内的时钟被认为是同步的,而组间的时钟是异步的,不会进行跨组时序分析
# set_clock_groups -group {clk1 clk2} -group {clk3 clk4} -asynchronous
# 还可定义互斥时钟(只有一个时钟会被激活) set_clock_groups -group {clk1 clk2}  -exclusive
#**************************************************************



#**************************************************************
# Set False Path
# 告诉时序分析工具忽略这些“非关键路径”(False Path),它们在运行时不需要满足严格的时序要求
#**************************************************************



#**************************************************************
# Set Multicycle Path
#**************************************************************



#**************************************************************
# Set Maximum Delay 信号从源端到目的端的最大允许传播时间、防止 Setup 时间违例(信号到达太晚)
#**************************************************************



#**************************************************************
# Set Minimum Delay 信号从源端到目的端的最小传播时间、防止 Hold 时间违例(信号到达太早)
#**************************************************************



#**************************************************************
# Set Input Transition 
#**************************************************************

生成时钟+创建test.out.sdc文件

  • 未设置时钟之前的默认设置:
    在这里插入图片描述
    在这里插入图片描述
  • 打开 TOOL–>Timing Analyzer
    在这里插入图片描述
  • Create Timeing Netlist && Read SDC file
    在这里插入图片描述
  • 创建时钟:
    在这里插入图片描述
  • 保存为SDC文件
    在这里插入图片描述
  • 在项目中打开刚才的sdc文件,再进行编译
  • 在这里插入图片描述
    在这里插入图片描述
  • 也可以直接在创建文件时选择然后编辑sdc文件,再进行编译
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述