输入引脚时钟约束_时序分析与约束(3)-TimeQuest使用-上

本文介绍了TimeQuest在FPGA设计中的作用,它是Quartus II的时序分析工具。文章讲解了时序分析的基本逻辑,包括创建时序网表、施加时序约束、更新网表及查看时序报告的步骤。强调了时序约束的重要性,以及如何通过sdc文件影响综合和布局布线。
摘要由CSDN通过智能技术生成

ccec0ab87af810e0f46629b7aab21f43.png

TimeQuest是Quartus II中内嵌的时序分析与约束工具。我们之后的分析约束都是使用这款软件。

具体使用流程,强烈推荐一份Quartus II的官方文档,TimeQuest Timing Analyzer Quick Start Tutorial

官方手把手教学,且采用的是Quartus II安装目录下的例程,非常友好。

需要的朋友,请 关注公号FPGA里的那些事儿,后台回复003获取。

这篇文章主要来谈谈TimeQuest进行时序分析与优化背后的基本逻辑。

希望大家从一个比较宏观的视角去看待它。一旦理解,那么之后的操作并不复杂。

01

我们之前的文章提到,[原创]谈谈FPGA设计的实现过程,在布局布线之后,会生成一个LUT级网表,这个网表存储了FPGA内部资源的连线信息。

在做时序分析的时候,我们也要创建一个网表,这个网表存储了之前LUT级网表里的节点信息与各条路径的时延信息,这个网表叫时序网表(Timing Netlist)

TimeQuest进行时序分析的对象就是Timing Netlist。

因此在使用TimeQuest时,首先需要创建一个时序网表Timing Netlist。

比如对于下面这个图:

2b971efe6f00e255734fb626fdb17665.png

其时序网表是这样的:

0dafde1dc912f3a8d75ffb3aa431ba41.png

时序网表把原来图中的节点都做了标记,比如Cells、Port、Pin、Net等

这些标记的意思是:

  • Cells:LUT、寄存器、DSP块、RAM块、IO块等
  • Pins:Cells的输入输出
  • Nets:Pins之间的连线
  • Ports:输入输出的物理引脚

TimeQuest就是根据这些节点进行分析的。

02

有了时序网表,就可以开始时序分析了吗?

其实还不行。因为时序分析器可不知道时序网表要在什么样的环境下被使用。比如电路中哪些端口是时钟?时钟频率是多少?IO口的延时是多少?是不是网表中的每一条路径都要被分析?

这些就是所谓的时序约束信息。我们要把这些约束告诉TimeQuest。

因此,第二步就是为网表施加约束。

其实在初次编译的时候,Quartus已经自动添加了相应的约束,我们只需点击读取即可。

当然,往往自动添加的约束并非我们想要,所以之后会对约束进行更改和添加。具体有哪些约束,我们之后会详细展开聊。

施加约束之后,还需要对网表进行更新(Update timing netlist)。

好啦,有了网表,有了约束,这时就可以查看时序报告了。

查看报告之后,发现时序情况不满意,那么可以改变约束,再更新时序网表,再查看报告。

我们总结一下,使用TimeQuest进行时序分析需要按照以下步骤:

  • 创建一个时序网表Timing Netlist
  • 为网表施加约束
  • 对网表进行更新
  • 查看时序报告

03

上面通过时序约束,完成了时序分析,也就是之前文章时序约束作用中提到的时序约束的第1个作用。

时序约束怎么优化综合、布局布线呢?

其实很简单,我们首先要将上面用作时序分析时,建立的时序约束信息全部导出,导出后缀为.sdc的文件。

这个文件中保存了所有的时序约束信息。

接下来,将这个sdc文件添加到现有的工程中。

全编译工程,sdc文件内的时序约束信息,就会影响到工程的综合、布局布线。

需要大家理解的是,对综合和布局布线进行约束的是sdc文件。

如果只在TimeQuest内施加了约束,但是没用生成sdc文件,那么这些约束仅可以用作时序分析,但是无法对工程的综合与布局布线起到作用。

我们在做时序约束的时候,借助TimeQuest生成sdc文件。

其实事实上,sdc文件也可以自己编写,因为sdc中的时序约束都是同样的语法格式,比如

create_clock -name {clk_50m} -period 20.000 -waveform { 0.000 10.000 } [get_ports {clk_50m}]

这样就创建了一个频率为50M的方波。

如果理解了常用的时序约束语法格式,那么我们直接修改sdc文件也是可以的。

这次先说这么多,下次见!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值