- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
仿真、综合的介绍及其平台的使用Microsoft Word 文档
使用典型时序分析器设置时序约束
时序约束包括全局时序约束和个别时序约束。全局时序约束即指定工程范围内通用的全局性时序约束。个别时序约束即对特殊的结点、路径、分组、模块指定个别性的时序约束。个别时序约束的优先级高于全局时序约束。
QuartusII中常用的设置时序约束的途径:
【Assigments】/【Timing Settings】
【Assigments】/【Wizards】/【Timing Wizard】
【Assigments】/【Assigment Editor】
全局时序约束具体设置包括:
时序驱动的编译
全局时钟设置
全局的I/O时序设置
时序分析和报告选项
时序向导
指定个别时序约束:
输入最大最小延时
输出最大最小延时
反相时钟
非时钟
要求(最大、最小)、 要求、 要求、 要求
剪除时序路径
个别时序约束的对象
单点
点到点
通配符
时序组
使用TimeQuest进行时序约束和分析
使用TimeQuest的基本流程
(1)产生Timing Netlist
(2)输入SDC约束
新建或者读入已有的SDC文件或者在控制台上直接添加约束
(3)更新timing netlist
(4)生成时序分析报告Generate timing reports
(5)保存时序约束(可选步骤)
TimeQuest的GUI界面
图 三7 TimeQuest界面
使用TimeQuest的核心环节便是输入SDC约束,有下面两种方式打开
TimeQuest File menu =〉New/Open SDC File
QuartusII File menu = New =Other Files tab
图 三8为项目中的部分SDC时序约束:
图 三8 SDC编辑界面
SDC时序约束
SDC约束主要包括如下约束:
时钟
异步路径约束
False paths
Multicycle paths
Absolute delays
Time Groups
设置时钟约束:
用GUI来建立一个时钟约束:
图 三9用GUI建立时钟约束
(2)异步路径约束
异步路径是指驱动异步输入的,来自外部寄存器的信号,用来初始化和输出控制结构,必须对它进行约束。TimeQuest 分析异步信号输入是分内部寄存器和外部寄存器两种,TimeQuest 对异步信号进行recovery(setup)和removal(hold)分析。
图 三10 异步信号Trec 和Trem
Recovery:在时钟沿到达之前,异步信号必须保持稳定的最小时间
Removal:在时钟沿到达之后,异步信号必须保持稳定的最小时间
(3)False Paths
False Paths是Timing异常情况,一般有两类:
基于逻辑Logic-based,某些路径跟正常电路不相关,例如测试逻辑, 静态寄存器
基于时序Timing-based我们不需要分析这些路径,例如异步路径已经通过同步时钟来同步。
我们使用set_false_path 命令来告诉TimeQuest忽略这些路径。
设置举例如图 三11:
图 三11 设置false path的example
set_false_path –from [get_pins reg1|regout] –to [get_pins reg2|datain]
(4)Multicycle Paths
Multicycle Paths一般是Timing有异常情况,路径需要超过一个时钟周期来传递,
我们可以任意指定edge的迁移个数。
图 三12 Multicycle Paths
set_multicycle_path –from [get_pins reg1|regout] –to [get_pins reg2|datain] –setup 2
set_multicycle_path –from [get_pins reg1|regout] –to [get_pins reg2|datain] –hold 1
(5) Absolute Delays绝对延迟
Absolute Delays是应用在在特殊路径上的约束,会忽略现有的setup/hold以及
IO约束,我们使用set_max_delay set_min_delay 来约束路径,指定一个输入引脚到寄存器输入的延迟,或者寄存器到输出口的延迟。
(6)Time Group
定义一个组节点来设置相同的约束,组成员可以包括包含不规则的名称,或者是通配符,可以用Tcl “set” 命令。如有需要,我们可以使用Quartus II软件来建立Time Groups如图 三13。
图 三13 Quartus 设置界面
用tcl脚本的话,命令如下: timegroup group name
文档评论(0)