时序研究分析教程Word文档下载推荐.docx

上传人:b****3 文档编号:6376615 上传时间:2023-05-06 格式:DOCX 页数:12 大小:879.41KB
下载 相关 举报
时序研究分析教程Word文档下载推荐.docx_第1页
第1页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第2页
第2页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第3页
第3页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第4页
第4页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第5页
第5页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第6页
第6页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第7页
第7页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第8页
第8页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第9页
第9页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第10页
第10页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第11页
第11页 / 共12页
时序研究分析教程Word文档下载推荐.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

时序研究分析教程Word文档下载推荐.docx

《时序研究分析教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《时序研究分析教程Word文档下载推荐.docx(12页珍藏版)》请在冰点文库上搜索。

时序研究分析教程Word文档下载推荐.docx

2.Launchedge和Latchedge

Launchedge和Latchedge分别是时序分析的起点和终点。

需要指出的是Latchedge时间=Launchedge时间+期望系统周期时间

3.DataArrivalTime和DataRequiredTime

这两项时间是TimeQuest时序分析的基础,所有的建立时间余量和保持时间余量都是根据这两项时间来决定的。

需要注意的是DataArrivalTime和DataRequiredTime在分析不同的时序节点时,计算的公式有所差别。

4.建立时间余量ClockSetupSlack

建立关系是指寄存器R1发送的数据在下一次更新(更换)之前,寄存器R2可用最短时间去锁存数据

建立时间余量是指从Launchedge经过一些列延迟数据输出稳定后到Latchedge的长度。

●InternalRegister-to-Registerpaths

DataArrivalTime=LaunchEdge+ClockNetworkDelaytoSourceRegister+tCO+Register-to-RegisterDelay

DataRequiredTime=LatchEdge+ClockNetworkDelaytoDestinationRegister–tSU–SetupUncertainty

●InputPorttoInternalRegister

DataArrivalTime=LaunchEdge+ClockNetworkDelay+InputMaximumDelay+Port-to-RegisterDelay

●InternalRegistertoOutputPort

DataArrivalTime=LaunchEdge+ClockNetworkDelayToSourceRegister+tCO+Register-to-PortDelay

DataRequiredTime=LatchEdge+ClockNetworkDelaytoOutputPort–OutputMaximumDelay

tCO指寄存器R1的自身特性

tSU指寄存器R2的自身特性

如上图所示:

DataArrivalTime=启动沿时间+Tclk1+Tco+Tdata

=0ns+3.2ns+0.2ns+0.6ns

=4ns

DataRequiredTime=锁存沿时间+Tclk2-Tsu

=10ns+2ns-1.4ns

=10.6ns

所以:

SetupSlack=DataRequiredTime-DataArrivalTime

=10.6ns-4ns

=6.6ns

5.保持时间余量ClockHoldSlack

保持时间余量是在两个节点(寄存器)之间,在分析保持关系的过程中“到底有多少剩时间可以提供给寄存器用来确保已存数据的稳定”。

由于保持时间余量是指当前Latchedge和下一个Launchedge的距离。

所以上面公式可以写成:

DataRequiredTime=LatchEdge+ClockNetworkDelaytoDestinationRegister+tH+HoldUncertainty

DataRequiredTime=LatchEdge+ClockNetworkDelaytoDestinationRegister+tH

DataRequiredTime=LatchEdge+ClockNetworkDelay–OutputMaximumDelay

DataArrivalTime=启动沿+Tclk1+Tco+Tdata+数据周期时间

=0ns+3.2ns+0.2ns+0.6ns+10ns

=14ns

DataRequiredTime=锁存沿+Tclk2+Th

=10ns+2ns+1.4ns

=13.4ns

所以,HoldSlack=数据保持时间-数据锁存(获取|读取)时间

=14ns-13.4ns

=0.6ns

6.RecoveryandRemovalTime

7.多周期路径MulticyclePaths

8.亚稳态Metastability

二、时序约束类型

9.时钟

为了确保精确的静态时序计算结果,必须指定设计中所有使用到的时钟。

A.BaseClock基准时钟

设计中最主要的输入时钟。

不同于从PLL中生成的时钟,基准时钟是由片外OSC或者其他器件生成的。

Example100MHzShiftedby90DegreesClockCreation

create_clock-period10-waveform{2.57.5}[get_portsclk_sys]

B.VirtualClock虚拟时钟

虚拟时钟在设计中不存在真实的时钟源或者对设计没有直接影响的一个时钟。

例如,如果一个时钟不是设计中的时钟,而仅仅作为一个外部器件的时钟源,并且外部器件和该设计有输入或者输出的管脚,那么就认为这个时钟是虚拟时钟。

