- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TimeQuest一定要搞定
TimeQuest 一定要搞定
Riple著 //14956/category.aspx
.COM 缺氧® 整理
一 为什么一定要搞定
最近一段时间以来一直在尝试使用TimeQuest 。胡乱配置了一通,屡屡失败。于是下定决心,从基本
概念开始,力争把TimeQuest 这个简化版的PrimeTime 搞定。
时序分析在ASIC 设计中的重要性毋须多说(我也不甚了解)。在FPGA 设计中,很少进行细致全面的
时序约束和分析,Fmax 是最常见也往往是一个设计唯一的约束。这一方面是由FPGA 的特殊结构决定的,
另一方面也是由于缺乏好用的工具造成的。好的时序约束可以指导布局布线工具进行权衡,获得最优的器
件性能,使设计代码最大可能的反映设计者的设计意图。
花些功夫在静态时序分析上既可以保证设计质量,也可以促使设计者再认识自己的代码。这后一点,对
于我们这些逻辑设计初学者来说,尤为重要。从门级(在Altera 的FPGA 器件中是LE 级)再认识自己的
代码,可以更深入地体会语言的特点,也可以更深入地理解综合工具对语言的处理,对于设计能力的提高
帮助很大。
TimeQuest 是Altera 在6.0 版的软件中加入的具备ASIC 设计风格的静态时序分析(STA)工具。通过
初步试用和观看网络教程,我感觉TimeQuest 确实比Timng Analyzer 功能强大一些,而且使用界面比较
友好,易于进行深入的时序约束和结果分析。
TimeQuest 采用Synopsys Design Constraints (SDC)文件格式作为时序约束输入,不同于Timing
Analyzer 采用的Quartus Settings File (QSF)约束文件。这正是TimeQuest 的优点:采用行业通用的约
束语言而不是专有语言,有利于设计约束从FPGA 向ASIC 设计流程迁移;有利于创建更细致深入的约束
条件。
对于时序分析,我刚刚入门;采用TimeQuest 进行约束输入也是第一次。在这一系列的博客里面,我
计划记录自己在学习中获得的知识要点和实践中遇到的各种问题,既是自己的学习笔记,也希望对他人的
工作有所助益,更希望大家提出批评意见,共同进步。
二 时序基本概念
以下内容译自Quartus II Version 7.0 Handbook, Volume 3 :Verification 的6-13:Timing Analysis
Overview 部分。
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 进行时序分析的对象:Edges。
Edges:Port-Pin,Pin-Pin,Pin-Port 的连接关系都是Edges。注意,这里的Pin-Pin 连接关系既包括
Cell 内部的连接(Net),也包括相邻Cell 外部的Pin-Pin 连接。
Edges 根据起止路径分为三类。
1. Clock paths:从Clock Port 或内部生成的clock Pin 到寄存器Cell 的时钟输入Pin。
2. Data paths:从输入Port 到寄存器Cell 的数据输入Pin,或从寄存器Cell 的数据输出Pin 到另一个
寄存器Cel
文档评论(0)