FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而呈现的,既处理了定制电路的缺乏,又克服了原有可编程器材门电路数有限的缺陷。关于时序如何用FPGA来剖析与规划,本文将具体介绍。
根本的电子体系如图 1所示,一般自己的规划都需求时序剖析,如图 1所示的Design,上部分为时序组合逻辑,下部分只要组合逻辑。而对其进行时序剖析时,一般都以时钟为参阅的,因而一般首要剖析上半部分。在进行时序剖析之前,需求了解时序剖析的一些根本概念,如时钟颤动、时钟偏斜(Tskew)、树立时刻(Tsu)、坚持时刻(Th)等。时序剖析也便是剖析每一个触发器(寄存器)是否满意树立时刻/坚持时刻,而时序的规划的本质便是满意每一个触发器的树立时刻/坚持时刻的要求。
图 1 根本的电子体系
一、时钟颤动和时钟偏斜
1.时钟颤动
时钟信号边缘改变的不确定时刻称为时钟颤动,如图 2所示。一般情况下的时序剖析是不考虑时钟颤动,假如考虑时钟颤动,则树立时刻应该是Tsu+T1,坚持时刻应该是Th+T2。
图 2 时钟颤动时序图
2.时钟偏斜
时序偏斜剖析图如图 3所示。时钟的剖析起点是源寄存器(Reg1),结尾是方针寄存器(Reg2)。时钟在图中的结构中传输也会有推迟,时钟信号从时钟源传输到源寄存器的延时为Tc2s,传输到方针寄存器的延时为Tc2d。时钟网络的延时为Tc2s与Tc2d之差,即Tskew=Tc2d-Tc2s。
图 3 时钟偏斜时序图
二、树立时刻和坚持时刻
树立时刻(Setup Time)常用Tsu表明,指的是在触发器的时钟信号上升沿到来曾经,数据和使能信号安稳不变的时刻,假如树立时刻不行,数据将不能在这个时钟上升沿被打入触发器,使能信号无效,也便是说在这个时钟周期对数据的操作时无效的;坚持时刻(Hold Time)常用Th表明,指的是在触发器的时钟信号上升沿到来今后,数据和使能信号安稳不变的时刻,假如坚持时刻不行,数据相同不能被打入触发器,对数据的操作相同是无效的,使能信号无效。数据要能安稳传输,就有必要满意树立时刻和坚持时刻的联系,图 4标识了它们间的联系。
图 4 树立时刻/料理时刻的概念
三、发送沿和捕获沿
(1)发送沿(Launch Edge):前级寄存器发送数据对应的时钟沿,是时序剖析的起点;
(2)捕获沿(Latch Edge):跋文寄存器捕获数据对应的时钟沿,是时序剖析的结尾。相关于launch Edge一般为一个时钟周期,但不肯定,如多周期。
“信号跳变抵达窗口”:对latch寄存器来说,从previous时钟对应的Hold Time开端,到current 时钟对应的Setup Time 完毕。
“信号电平采样窗口”:对latch寄存器来说,从current时钟对应的Setup Time开端,到current时钟对应的Hold Time完毕。
launch寄存器有必要确保驱动的信号跳变抵达latch寄存器的时刻处于“信号跳变抵达窗口”内,才干确保不损坏latch寄存器的“信号电平采样窗口”。
图 5 Launch Edge和Latch Edge
四、数据和时钟的时序剖析
如图 6所示,为剖析树立时刻/坚持时刻的根本电路图。Tclk1为Reg1的时钟延时,Tclk2为Reg2的时钟延时,Tco为Reg1固有延时,Tdata为Reg1的到Reg2之间组合逻辑的延时,Tsu为Reg2的树立时刻,Th为Reg2的坚持时刻,设时钟clk周期为T,这儿剖析数据的树立时刻和坚持时刻。
图 6 根本电路图
1、树立时刻的剖析
如图 7所示,树立时刻的剖析是以第一个launch Edge为基准,在Latch Edge检查成果。树立时刻的裕量(T为时钟周期):
Setup Stack = (T+Tclk2) – Tsu – (Tclk1+Tco+Tdata)
假定△T = Tclk2-Tclk1,则:
Setup Stack = (T+△T) – Tsu – (Tco+Tdata)
可见△T<0影响树立时刻,使树立时刻的要求愈加严苛。因而关于△T尽量防止,选用同步单时钟,而且尽量选用大局的时钟信号,这样△T简直为0,,△T的影响简直不存在,能够忽略不计。
假如树立时刻的裕量Setup Stack小于0,则不满意树立时刻,也就会发生不安稳态,并经过寄存器传输下去。
图 7 树立时刻时序剖析图
2、坚持时刻的剖析
如图 8所示,坚持时刻的剖析是以第二个launch Edge为基准,在Latch Edge检查成果。坚持时刻的裕量:
Hold Stack = (Tclk1+Tco+Tdata) – Tclk2 – Th
假定△T = Tclk2-Tclk1,则:
Hold Stack = (Tco+Tdata) – △T – Th
可见△T>0影响坚持时刻,使坚持时刻的要求愈加严苛。。因而关于△T尽量防止,选用同步单时钟,而且尽量选用大局的时钟信号,这样△T简直为0,,△T的影响简直不存在,能够忽略不计。
假如坚持时刻的裕量Hold Stack小于0,则不满意坚持时刻,也就会发生不安稳态,并经过寄存器传输下去。
图 8 坚持时刻时序剖析图
五、DT6000S项目实例
DT6000S项目上有4路光以太网接口连接到FPGA,由FPGA进行完成MAC层和解码IEC61850的SV和GOOSE。以太网PHY经过MII接口和FPGA,因而FPGA与外部的接口有4路MII接口。项目初期是完成1路光以太网接口,而且验证功用正确之后,可是后期变成的4路光以太网时,总会存在1路光以太网通讯不正常。经过剖析得到是FPGA通MII接口和PHY的时序不满意。如图 9所示为MII接口的时序图,时序不满意分为TX_CLK和RX_CLK。
其一是PHY输出的TX_CLK和FPGA根据TX_CLK发生的TXD[3:0]&TX_EN延时大,首要延时为内部逻辑的延时,PCB延时小而且共同,导致PHY的TX_CLK的树立时刻不满意,然后导致发送数据过错。
其二是PHY输出的RX_CLK和RXD[3:0]&RX_DV&RX_ER到FPGA内部同步触发器的延时之差太大,导致FPGA内部同步触发器的RX_CLK的树立时刻不满意,然后导致接纳数据过错。
因而FPGA在综合时需求增加束缚,使之时序满意要求,束缚的条件为TXD[3:0]和TX_EN的输出延时要少。RX_CLK和RXD[3:0]&RX_DV&RX_ER途径延时之差要小。增加束缚之后,4路MII接口的光以太网数据通讯就正常了。
图 9 MII时序图
这儿论述了时序剖析根底,阐明概念的一起进行了时序剖析,经过时序剖析了解树立时刻和坚持时刻。期望我们阅览本文之后能够对FPGA时序剖析有进一步的了解。