FPGA设计中的时序管理

发布者:huanli最新更新时间:2011-04-02 来源: elecfans关键字:FPGA  时序管理 手机看文章 扫描二维码
随时随地手机看文章
    当FPGA设计面临高级接口的设计问题时,该采取什么办法来解决呢?美国EMA公司的TimingDesigner软件可以简化这些设计问题,并提供对几乎所有接口的预先精确控制。下问文将向你娓娓道来。

  一、摘要

  从简单SRAM接口到高速同步接口,TimingDesigner软件允许设计者在设计流程的初期就判断出潜在的时序问题,尽最大可能在第一时间解决时序问题。在设计过程的早期检测到时序问题,不仅节省时间,而且可以更容易的实施设计方案。美国EMA公司的设计自动化工具--TimingDesigner,允许创建交互式时序图来获取接口规范,分析组件接口时序的特点,在项目工程师团队中沟通设计要求。

  


  

  二、导言

  FPGA的设计与高速接口技术可以帮助你满足今天的市场要求,但也提出了一些有趣的设计挑战。为了确保存储器接口的数据传输准确,在超过200兆赫兹以上,进行时序分析将发挥更突出的作用,以识别和解决系统运行的问题。在这些频率内,最重要的是创建和控制时序空余,留下最小的空余,以确保数据采集和演示窗口的准确。更快的边缘速率同时也放大物理设计的影响,造成信号完整性问题,对此则需要更多的沉降时间及缩小时序空余。

  FPGA器件现在还包括某些先进的功能,如支持带有I/O单元接口的双通道数据(DDR)和板上锁相环(PLL)网络进行精确时钟控制等等。这些在FPGA技术中的高级功能均提供先进的接口模块,从而有助于减少界面设计,再加上TimingDesigner软件的独特能力,在最短的时序中提供最准确、有力的解决方案。本文主要探讨了DDR型存储器接口设计中必要的时钟偏移及数据采集的时序空余。

  

  图1:TimingDesigner软件便于捕获设计特点的图形界面窗口。

  三、DDR/QDR存储器接口的设计问题

  DDR或四倍数据速率(QDR)存储设备可以提供和接受两倍于器件时钟频率的源同步数据,这意味着数据在时钟的上升缘和下降缘传输。此外,需要捕捉时钟偏移和进行适当地调整,以确保适当的时钟与数据关系。

  如前所述,现在一些FPGA装置包括DDR接口的I/O单元和板上的PLL网络。这意味着,你必须有一个方式来控制模块的准确和可靠。为了说明这一点,让我们来读取QDR II SRAM源同步接口的设计要求看看实例。

  在同步存储器系统例如QDR SRAM中,数据是与时钟同步的,所以存储器数据的相位必须旋转90度。这种相位旋转通常在有效数据窗口中进行时钟中心调整,这是QDR实现准确数据采集的一个重要设计特点(见下文图2)。如果要改变时钟中心,我们可以通过对板上FPGA的PLL网络进行简单的延时时钟信号来达到。

  

  图2:中心对齐的时钟/数据关系。

  获取数据

  延迟时钟信号可以实现中心对齐以避免各种温度变化和其他类似的设计影响,可能会对时钟或数据方面带来一些影响,但不会很大,但违背了接收存储器的建立或保持时序的要求。在理论上,对于大部分器件,中心对齐的时钟边缘将最大限度地建立和保持时序,留出足够的安全空余。然而,除非建立的需求合适于保持的需求,时钟信号的中心对齐将提供更多的时序空余。

  理想的解决办法是为器件的建立和保持提供一个最大的安全空余,可以通过转化平衡空余,为二者都提供相同的安全空余。为了平衡空余,我们为接收器件确定最低的有效数据窗口,在实际有效数据窗口的中心窗内可以给我们的存储器提供设计参数。

  利用接收器件最小的建立和保持时间,我们可以利用下面的公式确定最小的"安全"的有效数据窗口:

  最小创建时间+最低保持时间=最低有效数据窗口

  如图3所示,在存储器器件中可以看出,实际结果是在有效数据窗口中间。为了确保获取数据,总线必须在接收器最小的有效数据窗口外的"安全"区域内进行转换。根据时钟与数据的关系,信号设计在任一区域内,在获取数据时,我们确保尽可能多的安全空余。

  

  图3:平衡实际有效数据窗口中的最小有效数据窗口。

  实现适当的时钟偏移

  源同步时钟的相位偏移将有效地改变存储控制器接收寄存器的最小有效数据窗口,因此将形成平衡有效数据窗口。时钟偏移调整是FPGA装置中PLL器件的一个组成部分。要确定偏移的值,我们必须考虑到影响信号的布线延迟和任何外部延迟。

  首先,我们使用TimingDesigner软件通过存储器数据表为QDR SRAM创造一个图表(图4)。我们利用此图确定存储器与有效数据窗口中的时钟和数据信号时序的关系。目的是精确定义存储器的信号关系,并在PCB到FPGA的设计中传递这种关系。

  

  图4:QDR存储器读取时序图-MT54W1MH18J。

  从图4可以看出在FPGA的管脚上,PCB传播延迟与时钟(CQ_FPGA)和数据(Q_FPGA)信号间的关系。在TimingDesigner软件的动态链接参数表中使用单独的变量可以轻松地获得PCB板的延时及延迟值对相关的信号的影响。现在,我们可以在适当的FPGA装置中,为获取时钟而得到内部布线延迟和确定正确的相位偏移。

  四、FPGA设计要素

  大多数的FPGA利用约束驱动进行布局和布线。时序约束为关键信号提供时序信息。TimingDesigner软件提供独特的时序参考图如测量和计算变量结果,从行内文字到文件都支持厂商特定的约束语法。例如,在一个FPGA约束布线中,对符合其动态文字窗口的语法要求中,可以通过时序图中为特定信号计算延迟误差。然后,我们可以将这些语法通过一个文本文件导入到FPGA的开发系统中,或者我们可以直接将数值复制到FPGA的约束编辑器中。

  对于高速存储器接口设计,数据存储器被放置在FPGA装置I/O单元的附近,以尽量减少布线延时的影响。该I/O单元只有一个布线路径为输入数据信号,因此在数据总线的每一部分都存在数据路径延迟。FPGA的PLL也被用来进行适当的时钟控制,并通常有几种可能的从输入焊盘到捕捉寄存器的路径。制造商通过控制特定的属性,使PLL的特点包括相位偏移,相乘,或相除等因素,无论是原始示例的设计代码或约束都可以带入模块。因此,时钟和数据路径的布线和延误必须确定,以实现适当的时钟相位偏移。

  

  图5:TimingDesigner软件为FPGA设计流程提供直观的界面。

  在FPGA的最初布局和布线完成后,时序报告提供数据总线中每个时序的详细延时信息。如果有必要,可为FPGA开发系统的关键信号设定延时路径,TimingDesigner软件可以提取相关信息和利用图表更新。在这个设计实例中,我们需要输入数据总线和相关时钟信号的时序报告。

  导入布线后的时序到TimingDesigner软件中

  导入FPGA的时序报告信息,我们需要规划最坏的情况从而确定在图表(Q_FPGA)中相关的波形图。信号设计规范定义在同一个时序图表中不能带有同名的波形图。通过规划端口, TimingDesigner软件可以过滤时序报告并提取有用的信息。这些规划被存储在图表文件内并可预先解决的布局和布线问题。

  提供可视化的捕捉寄存器

  从导入时序报告文件开始, TimingDesigner软件为关键信号延时创建变量,并在电子数据表中规划和分配这些信号端口。变量过去是用来在时序图中更新时钟与数据关系。现在,可确定在FPGA器件内捕捉寄存器中的边缘关系。

  内部寄存器建立和保持是从时序报告和相关的约束中提取所需的时序。下一步,在时序图表中添加另外两个信号和偏移时序报告中的布线延时;在捕捉寄存器中添加数据和时钟,然后建立和保持FPGA器件适用的约束。用时钟边缘和有效数据窗口边缘的补偿确定必要的相位偏移,来平衡设计中有效的数据窗口。

  平衡有效数据窗口

  我们可以使用下列公式来确定PLL时钟信号产生的相位偏移:

  1、从设计的实际有效数据窗口减少FPGA装置I/O部分的最小有效数据窗口,然后结果除于2,实际结果为这2个有效数据窗口的差额(DlyDVW)。(参考图3)

  DlyDVW=(DVWdata-DVWdev)/2

  2、I/O寄存器数据建立时间加上DlyDVW值,就确定了相对时钟边缘的有效数据窗口(DlyRelSU)。

  DlyRelSU=DlyDVW+IOEsu

  3、最后,从相对建立时间(上面第2步得到的数值),减去时钟信号与捕捉寄存器的有效数据窗口(从时序图测量)之间的补偿。

  Clk_offset=DlyRelSU-EdgeOffset

  利用上述公式,我们可以确定FPGA开发系统中PLL的相位偏移量,并执行到下一步的布局和布线。

  验证结果

  再次导入做过以上修改的布线后时序文件,TimingDesigner软件会自动更新需要的数值,并更正及重新定位I/O单元的时钟信号CQ_intPLL。如图6所示。依靠改变PLL,确切的平衡建立和保持空余将是不可能的。对于这些情况下,应该在FPGA装置的PLL中获取平衡增量以解决这个问题。

  

  图6:在改变时钟和平衡建立及保持空余后,获取数据分析的时序图表。

  五、综述

  高速设计往往有严格的规范和严谨的发布时间表,所以需要一个交互式的时序规划和分析工具,来获得快速和完整的时序空余,以分析并解决可能影响到最终设计成功的因素。本文说明了如何利用TimingDesigner软件对FPGA设计流程进行准确地捕捉和交换时序信息,以帮助在整个设计过程中管理时序空余,并提供可视化的界面验证设计,并预测设计性能。今天的FPGA器件产品都带有多功能的时钟配置和丰富的I/O资源,并且带有高数据传输能力,TimingDesigner软件为高速存储器如DDR & QDR SRAM提供精确的关键路径时序分析功能。

