【FPGA】高速信号处理中的片外信号输入输出静态时序分析

16人阅读 评论(0) 收藏 举报
分类:

    之前做的一个超宽带非均匀采样系统中遇到的一些问题,虽然本文所述方法并未实际用到并解决遇到的问题,但也是给了很大的启发和参考,所以今天专门整理出来作为备忘。

    在高速信号处理时的时许约束不仅仅包括片内时序约束,要想实现高速信号的有效传输就必须进行片外静态时序分析。本文作为在高速信号处理时信号输入输出的理论参考,之所以说作为理论参考是因为由于高速信号处理,具体的一些参数无法实际计算出来,只能在理论参考的方向进行不断尝试。

    对于建立时间和保持时间本文就不再过多叙述,可参考【FPGA】几种时序问题的常见解决方法-------3,可以说在数字高速信号处理中最基本的概念就是建立时间和保持时间,而我们要做的就是解决亚稳态问题和传输稳定问题。

--------------------------------干货干货-------------------------------------------------------------------------

    下面就IO口时序约束分析进行原理性的讨论,首先在分析时要考虑的时序范围是信号的两端(FPGA和另一端器件)、信号传输路径,三部分,这三部分中信号传输路径可以包括逻辑器件或者单纯外部信号线路。先将FPGA的建立时间和保持时间按照触发器的定义方式进行一下定义:

        

如上图所示:

        (1) Tdin为从FPGA的IO口到FPGA内部寄存器输入端的延时;
  (2) Tclk为从FPGA的IO口到FPGA内部寄存器时钟端的延时;
  (3) Tus/Th为FPGA内部寄存器的建立时间和保持时间;
  (4) Tco为FPGA内部寄存器传输时间;

  (5) Tout为从FPGA寄存器输出到IO口输出的延时;

FPGA的建立时间和保持时间可定义为:

        (1) FPGA建立时间:FTsu = Tdin + Tsu – Tclk;
  (2) FPGA保持时间:FTh = Th + Tclk - Tdin;

  (3) FPGA数据传输时间:FTco = Tclk + Tco + Tout;

-----------------------------------------------进行输入的最大延迟和最小延迟-----------------------------------------------

    有了上述的重新定义的参数,就可以将FPGA和器件之间的时序分析按照内部分析的模式来进行分析了,对FPGA的IO口进行输入最大最小延时约束是为了让FPGA设计工具能够尽可能的优化从输入端口到第一级寄存器之间的路径延迟,使其能够保证系统时钟可靠的采到从外部芯片到FPGA的信号。

    

    输入延时即为从外部器件发出数据到FPGA输入端口的延时时间。其中包括时钟源到FPGA延时和到外部器件延时之差、经过外部器件的数据发送Tco,再加上PCB板上的走线延时。如图1.4所示,为外部器件和FPGA接口时序。

    

1,最大输入延时

        最大输入延时(input delay max)为当从数据发送时钟沿(lanuch edge)经过最大外部器件时钟偏斜(Tclk1),最大的器件数据输出延时(Tco),再加上最大的PCB走线延时(Tpcb),减去最小的FPGA时钟偏移(FTsu)的情况下还能保证时序满足的延时。这样才能保证FPGA的建立时间,准确采集到本次数据值,即为setup slack必须为正,计算公式如下式所示:

    Setup slack =(Tclk + Tclk2(min))–(Tclk1(max) +Tco(max) +Tpcb(max) +FTsu)≥0

推出如下公式:

    Tclk1(max) + Tco(max) + Tpcb(max) –Tclk2(min) ≤ Tclk - FTsu

PS:上式中max和min是为了保证传输质量所必需的条件,如果不加max和min就会有可能导致系统有些情况不满足上式,从而导致信号传输产生错误。Tclk为同步时钟的周期。

可以得出最大输入时延表达式为上述不等式的左半部分而其最大值为上述不等式的右半部份,即:

        最大输入延时(input delay max) =Tclk - FTsu

    归根结底就是输入信号的各部分时延必须满足Tclk1(max) + Tco(max) + Tpcb(max) –Tclk2(min) ≤ Tclk - FTsu这个公式。但是式中Tco(max)可以通过对片外器件延时实现手动调节,Tclk2(min)也可以通过时许约束(offset)或者FPGA内部DCM实现相移等操作。最大最小输入延时指的是数据的最大输入延时,可通过始终约束其最大输入延时来保证时序正确。

