时序分析、约束总结

  1. 时序分析

start point: 时序路径起点,为launch clock或input port

end point: 时序路径终点,为寄存器D端或output port

时序路径为一条数据在其上传播不受其它因素影响(不等待时钟到来)的路径。

以endpoint的对应时钟可将timing path分为不同group,相同clock在同一group。

时序分析:

  1. data arrival time = T(source clock path) + T(data path)  实际数据到达endpoint时间
  2. data required time = T(destination clock path) - Ts(or +Th) 基于setup/hold的数据需要在endpoint有效的时间

slack = data required time - data arrival time  (setup)

= data arrival time - data required time   (hold)

时间裕量,应大于零,说明实际时序符合setup/hold要求且有富裕。

若约束该路径为max_delay/min_delay(通常为异步路径),则data_required_time中的T(destination clock path)将被替换为max_delay/min_delay值。

若该路径的startpoint为input且约束了input delay,则data_arrival_time中的T(data path)需再加上input_delay值;若该路径的endpoint为output且约束了output delay,则data_required_time中的Ts或Th将被替换为output_delay值。

2. 常见时序约束

2.1 false_path

时序伪路径,常用于不需要进行Timing Check(没有时序要求)的timing path,如:异步路径、逻辑互斥路径、无实际信号到达路径等。

与set_disable_timing的区别:false_path设置后仍会计算timing path的延时,只是没有了约束;disable_timing设置后会直接取消该timing arc,对其不会有任何时序分析。

与set_clock_group -asynchronous的区别:直接设置异步时钟组更直观,且在计算timing window时不会按照同步关系计算,这样对串扰现象的影响计算更准确。

(串扰:类似相邻信号线的互感,若两个信号线在近乎同一时刻跳变且方向相反,那么受影响的信号线可能会出现逻辑错误)

2.2 max_delay/min_delay

指定timing path的最大延迟,常用于异步路径。

若仅设置max_delay(后不加任何选项),则实际的data_required_time还会考虑Launch Clk的latency,Capture Clk的Latency和Uncertainty和Cap DFF的setup time,若在其后面加上-ignore clock latency,则Launch Clk的latency,Capture Clk的Latency和Uncertainty均不会考虑,相当于加严了要求。

2.3 input_delay/output_delay

input_delay:外部寄存器时钟发送沿到input port的延迟

output_delay:output port到外部寄存器D端的延迟

set_input_delay/output_delay的时钟,均为外部寄存器对应时钟,以区分时序路径。

input_delay对应data_arrival_time,output_delay对应data_required_time。

input_delay如果同时设置了max和min delay,那么max值是用在对setup timing的分析中的,而min值用在对hold timing的分析中。如果只设置了一个值,那么同时供两者使用。

output_delay如果同时设置了max和min delay,那么data_required_time的区间即为{-min, Tclk-max} (若min<=0)

​​​​​​​​​​​​​​2.4 muticycle

多个周期采一次数据,常用于同步高低频数据交互。

默认情况下,时序路径都是在最近的沿分析setup,在最近的沿的前一个沿分析hold。即setup=1,hold=0。常用的设置MCP的setup和hold的值时,一般是会使用setup 为n,则hold为n-1的方式,此时setup check的时钟边沿是n个cycle后的cap clk,hold的check时钟有效沿是当前toggle的cap clk(若不指定hold,则默认hold的check时钟沿为setup check的前一个时钟沿,即n-1个cycle)。

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FPGA时序约束与分析是指在FPGA设计中,为了确保电路能够按照设计要求正常工作,需要针对时序进行约束和分析的过程。 时序约束是在设计过程中对时钟、数据信号和其它时序要求进行限制和描述,以确保电路在特定时钟频率下正常工作。时序约束通常包括时钟频率、时钟占空比、时钟延迟、数据传输延迟等参数。这些约束信息需要在FPGA设计的开发环境中设置,并与设计软件进行交互。 时序分析是在设计完成后对设计中的时序进行检查和分析的过程。通过时序分析,可以检测到设计中存在的时序违规,如Setup Violation和Hold Violation等。时序分析工具会根据时序约束和设计网表中的逻辑关系,对电路的时序进行模拟,判断是否存在违规情况,并给出相应的报告。 时序约束和分析在FPGA设计中非常重要。合理的时序约束可以确保电路的正确性和稳定性,避免出现时序违规导致的电路故障。时序分析可以帮助设计人员及时发现和解决时序违规问题,提高电路的可靠性和性能。 在进行FPGA时序约束和分析时,需要充分了解设计的时序要求和限制,并根据设计的特点进行具体的设置和分析。同时,需要使用专业的设计工具和综合工具来辅助进行时序约束和分析,确保设计的质量和性能达到预期目标。 ### 回答2: FPGA时序约束与分析是FPGA设计中非常重要的一环。它的目的是指定设计中各个时钟域之间的时序关系,确保设计在特定的时钟频率下能够正常工作并满足时序要求。 在FPGA设计中,各个时钟域是指设计中不同部分的时钟信号源。在时钟信号的引导下,时序约束指定了不同部分的时序要求,包括时钟输入到输出的延迟、时钟上升沿和下降沿的约束等。时序约束需要在设计阶段中进行精确地设置,以便FPGA设计工具在综合、布局和布线过程中能够遵守这些约束。 时序约束的设置要根据具体的设计需求来确定,它受到FPGA器件、时钟频率、设计功能以及设计规模等因素的影响。通常包括设置最小或最大延迟、时钟周期、时钟时序关系等。 时序约束的分析是在设计完成后对时序约束进行验证和优化的过程。通过使用时序分析工具,可以分析设计中的关键路径、时序违例以及在设计中可能存在的问题。时序分析可以帮助设计者找到设计中的潜在风险和瓶颈,以便做出相应的优化和改进。 总的来说,FPGA时序约束与分析是FPGA设计中至关重要的环节。合理设定和分析时序约束可以保证设计的正确性和稳定性,提高设计的性能和可靠性。 ### 回答3: FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,能够通过在其内部重新配置电路来执行不同的功能。在FPGA的设计过程中,时序约束与分析是非常重要的概念。 首先,时序约束指的是对FPGA设计的电路中各个信号的时钟、延迟和时序关系进行规定和约束。通过设置时序约束,可以保证电路在特定的时钟频率下正常工作,确保信号的稳定性和正确性。 在FPGA设计中,时序约束的任务通常被分为两个部分。第一部分是在设计过程中,通过在设计工具中设置时序约束,指定相应信号的时钟频率、时钟延迟和时序关系等。这些时序约束信息会在综合、布局和布线等过程中使用,以便生成正确的电路。 第二部分是时序分析,它是在设计完成后对设计结果进行验证的过程。通过对FPGA设计中的电路进行时序分析,可以确定设计是否满足时序约束,并查找潜在的问题或时序错误。时序分析可以帮助设计人员找到电路中可能存在的时钟频率过高、延迟过长、时序关系不正确等问题,并提供必要的优化建议。 时序约束与分析的目的是确保FPGA设计的正确性和性能优化。对于复杂的FPGA设计,时序约束时序分析是必不可少的步骤。通过合理设置时序约束并进行时序分析,可以保证电路的稳定性和可靠性,并提高设计的运行速度和性能。 总结起来,FPGA时序约束与分析是指在FPGA设计过程中对电路中各个信号的时钟、延迟和时序关系进行规定和验证的过程。这一步骤的目的是确保设计的正确性和性能优化,对于复杂的FPGA设计来说是非常重要的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值