fpga如何约束走线_FPGA基础学习(4) -- 时序约束(理论篇)

在FPGA 设计中,很少进行细致全面的时序约束和分析,Fmax是最常见也往往是一个设计唯一的约束。这一方面是由FPGA的特殊结构决定的,另一方面也是由于缺乏好用的工具造成的。好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设计代码最大可能的反映设计者的设计意图。

花些功夫在静态时序分析上既可以保证设计质量,也可以促使设计者再认识自己的代码。这后一点,对于我们这些逻辑设计初学者来说,尤为重要。从门级(在Altera的FPGA器件中是LE 级)再认识自己的代码,可以更深入地体会语言的特点,也可以更深入地理解综合工具对语言的处理,对于设计能力的提高帮助很大。

1. 基本术语和概念

1.1 网表基本单元

节点(nodes)

包含了大部分基本的时序网表单元,常常代表端口、引脚和寄存器。

单元(cells)

Altera 器件中的基本结构单元(例如,查找表、寄存器、IO 单元、PLL、存储器块等),LE 可以看作是Cell。

引脚(pins)

基本结构单元cell的输入输出,这里不包括器件的物理引脚。

连线(nets)

两个pin之间的连线。(参考文献《timequest就一定要搞定

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

端口(ports)

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

时钟(clock)

约束文件中指定的时钟,不仅指时钟输入引脚,还包括内部时钟。

1.2 时序路径(Timing Paths)

时序路径是两个节点的连接,如一个寄存器的输出到另一个寄存器的输入。理解时序路径的类型对定时分析和优化是非常重要的。TimeQuest通常使用如下几种类型的时序路径:

Edge paths(边缘路径)

从端口(port)到引脚(pin),引脚到引脚,以及引脚到端口之间的连接。

Clock paths(时钟路径)

从器件端口或内部产生的时钟引脚到一个寄存器的时钟引脚之间的连接。

Data paths(数据路径)

从一个端口或一个时序电路的数据输出引脚,到另一端口或者另一个时序电路的数据输入引脚之间的连接。

Asynchronous paths(异步路径)

从端口到另一个时序电路的异步引脚之间的连接,如异步置位或异步清除。

除了标识出设计中的不同路径,TimeQuest还分析时钟特征,以单个register-to-register路径来计算在任何两个寄存器之间最坏情况的要求。在分析时钟特征之前,必须对设计中的所有时钟进行约束。

1.3 时间术语

以下在时序分析中常常遇到的术语或概念,一开始不能理解不要紧,结合后面的时序分析例子,慢慢就会理解其含义。

f_MAX(最大时钟频率)

在不违背内部建立时间tSU和保持时间tH要求下可以达到的最大时钟频率;

T_CO(时钟到输出延时)

时钟信号在寄存器引脚上发生转变以后,在由寄存器馈送信号的输出引脚上获得有效输出所需的最大时间;

T_PD(引脚到引脚延时)

输入引脚上的信号在经由组合逻辑进行处理传输,出现在外部输出引脚上时所需的时间;

T_SU(建立时间)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值