关键字:FPGA  时序管理 引用地址:FPGA设计中的时序管理

上一篇:基于FMC标准的FPGA夹层卡I/O设计
下一篇:下一代互联网联网产品的SoC硬件要求

推荐阅读最新更新时间:2024-05-02 21:20

如何将FPGA设计快速转成ASIC?DARPA有新动作
上个月,DARPA对外公布了一项名为SAHARA(Structured Array Hardware for Automatically Realized Applications )的项目。按照DARPA的说法,该项目的目的以应对阻碍国防系统定制芯片安全开发的挑战。 DARPA在新闻稿中指出,SAHARA是一项重要计划,旨在支持国防部研究与工程部副部长USD(R&E)领导的国防部(DoD)微电子学路线图,以定义,量化和标准化安全性,同时加强国内半导体制造。快速确保商业微电子原型(RAMP-C)和最新的异构集成原型(SHIP)项目也是DoD路线图不可或缺的部分。 他们表示,尽管FPGA在当今的军事应用中得到了广泛的应用,但
[半导体设计/制造]
FPGA新兴应用趋势洞悉
以市场观点来看,许多人只会重视FPGA的大量型应用,例如用FPGA取代ASIC。   但就技术角度来看,FPGA的应用拓展就更为多样且具意义,这包括用FPGA加速高效运算、用FPGA加速电路设计验证、用FPGA取代大量性的DSP运算。   由于掩膜成本的指数性攀升,许多中等用量规模(约50万颗以下)的芯片无法如过去般以ASIC方式投产,且不得不改以FPGA投产,如此使近年来FPGA的市场不断增长。   FPGA侵蚀原有ASIC市场的用量极为可观的,此也成为近年来众人关注FPGA的首要焦点,不过也因为过于聚焦在高用量、大市场的观察,使FPGA的其它新应用发展被人所忽略,但这些应用却也极具意义。所以,以下本文将针对FPGA的
[嵌入式]
ADI推出高速模数转换器简化FPGA应用设计
新型双通道14位250 MSPS ADC AD9250通过JESD204B兼容输出与高速FPGA无缝连接,并支持精密多通道转换器同步。 中国,北京—通信基础设施、成像设备、工业仪器仪表、防务电子和其它多通道、需要大量数据的系统要求数据转换级提供越来越宽的分辨率和越来越高的采样率。并行接口的物理布局限制和串行LVDS(低压差分信号)方法的比特率限制目前给设计人员带来了技术障碍。 为解决这一需求,Analog Devices, Inc. (ADI: NASDAQ),全球领先的高性能信号处理解决方案供应商和数据转换技术领导者*,最近推出采用JEDEC JESD204B串行输出数据接口标准的双通道14位250 MSPS模数
[模拟电子]
ADI推出高速模数转换器简化<font color='red'>FPGA</font>应用设计
一种基于FPGA的雷达波束控制系统设计
0 引言 波束控制系统的基本功能是给天线阵列中各个移相器提供所需要的控制信号。除此基本功能外,现代雷达还要求波束控制系统高速高效、低成本、小型化,并具有波束控制分系统的自检;根据工作频率,进行初相位在线补偿;天线相位码随机馈相等功能。同时,在设计生产过程中,为了配合其他系统的检测,还需要在雷达的不同工作模式下完善调试功能。另外,在雷达的长期使用过程中,要求单个组件维修时,波束控制组件驱动板能在脱机状态下正常工作。 这里展开介绍一种有源相控阵雷达波束控制系统的硬件平台及软件设计。 1 系统原理 为降低电路成本和增加系统可靠性,该系统采用设备量少、维修方便、可靠性高的集中式运算、分布式驱动体系。也就是,波束控制算法
[嵌入式]
给大学生学习ARM和FPGA的建议
  对于初学者来说,要学的知识点很多,到底从哪里下手,人们常常感到非常迷茫。大一学生先从C语言开始入门,在大一阶段由于对计算机还非常陌生,因此不可能写出一个具有完整图形界面的软件,重点以“与硬件无关的计算方法、数据结构”为基础学习C语言,至少练习编写一万行C代码,否则不会找到编程的感觉,也体会不到编程乐趣,很多人就是因为缺乏一定量的训练,所以对编程没有兴趣,以至于未到毕业时就全部忘记了,程序设计是一项实践性很强的实践活动,没有大量的实践作为基础是很难入门的,因此我认为编写一万行代码是判定是否入门的依据。请初学者记住:当你编写了一万行代码时,这是你能够从事专业的开始,否则你不要期望在这个领域混下去。与此同时,C语言也是学习和使用Ve