2,最小输入延时

    最小输入延时(input delay min)为当从数据发送时钟沿(lanuch edge)经过最小外部器件时钟偏斜(Tclk1),最小器件数据输出延时(Tco),再加上最小PCB走线延时(Tpcb),此时的时间总延时值一定要大于FPGA的最大时钟延时和建立时间之和,这样才能不破坏FPGA上一次数据的保持时间,即为hold slack必须为正,计算公式如下式所示:

    Hold slack = (Tclk1(min) + Tco(min) + Tpcb(min))–(FTh + Tclk2(max))≥ 0 

推出如下公式:

Tclk1(min) + Tco(min) + Tpcb(min) – Tclk2(max) ≥ FTh    

可以得出最大输入时延表达式为上述不等式的左半部分而其最大值为上述不等式的右半部份,即:

        最小输入延时(input delay min) =FTh
         归根结底就是输入信号的各部分时延必须满足Tclk1(min) + Tco(min) + Tpcb(min) – Tclk2(max) ≥ FTh这个公式。但是式中Tco(max)可以通过对片外器件延时实现手动调节,Tclk2(min)也可以通过时许约束(offset)或者FPGA内部DCM实现相移等操作。外部器件输出数据通过PCB板到达FPGA端口的最大值和最小值Tpcb,PCB延时经验值为600mil/ns,1mm = 39.37mil。
    -----------------------------------------------------------------------------------------------------

    本文所述为高速信号处理时,片间信号传输的静态时许分析,中间的很多参数需要查看数据手册,另外对于FPGA输出的静态时许分析大家可以参考FPGA输入的静态时序分析进行对照分析,在此就不再赘述。

       高速信号处理最近发现有点难,不好驾驭,努力吧!

参考:http://www.cnblogs.com/linjie-swust/archive/2012/03/01/FPGA.html该文中有些错误,本文中已经进行修正。

        
查看评论

linux中的信号-3.5.linux应用编程和网络编程第5部分

本课程对linux中信号及其相关的函数进行了讲解,学习本课程目的是理解信号在系统设计中的作用和原理,会使用signal或者sigaction等函数捕获处理信号即可。
  • 2016年05月19日 20:39

FPGA STA(静态时序分析)

1 FPGA设计过程中所遇到的路径有输入到触发器,触发器到触发器,触发器到输出,如下图所示: 这些路径与输入延时输出延时,建立和保持时序有关。 2. 应用背景 ...
  • zhuzhiqi11
  • zhuzhiqi11
  • 2014-07-31 12:36:05
  • 3689

FPGA设计中对输入信号的处理(转)

1.输入信号为什么要寄存     一般来说,在全同步设计中,如果信号来自同一时钟域,各模块的输入不需要寄存。只要满足建立时间和保持时间的约束,可以保证在时钟上升沿到来时,输入信号已经稳定,可以采...
  • feixiaku
  • feixiaku
  • 2013-03-07 14:27:07
  • 1069

FPGA基础知识8(FPGA静态时序分析)

需求说明:向前人学习 内容       :FPGA静态时序分析简单解读 来自       :时间的诗 原文:http://blog.csdn.net/verylogi...
  • Times_poem
  • Times_poem
  • 2016-07-09 09:48:02
  • 1711

静态时序分析在高速FPGA设计中的应用

  • 2012年05月21日 17:07
  • 131KB
  • 下载

FPGA那些事儿--TimeQuest静态时序分析REV7.0.pdf

  • 2015年03月30日 17:12
  • 10.83MB
  • 下载

timequest静态时序分析学习之命令约束

原文地址:http://www.cnblogs.com/Oursbuzouxunchanglu/p/3957693.html 收藏,学习!!! Timequest共包括13条约束命令(...
  • wu_yi_xiang
  • wu_yi_xiang
  • 2016-12-07 15:17:20
  • 928

时序分析/约束(一):相关概念

时序分析/约束(一):相关概念 由 zme 于 星期四, 02/20/2014 - 15:03 发表 时序分析时FPGA设计中永恒的话题,也是FPGA开发人员设计进阶的...
  • shengzhuzhu
  • shengzhuzhu
  • 2014-06-09 21:15:39
  • 16391

6U VPX高速信号处理板xPower6210

泛腾科技xPower6210是一款适用6U VPX系统的信号处理板卡,符合VITA 65(OpenVPX)系统规范。板载4片TI高性能8核信号处理器TMS320C6678和1片Xilinx的XC7K3...
  • sdbyus
  • sdbyus
  • 2016-10-26 11:31:39
  • 691

FPGA内部pattern生成 仅仅是时序方面

moduleXO2_pattern ( input  wire       reset_n, input  wire       clk_7425m, output wire   ...
  • u012442565
  • u012442565
  • 2016-10-02 16:37:55
  • 199
    个人资料
    等级:
    访问量: 268
    积分: 146
    排名: 110万+
    文章分类
    文章存档