主要方便TimeQuest正确的分析外部寄存器和内部寄存器的时序关系。

ExampleCreateVirtualClock

create_clock-period10-namemy_virt_clk

C.Multifrequencyclocks多频率时钟

某些情况下,设计中会有很多个时钟源向一个时钟节点提供信号。

增加的时钟也许扮演一个低频率低功耗时钟的角色。

D.GeneratedClocks派生时钟

派生时钟是指在设计中修改了相位、频率、偏移、占空比的基准时钟。

如分频时钟。

在sdc文件中,PLL输出或者寄存器分配的GeneratedClocks在所有的基准时钟之后约束。

E.DerivingPLLClocks锁相环时钟

使用derive_pll_clocks命令直接让TimeQuest自动搜索未约束的PLL输出时钟。

derive_pll_clocks命令自动调用create_generated_clock命令给每个PLL输出创建GeneratedClocks

F.ClockGroups时钟组

如果两个或者多个时钟具有相同的source和固定的相位差,那么这些时钟是同步时钟。

如果两个或者多个时钟之间没有任何关系,则称之为异步时钟。

如果两个时钟不会相互作用,那么称这两个时钟为互斥时钟。

如果在约束中没有特别说明,TimeQuest假设所有的时钟都是相关的。

使用set_clock_groups命令指定设计中指出那些时钟是互斥的或者异步的。

set_clock_groups命令将不同时钟组时序分开分析,并且执行同样的分析,不管有没有指定-exclusive或者-asynchronous选项。

做时序分析时,在创建好所有的时钟后,需要定义这些时钟之间的关系。

我们可以把同步时钟放到一个group中,然后在定义时钟之间的关系时,可以使用group来定义。

如果设计中有异步时钟,就需要用命令把异步时钟分组并定义出来。

10.输入约束InputConstrants

外部器件发送数据到FPGA系统模型如下图所示。

对FPGA的IO口进行输入最大最小延时约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部芯片到FPGA的信号。

11.输出约束OutputConstrants

FPGA输出数据给外部器件模型如下图所示。

对FPGA的IO口进行输出最大最小延时约束是为了让FPGA设计工具能够尽可能的优化从第一级寄存器到输出端口之间的路径延迟,使其能够保证让外部器件能准确的采集到FPGA的输出数据

12.时序例外TimingExceptions

G.FalshPaths

从逻辑上考虑,与电路正常工作不相关的那些路径,比如测试逻辑,静态或准静态逻辑。

从时序上考虑,我们在综合时不需要分析的那些路径,比如跨越异步时钟域的路径。

●ClockLatency:

时钟延迟

clock源到时序器件的clk脚的延迟叫做clocklatency。

有两种形式的ClockLatency,时钟源延迟clocksourcelatency和时钟网络延迟clocknetworklatency。

时钟源延迟指从初始时钟到定义点时钟的传播延迟。

时钟网络延迟指时钟定义点到寄存器的时钟引脚。

●clockuncertainty:

clock在时序器件clk脚上的不确定性。

有三种类型的时钟到时钟转移:

intraclocktransfers

interclocktransfers

I/Ointerfaceclocktransfers.

●Altera对于fmax的计算公式。

fmax:

电路能跑的最大频率

Tclk:

电路能跑的最短周期

Tco:

register本身的clk输出delay(clktooutput)

Tdata:

组合逻辑本身所造成的datadelay

Tsu:

register本身的setuptime

Tclk_skew:

clockskew

●PintoPinDelay(tpd)

tpd指输入管脚通过纯组合逻辑到达输出管脚这段路径的延时,特别需要说明的是,要求输入到输出之间只有组合逻辑,才是tpd延时

●同步设计基本模型图

⏹launchedge,是源寄存器发送数据的时钟沿,是时序分析的起点。

⏹latchedge,是目的寄存器捕获数据的时钟沿,是时序分析的终点。

⏹Data 

ArrivalTime:

从launchedge开始,data实际到达Reg2D端的时间。

DataArrivalTime=LaunchEdge+SourceClockDelay+tCO+Register-to-RegisterDelay

⏹DataRequiredTime

DataRequiredTime=LatchEdge+DestinationClockDelay–tSU

为经过寄存器T1的传输延时

为T2本身的建立时间;

(clockslew)为时钟到T1和T2的偏差

在一个时钟周期T之内,数据从寄存器T1传出,需要经过延时Tco,然后经过组合逻辑,需要经过延时Tdelay,最后到达寄存器T2,然后在寄存器T2建立起来,需要经过延时Tsetup,那么可以得出建立时间的要求:

之所以需要加上

是因为时钟也有可能存在传输的偏移

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2