您的位置 首页 报告

怎么使用FPGA进行时序剖析规划

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器

  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时序剖析有进一步的了解。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/185460.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部