原创 TimeQuest就一定要搞定——时序分析基本概念

2007-4-26 13:14 7408 9 7 分类: FPGA/CPLD
    以下内容译自Quartus II Version 7.0 Handbook, Volume 3:Verification的6-13:Timing Analysis Overview部分。  riple

    TimeQuest需要读入布局布线后的网表才能进行时序分析。读入的网表是由以下一系列的基本单元构成的: riple


    1. Cells:Altera器件中的基本结构单元。LE可以看作是Cell。 riple


    2. Pins:Cell的输入输出端口。可以认为是LE的输入输出端口。注意:这里的Pins不包括器件的输入输出引脚,代之以输入引脚对应LE的输出端口和输出引脚对应LE的输入端口。 riple


    3. Nets:同一个Cell中,从输入Pin到输出Pin经过的逻辑。特别注意:网表中连接两个相邻Cell的连线不被看作Net,被看作同一个点,等价于Cell的Pin。还要注意:虽然连接两个相邻Cell的连线不被看作Net,但是这个连线还是有其物理意义的,等价于Altera器件中一段布线逻辑,会引入一定的延迟(IC,Inter-Cell)。 riple


    4. Ports:顶层逻辑的输入输出端口。对应已经分配的器件引脚。 riple


    5. Clocks:约束文件中指定的时钟类型的Pin。不仅指时钟输入引脚。 riple


    6. Keepers:泛指Port和寄存器类型的Cell。 riple


    7. Nodes:范围更大的一个概念,可能是上述几种类型的组合,还可能不能穷尽上述几种类型。 riple


    下面这幅图给出了一个时序网表的示例,展示了基本单元中的一部分。 riple


    点击看大图


    有了网表的基本单元,我们就可以描述TimeQuest进行时序分析的对象:Edges。 riple


    Edges:Port-Pin,Pin-Pin,Pin-Port的连接关系都是Edges。注意,这里的Pin-Pin连接关系既包括Cell内部的连接(Net),也包括相邻Cell外部的Pin-Pin连接。 riple


    Edges根据起止路径分为三类。 riple


    1. Clock paths:从Clock Port或内部生成的clock Pin到寄存器Cell的时钟输入Pin riple 


    2. Data paths:从输入Port到寄存器Cell的数据输入Pin,或从寄存器Cell的数据输出Pin到另一个寄存器Cell的数据输入Pin riple


    3. Asynchronous paths:从输入Port到寄存器Cell的异步输入Pin,或从寄存器Cell的数据输出Pin到另一个寄存器Cell的异步输入Pin riple


下面这幅图给出了三种不同的Edges。 riple


点击看大图


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


还要注意这样一组概念,这里的edge指的是时钟沿: riple


1. Launch Edge:前级寄存器发送数据对应的时钟沿,是时序分析的起点。 riple


2. Latch Edge:后级寄存器捕获数据对应的时钟沿,是时序分析的终点。 riple


下面这幅图给出了发送、捕获时钟沿的示意图。 riple


点击看大图


有了上述的诸多概念,我们就可以得到时序分析公式的基本项了: riple


1. Data Arrival TimeLaunch Edge + 前级寄存器Clock path的延时 + 前级寄存器Cell从时钟Pin到数据输出PinNet延时(uTco + Data path的延时。 riple


2. Data Required TimeLatch Edge + 后级寄存器Clock path的延时 + uTh)或(- uTsu)。 riple


3. Clock Arrival TimeLatch Edge + 后级寄存器Clock path的延时。 riple


下一篇分析建立时间和保持时间时,就必须用到上述三个概念。 riple

文章评论1条评论)

登录后参与讨论

zcf287 2016-2-17 17:16

期待啊

zcf287 2015-10-25 19:12

很期待啊

用户324397 2015-10-23 15:40

这种实践型文章的确是FPGA应用者的福音啊。

用户1677251 2015-10-23 09:27

手头有一个DE2-115可以么?上次用游客欢迎你回归,这次用本人账号回复。加油,跟上大神步伐。

用户1000403 2011-7-26 15:53

Nets:同一个Cell中,从输入Pin到输出Pin经过的逻辑。 Quartus II Version 11.0 Handbook: nets Connections between pins. 菜鸟很迷茫
相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
1
9
关闭 站长推荐上一条 /2 下一条