[单片机]
基于FPGA的SPI4.2接口设计
  1.引言   SPI-4.2(System Packet Interface)是 OIF(Optical Internetworking Forum)定义的局部高速总线标准,用于 PHY层芯片到链路层芯片的 10Gbps信号传输。主要应用有 OC-192 ATM、Packet over SONET/SDH(POS)、10Gbps以太网等。   SPI4.2接口分为数据通道和状态通道。数据通道最多分成 256个逻辑通道,16bit位宽,采用 LVDS信号电平,按照 cell格式传送数据,cell的长度为 16字节的整数倍,可随意配置,根据网上流量的分析,一般配置成 128字节。每个 cell都是以控制字开始的,控制字一共
[嵌入式]
英特尔为何敢说Agilex是首款面向数据中心的FPGA
在英特尔收购Altera的两年后,宣布推出首款全新系列FPGA,命名为Agilex,英特尔表示,这是首款面向数据中心领域的FPGA,正如词根Agil所述,该产品旨在强调英特尔为实现超高敏捷性和灵活性进行的创新。 英特尔可编程解决方案事业部首席产品营销官Patrick Dorsey表示,Agilex并不是Stratix的延续,而是一个全新的平台,该产品是英特尔第一次利用了公司里面所有的资源和能力,集大成所为,在一个平台上面完成整个的解决算法。 “这是我们推出的第一款该类型产品,因此值得有一个新名字!”Dorsey说道。 纵观Altera此前的产品线,Max系列是上世纪90年代推出的,Stratix和Cyclone是200
[嵌入式]
英特尔为何敢说Agilex是首款面向数据中心的<font color='red'>FPGA</font>
TMS320C61416 EMIF总线下双FPGA加载设计
基于SRAM结构的FPGA容量大,可重复操作,应用相当广泛;但其结构类似于SRAM,掉电后数据丢失,因此每次上电时都需重新加载。 目前实现加载的方法通常有两种:一种是用专用Cable通过JTAG口进行数据加载,另一种是外挂与该FPGA厂商配套的PROM芯片。前者需要在PC机上运行专用的加载软件,直接下载到FPGA片内,所以掉电数据仍然会丢失,只适用于FPGA调试阶段而不能应用于工业现场的数据加载。后者虽然可以解决数据丢失问题,但这种专用芯片成本较高,供货周期也较长(一般大于2个月),使FPGA产品的开发时间受到很大约束。 因此希望找到一种更简便实用的FPGA芯片数据加载方法。根据FPGA芯片加载时序分析,
[工业控制]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved