1.6.4 如何优化时序

文章目录

  • 如何优化时序
    • 1.1建立时间与保持时间
    • 1.2 逻辑时延模型
    • 1.3改善时延的办法

如何优化时序

在FPGA设计中,提高速度与降低面积属于两个相互矛盾的目标,在具体实现上往往需要折中(Tradeoff)。

1.1建立时间与保持时间

1.建立时间(setup time):指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间。若建立时间不够,数据将不能在这个时钟上升沿处被打入触发器。
2.保持时间(hold time):指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。若保持时间不够,数据同样不能被打入触发器。

1.2 逻辑时延模型

1.同步逻辑时延电路的基本模型如图:
1.6.4 如何优化时序_第1张图片
其中,参数如下:
(1) T d e l a y 是 组 合 逻 辑 的 时 延 T_{delay}是组合逻辑的时延 Tdelay
(2) T c o 是 触 发 器 时 钟 到 数 据 输 出 的 时 延 T_{co}是触发器时钟到数据输出的时延 Tco
(3) T s u 是 触 发 器 的 建 立 时 间 T_{su}是触发器的建立时间 Tsu
(4) T p d 是 由 于 C L K 时 钟 树 网 络 传 播 带 来 的 时 延 ( 时 钟 延 时 参 数 ) T_{pd}是由于CLK时钟树网络传播带来的时延(时钟延时参数) TpdCLK
Tpd有可能为正也有可能为负,主要由时钟网络的布局布线决定。通常FPGA若采用全局时钟,该值基本为0;而ASIC则通过后端设计保证其接近于0.

2.假设数据已经被时钟的上升沿打入D触发器,那么数据到达第一个触发器的Q端需要Tco,再经过组合逻辑的延时Tdelay到达第二个触发器的D端,要想时钟能够再第二个触发器处再次被稳定地锁入触发器,则时钟的延迟不能晚于Tco+Tdelay+Tsu-Tpd。
由 以 上 分 析 可 知 , 该 电 路 工 作 的 最 小 时 钟 周 期 为 : T = T c o + T p d + T s u 由以上分析可知,该电路工作的最小时钟周期为:T=T_{co}+T_{pd}+T_{su} T=Tco+Tpd+Tsu
因 此 , 电 路 工 作 的 最 快 时 钟 频 率 为 : f = 1 T , 而 电 路 综 合 工 具 也 正 是 通 过 这 个 公 式 来 计 算 系 统 最 大 运 行 速 度 f m a x 的 。 因此,电路工作的最快时钟频率为:f = \frac{1}{T}, 而电路综合工具也正是通过这个公式来计算系统最大运行速度f_{max}的。 f=T1fmax

3.由于Tco,Tsu是由具体的器件和工艺决定的,在设计电路时只可以改变Tdelay,所以缩短触发器之间组合逻辑的延时是提高同步电路速度的关键。由于一般的同步电路都不止有一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求,缩短最长延时路径,才可以提高电路的工作频率。

4.建立时间的约束和时钟周期有关,当系统在高频时钟下无法工作时,降低时钟频率就可以使系统完成工作。

5.保持时间是一个和时钟周期无关的参数,但如果设计不合理,布局布线无法产生高质量的时钟树,则无论怎样调整,时钟频率也无法达到要求。

1.3改善时延的办法

1.改善时延的主要方法是重定时,而流水线改善时延则是一种普遍的方法;
2.流水线优化时序的核心思想是:沿着数据通路引入流水线寄存器以缩短关键路径的时延,从而降低整体组合逻辑的时延,提高系统吞吐率。
3.流水线应当按照如下原则安排:
(1)电路的运行速度(或时钟周期)由任意两个寄存器之间、一个输入与一个寄存器之间、一个寄存器与输出之间或输入输出之间的路径中,最长的路径限定。
(2)最长路径(或关键路径)可以通过在架构中适当地插入或挪动流水线寄存器来缩短。
(3)流水线寄存器必须保证节点的输入输出时序不变,这是因为进行流水线优化时,电路中往往存在很多环路。

你可能感兴趣的:(通信IC设计)