? ? ? ? 在之前的文章中我们分别介绍了组合电路的时序,时序电路的时序和时钟的时序问题,我们也对于时序分析,时序约束和时序收敛几个基本概念进行了区分,在这篇文章中,我们将介绍时序约束相关的最后一部分基本概念,带领大家了解什么是时序路径。
????????时序分析中的常用术语:
- 源时钟(Source Clock/Launch Clock,也称为发起时钟)
- 目的时钟(Destination Clock/Capture Clock,也称为捕获时钟)
- 发起沿(launch edge,源时钟产生数据的有效时钟沿)
- 捕获沿(capture edge,目的时钟捕获数据的有效时钟沿)
- 发起沿通常在0ns,捕获沿通常在下一个发起沿,发起沿和捕获沿通常相差一个时钟周期。
? ? ? ? 时序路径指的是信号可以继续穿过,不必等待其他触发条件的路径。沿着时序路径,信号仅仅在通过电路元器件时有延迟。
? ? ? ? 信号时序开始的点称为起点。因此,对于给定电路,所有输入都可以作为起点。信号必须被定时的点称为终点。因此,所有输出都可以作为终点。
? ? ? ? 在寄存器中,输入D必须等待时钟触发的到达。所以,直到D到达才能完成的过渡过程现在必须等待。现在进一步传递信号的时序将取决于时钟的达到时间。此处D应检查是否满足建立时间和保持时间。因此,时序路径在此结束。所以,寄存器也可以作为终点。
? ? ? ? 类似地,寄存器也可以作为起点。信号将从寄存器地Q引脚开始,然后向前传递。严格来说,时序从时钟源开始,然后到达触发器地clock引脚,接着进入触发器的Q引脚,然后继续向前。所以,严格来说,寄存器不是真正的起点。但是,大部分实际使用中,我们还是把寄存器称之为起点,但是在实际分析中,路径追踪是从时钟源开始的。
????????从源时钟的源节点(通常是FPGA的时钟输入引脚)到源寄存器的时钟端口的路径。当时序路径的起点是FPGA输入端口时,该时序路径是没有源时钟路径的。
????????从时序路径的起点到时序路径的终点之间的数据传播路径。时序路径的起点可以是源寄存器的时钟端口或FPGA的输入端口,时序路径的终点可以是目的寄存器的输入端口或FPGA的输出端口。
????????从目的时钟的源节点(通常是FPGA的时钟输入引脚)到目的寄存器的时钟端口的路径。当时序路径的终点是FPGA的输出端口时,该时序路径是没有目的时钟路径的。
?????????一般来说,FPGA中的时序路径可以分化成4种不同的类型
(1)第一类时序路径(红色):从device A的时钟到FPGA的第一级寄存器的输入端口。
(2)第二类时序路径(蓝色):两个同步元件之间的路径(rega到regb)
(3)第三类时序路径(黄色):最后一级寄存器到device B数据端口的路径
(4)第四类时序路径(绿色):端口到端口的路径(dinb到doutb)
? ? ? ? 在本文中,我们主要介绍了时序分析过程中时序路径的基本概念,分别介绍了FPGA中常见的4种时序路径:(1)引脚到寄存器(从FPGA的输入端口到目的寄存器的数据输入端口)(2)寄存器到寄存器(从源寄存器的时钟端口到目的寄存器的数据输入端口)(3)寄存器到引脚(从源寄存器的时钟端口到FPGA的输出端口)?(4)引脚到引脚(从FPGA的输入端口到FPGA的输出端口)。这部分的内容是我们进行后续时序分析及时序约束的重要基础。