- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Timequest Timing Analyzer进行时序分析
HYPERLINK /fall-li/p/4392993.html Timequest Timing Analyzer进行时序分析(一)
一、概述
??? 用Altera的话来说,TimeQuest Timing Analyzer是一个功能强大的,ASIC-style的时序分析工具。采用工业标准--SDC(synopsys design contraints)--的约束、分析和报告方法来验证你的设计是否满足时序设计的要求。本文中,将采用一个DAC7512控制器的verilog设计作为例子,详细讲解如何使用TimeQuest进行时序设计和分析。
?
二、TimeQuest 时序分析的基本概念
??? TimeQuest需要读入布局布线后的网表才能进行时序分析,读入的网表是由以下一系列的基本单元构成。
1) cells: Altera器件中的基本结构单元,LE可以看作cell;
2) pins:? cell的输入输出端口,可以认为是LE的输入输出端口,注意,这里的pins不包括器件的输入输出管脚,代之以输入引脚对应LE的输出端口,输出引脚对应LE的输入端口;
3) nets: 同一个cell中,从输入pin到输出pin经过的逻辑。特别注意,网表中连接两个相临cell的连线不被看作net,被看作同一个点,等价于cell的pin,还要注意,虽然连接两个相临cell的连线不被看作net,但是这个连线还是有其物理意义的,等价于altera器件中一段布线逻辑,会引入一定的延迟(IC-Inter-Cell);
4) ports: 顶层逻辑的输入输出端口,对应已经分配的器件引脚;
5) clocks: 约束文件中指定的时钟类型的pin,不仅指时钟输入引脚;
6) keepers: 泛指port和寄存器类型的cell;
7) nodes: 范围更大的一个概念,可能是上述几种类型的组合,还可能不能穷尽上述几种类型。
?
三、TimeQuest的基本操作流程
??? 做为altera FPGA开发流程中的一个组成部分,TimeQuest执行从验证约束到时序仿真的所有工作。Altera推荐使用下面的流程来完成TimeQuest的操作。
?
?
1、建立项目并加入相关设计文件
??? 不管做什么事情,都需要有一个目标或者说对象。我们用TimeQuest做时序分析,当然也需要一个对象,这个对象实际上就是我们的设计。所以首先是建立一个Quartus II的项目,并把所有需要的设计文件都加入到项目中去。需要注意的一点是,这里的设计文件,不仅仅包含逻辑设计相关的文件,也包含已经存在的时序约束文件,当然,需要以synopsys Design Constraints(.sdc)的格式存在的。关于 sdc文件,可以使用Quartus的向导来建立,在生成sdc文件后,你可以再在此sdc文件上进行自己的修改,如下图所示,Assignments-TimeQuest Timing Analyzer Wizard...
?
2、对项目进行预编译(initial compilation)
??? 项目建立以后,如果从来没有对项目进行过编译的话,就需要对项目进行预编译。这里的预编译是对应于全编译(full compilation)来讲的,我们可以理解为预编译是对项目进行部分的编译,而全编译是对项目进行完整的编译。做预编译的目的是为了生成一个initial design database,然后我们可以根据这个database用Timequest采用交互的模式生成时序约束。实际上,对于小的设计,编译时间并不是很长的话,完全可以不去区分预编译和全编译,需要编译的时候,直接做全编译就可以了,做全编译的话,可以生成一个post-fit的database,完全可以给TimeQuest使用。
?
3、向设计中添加时序约束
???? 在用TimeQuest做时序分析之前,必须要指定出对时序的要求,也就是我们通常所说的时序约束。这些约束包括时钟,时序例外(timing exceptions)和输入/输出延时等。
??? 默认情况下,Quartus II 软件会给所有没有被下约束的时钟都设定为1GHz。没有任何的时序例外,也就是说所有的timing path都按1T去check。所有的输入/输出的延迟都按0来计算。这显然不符合绝大多数设计的时序要求,所以有必要根据设计的特性,添加必要的时序约束。
??? 如上所述,时序约束主要包括三类:时钟,时序例外和输入/输出延迟。其中时钟和输入/输出延迟可以认为是在某种程度上增强时序设计的要求。而时序例外可以认为是在某种程度上降低时序设计的要求。比如说,仅仅设定一个时钟的频率为100MHz的话,这个时钟域里所有timing path都需要能工作在100MH
您可能关注的文档
最近下载
- 地图的发展史的历程.ppt
- 2014花灯调完整版.doc
- GB∕T18972-2017旅游资源分类、调查与评价(高清版).pdf
- 【语文】第15课《青春之光》教案 2024-2025学年统编版语文七年级下册.docx VIP
- 浅析布鲁赫《g小调小提琴协奏曲第一乐章》演奏法要点.docx
- BS EN 12390-3-2019 硬化混凝土试验.第3部分:试验试样的抗压强度.pdf
- 外围及地下车库等公共设施的清洁、保洁工作方案.docx VIP
- 2024年最新离婚协议书下载6篇.docx
- LEGO乐高积木拼砌说明书21333,文森特·梵高——星月夜,LEGO®Ideas(年份2022)安装指南_第2份共2份.pdf
- (NEW)天津大学《718有机化学》历年考研真题汇编.pdf
文档评论(0)