FPGA设计需注意的方方面面

发布者:pingbashou最新更新时间:2017-07-20 来源: 电子产品世界关键字:FPGA  差分信号 手机看文章 扫描二维码
随时随地手机看文章

  不管你是一名逻辑设计师、硬件工程师或系统工程师,甚或拥有所有这些头衔,只要你在任何一种高速和多协议的复杂系统中使用了FPGA,你就很可能需要努力解决好器件配置、电源管理、IP集成、信号完整性和其他的一些关键设计问题。不过,你不必独自面对这些挑战,因为在当前业内领先的FPGA公司里工作的应用工程师每天都会面对这些问题,而且他们已经提出了一些将令你的设计工作变得更轻松的设计指导原则和解决方案。下面就随嵌入式小编一起来了解一下相关内容吧。

  I/O信号分配

  可提供最多的多功能引脚、I/O标准、端接方案和差分对的FPGA在信号分配方面也具有最复杂的设计指导原则。尽管Altera的FPGA器件没有设计指导原则(因为它实现起来比较容易),但赛灵思的FPGA设计指导原则却很复杂。但不管是哪一种情况,在为I/O引脚分配信号时,都有一些需要牢记的共同步骤:

  1. 使用一个电子数据表列出所有计划的信号分配,以及它们的重要属性,例如I/O标准、电压、需要的端接方法和相关的时钟。

  2. 检查制造商的块/区域兼容性准则。

  3. 考虑使用第二个电子数据表制订FPGA的布局,以确定哪些管脚是通用的、哪些是专用的、哪些支持差分信号对和全局及局部时钟、哪些需要参考电压。

  4. 利用以上两个电子数据表的信息和区域兼容性准则,先分配受限制程度最大的信号到引脚上,最后分配受限制最小的。例如,你可能需要先分配串行总线和时钟信号,因为它们通常只分配到一些特定引脚。

  5. 按照受限制程度重新分配信号总线。在这个阶段,可能需要仔细权衡同时开关输出(SSO)和不兼容I/O标准等设计问题,尤其是当你具有很多个高速输出或使用了好几个不同的I/O标准时。如果你的设计需要局部/区域时钟,你将可能需要使用高速总线附近的管脚,最好提前记住这个要求,以免最后无法为其安排最合适的引脚。如果某个特定块所选择的I/O标准需要参考电压信号,记住先不要分配这些引脚。差分信号的分配始终要先于单端信号。如果某个FPGA提供了片内端接,那么它也可能适用于其他兼容性规则。

  6. 在合适的地方分配剩余的信号。

  在这个阶段,考虑写一个只包含端口分配的HDL文件。然后通过使用供应商提供的工具或使用一个文本编辑器手动创建一个限制文件,为I/O标准和SSO等增加必要的支持信息。准备好这些基本文件后,你可以运行布局布线工具来确认是否忽视了一些准则或者做了一个错误的分配。

  这将使你在设计的初始阶段就和布局工程师一起工作,共同规划PCB的走线、冗余规划、散热问题和信号完整性。FPGA工具可能可以在这些方面提供帮助,并协助你解决这些问题,因此你必须确保了解你的工具包的功能。

  你咨询一位布局专家的时间越晚,你就越有可能需要去处理一些复杂的问题和设计反复,而这些可能可以通过一些前期分析加以避免。一旦你实现了满意的信号分配,你就要用限制文件锁定它们。

  信号完整性

  大多数先进FPGA能够处理速度为数百兆赫兹的并行总线和具有工作在千兆赫兹范围的串行接口。以这么快的速度工作时,你需要了解信号完整性的原理,因为高频信号的处理会给我们精确简单的数字世界带来一连串模拟设计问题。

  安排一些时间阅读FPGA供应商提供的文献。即使你对某个器件或者供应商的信息已经烂熟于心,也有必要参考其他供应商提供的文档,因为不同公司的文档往往有不同的见解。你将会发现在很多问题上不同的供应商拥有不同的观点,如什么会产生高速信号、切换信号之间可以存在多少时延而仍然可以认为它们是同时的等等。FPGA供应商的工具通常可以很好地执行一些基本的信号完整性分析,因此你必须完全了解你所获得的工具包的所有潜能。

  此外,目前市场上有几百种关于信号完整性和降噪的书。如果你是个新手或者需要一个进修课程,你可以考虑阅读Douglas Brooks编写的“信号完整性问题和PCB设计”。如果需要进行更深入的探讨,可以阅读Howard Johnson编写的“高速数字设计”。

  FPGA可能会由于太多的高速SSO而对系统中的信号(或其它FPGA信号)带来严重破坏,因为这会导致称为同时切换噪声(SSN)的噪声。SSN也叫做地反弹或VCC反弹,对于单端标准,SSN是在输出由低到高时提供瞬态电流和由高到低时吸收瞬态电流的过程中,由多个输出驱动器同时切换和导致器件电压与系统电压之间的变化而引起的。

  在高到低的转换引起地反弹时,由低到高转换也会导致VCC下降。由于电容通常安放在VCC和接地层之间,因此SSN典型地存在于这两个地方。由低到高转变时地反弹也有可能出现。 于是,SSO变成了干扰信号,它会产生可能耦合到邻近信号的噪声。对于某个区域而言太多SSO可能会导致电源的扰动。由于以下2个原因,SSO已经变成一个必须认真对待的问题:1. 切换时间大幅下降;2. 过孔尺寸和走线宽度的减小加上更大的板厚度已经推高了板极电感,这将大幅增加出现地反弹的可能性。更大的负载电容也可能导致SSN,虽然程度上会轻一点。当有效VCC低于期望值,从而导致I/O缓存的转换速度低于期望速度时,SSN也可能导致时序问题变得突出起来。

  有几个方法可以减小SSN。有些器件只需通过限制I/O标准的选择就可简化这个问题,但不是所有器件都能这么做。一些供应商建议将高速总线输出分布到整个裸片上,如果SSN是你唯一关注的问题,那么这绝对是一个很好的建议。不过,如果按照这个建议去做,有2个基本问题将会冒出来。

  首先,这可能会带来下游布通性问题,因为将信号散布到整个裸片上经常会引起更多的走线交叉。而这就导致需要更多的信号布线层。其次,大多数设计在散布信号前也要求进行仔细研究,因为当一个总线散布到特定的块或区外时会引起块/区间的兼容性问题。因此,如果你能在考虑布通性的同时,小心地将一个较小的总线分布到一个或两个块/区域内,那么系统将会工作得很好。

  如果你被一个具有相邻高速切换输出的设计所困扰,有好几种技术能帮助你解决潜在的SSN问题。首先对你的设计进行合适的布局和去耦合。对于去耦合,使用距离尽可能近的电源和地平面对,中间用一个SMT电容隔开。使用SMT电容进行去耦合也有助于减小电感,而电感是产生系统噪声的一个主要因素。

  如果你仍然觉得需要使用去耦电容(为了减小SSN),应该使得这些电容的位置尽可能靠近高速输出引脚。Altera的一项研究发现,如果这些电容到引脚的距离大于1英寸,在使用适当的SMT电容去退耦时,这些电容变得效率极低。其他减小SSN或者其可能产生影响的建议包括:避免将敏感信号(复位、时钟和使能等)位于SSO附近;可能时,使用较小偏移的输出和使用最低电感的过孔;通过在合适位置插入延时使得输出信号交替出现。即使已经完成了PCB的生产,这个建议仍然可以应用。

  参考将被连接到FPGA上的器件的相关资料。对于每个器件,确定最大输入低电压门限(单位毫伏)。这是FPGA驱动该器件需要的最大电压,所以该设备仍然可以检测到一个有效逻辑低状态(最大VIL值)。同样,还要确定器件可以容忍且能继续工作的最大输入负脉冲信号(单位毫伏)。

  在某些情况下,最大容许的地反弹可能不是或者不仅是以上给出的值。而是要通过获得最大输入低电压门限的最小值、最大输入负脉冲信号、或者所有器件的最大地反弹来确定最大的系统地反弹。

  然后,根据具有相似负载特点的网络连接的数目和种类对类似的FPGA总线进行分组。接着研究每个部分、区域或者块的电源和接地引脚数目,还有对于所使用的每个I/O标准,每个电源和接地管脚对所允许的SSO数目。这些数目可以用于计算每个组的总电容负载和每个输出驱动的电容,以确定可以容忍的SSO最大值。

  你也应该咨询供应商以确定基于每个块和每一对块你是否超过了推荐的SSO数目,前提是供应商已经研究了这些问题。同时,因为有多个因素会导致SSN,所以最好建立一个具有内置抗噪声性能的鲁棒系统。否则,就使用针对每个引脚限制I/O标准的器件,这样就可以减少可能的SSN问题。

  差分信号

  在FPGA设计中,你可能会发现对差分信号的处理存在最多的争议。类似于SSN,最好从供应商、书籍和用户群获得尽可能多的信息。同时,在确定某个方案前咨询你的布局部门以了解他们推荐的建议和信息。

  主要争论开始于差分信号对是否应该采用宽边耦合还是边缘耦合,以及每对之间到底应该存在多少耦合。答案通常是“根据具体情况确定”,所以需要进行具体研究。

  如果你不能确定对于一个单端信号为什么需要选择差分I/O标准,答案很简单。使用差分信号,你几乎可以完全控制信号的回路。因为这是信号对的一部分,而且理论上在任何一个接地(或者电源)平面上不应该出现来自信号对的电流。

  这里假设走线对具有相等长度,布设在相邻区域且间距不变,走线阻抗恒定且匹配。此外,利用单端信号,你很难控制信号回程,而且测试一个信号的返回也可能徒劳无益。

  差分信号的主要缺点是他们需要两根走线彼此临近。当在一个PCB上分配几百个差分信号时这可能是个难点。但这是布线工程师的问题,不是吗?

    以上是关于嵌入式中-FPGA设计需注意的方方面面的相关介绍,如果想要了解更多相关信息,请多多关注eeworld,eeworld电子工程将给大家提供更全、更详细、更新的资讯信息。

关键字:FPGA  差分信号 引用地址:FPGA设计需注意的方方面面

上一篇:王恩东:25年坚守,只为一颗国产“好心脏”
下一篇:野“芯”勃勃,比亚迪布局芯片市场

推荐阅读最新更新时间:2024-05-03 01:21

使用NI LabVIEW FPGA 与智能 DAQ的自动高电压电击测试
  构成自动化的高电压 (HV) 电击器测试系统,以个别测试 12 组 HV 电击器模块,并可测试不同的产品类型,缩短整体测试时间。   The Solution:   使用 NI LabVIEW FPGA 软件与 NI 智能数据采集 ( DAQ ) 硬件,建立非同步化的环境;所有的 12 个模块均具有独立通讯埠,并可自动执行作业。 测试执行系统为主控制器,可提供使用者界面、主导测试模块的负载与卸载程度,并让测试管理者针对实际装置或装载于测试模块的装置,进行 HV 电击器测试。   "新的自动化系统可透过 FPGA 数位 I/O 通讯功能,非同步执行 12 个模块,并于 48 分钟内测试最多 4 种不同类型的共 12
[测试测量]
使用NI LabVIEW <font color='red'>FPGA</font> 与智能 DAQ的自动高电压电击测试
FPGA与DS18B20型温度传感器通信的实现
DS18B20是DALLAS公司生产的一线式数字温度传感器,采用3引脚TO-92型小体积封装;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。 一线式(1-WIRE)串行总线是利用1条信号线就可以与总线上若干器件进行通信。具体应用中可以利用微处理器的I/O端口对DS18B20直接进行通信,也可以通过现场可编程门阵列(FPGA)等可编程逻辑器件(PLD)实现对1-WIRE器件的通信。 本文介绍利用ACTEL公司的ProASICplus系列FPGA实现与DS18B20的通信功能。FPGA可以将读出DS18B20的48位ID号和12位温度
[工业控制]
Xilinx公布季报,汽车及数据中心营收剧增
Xilinx(赛灵思)截止2020年9月季报显示,收入环比增长5%,部分原因是随着汽车制造业的恢复,其汽车相关芯片销售强劲。总营收为7.67亿美元,净利润为1.94亿美元。 Xilinx最近也宣布,在过去20年里,它已售出10亿个Spartan系列FPGA,这是Xilinx产品系列从未达到的里程碑。 上周,有传闻AMD将以300亿美元收购Xilinx,但Xilinx在周三拒绝讨论此事,花旗集团(Citigroup)的一位分析师最近表示,收购可能性不大。 汽车市场半导体推动汽车、广播和消费类业务较上一季度增长36%。TI周二也报告称,随着汽车工厂从5月份开始重新开工,汽车芯片收入大为改善。 早些时候,Xilinx报道
[嵌入式]
基于FPGA的微处理器内核设计与实现
与传统投片实现ASIC相比 ,FPGA具有实现速度快、风险小、可编程、可随时更改升级等一系列优点,因而得到了越来越广泛的应用。MCS-51应用时间长、范围广,相关的软硬件资源丰富,因而往往在FPGA应用中嵌入MCS-51内核作为微控制器。但是传统MCS-51的指令效率太低,每个机器周期高达12时钟周期 ,因此必须对内核加以改进,提高指令执行速度和效率,才能更好地满足FPGA的应用。 通过对传统MCS-51单片机指令时序和体系结构的分析,使用VHDL语言采用自顶向下的设计方法重新设计了一个高效的微控制器内核。改进了的体系结构,可以兼容MCS-51所有指令,每个机器周期只需1个时钟周期,同时增加了硬件看门狗和软件复位功能,提高
[单片机]
基于<font color='red'>FPGA</font>的微处理器内核设计与实现
从经济学角度看FPGA的作用
当今世界充满了越来越复杂的高科技设备,这些功能过去只是在科幻小说中提到过。当我们使用联网设备并使用手机拍摄高清照片时,很少有人会考虑底层技术。很少有人意识到每个设备内的物理和市场动态所造成的紧张感,这使得每一代设备都越来越难以设计和制造。 对低功耗和更多功能的追求,推动了集成度的发展。反过来,这需要更小的硅几何尺寸,其中要求设计人员采用 28-nm、16-nm、12-nm、7-nm、5-nm 及以上工艺。随着硅工艺几何形状的每一次减少,设计和制造成本都会非线性增加。设计更小的几何形状需要越来越稀有的专业知识、更长的设计时间、增加的设计工具成本和增加的程序风险。 这些呈指数增长的设计成本必须在项目生命周期内运送的设备数量中摊
[嵌入式]
从经济学角度看<font color='red'>FPGA</font>的作用
FPGA为车用MCU提升设计灵活性
  在汽车电子中广为采用的微控制器(MCU)正快速面临时间和成本的压力。使用MCU的主要优势一直以来都是‘创造具有高性价比的高阶系统整合’。然而,在此优势之下,有一些与组件本身相关的潜在成本是超乎于其单价水平的。例如,若选用的组件无法创造所需特性,则必须增加外部逻辑、软件或其他整合组件。   再者,目前汽车终端市场对于需求的变化屡见不鲜,以至MCU很快就变得不适用;许多具有专门特性以及固定专用接口数量的MCU,经过短暂的评估后即无法满足市场需求。因此,系统供货商不得不重新设计硬件及编写相关软件,在某些情况下,甚至必须更换处理器核心。 MCU的困境     MCU制造商正被迫面对会为整个市场带来巨大影响的挑战。MCU是针
[汽车电子]
使用LabVIEW FPGA模块设计IP核
  对于利用LabVIEW FPGA实现RIO目标平台上的定制硬件的工程师与开发人员,他们可以很容易地利用所推荐的组件设计构建适合其应用的、可复用且可扩展的代码模块。基于已经验证的设计进行代码模块开发,将使现有IP在未来应用中得到更好的复用,也可以使在不同开发人员和内部组织之间进行共享和交换的代码更好服用。   代码模块   任一项软件开发工作均包括函数、子例程、对象和代码模块,以及其他较大架构的基础构建模块的开发。当设计一个应用时,各个函数与操作均被识别和实现。然后,这些构建模块被组合与集成以形成更大的应用。通过长期开发不同应用的过程,一个开发小组或团队将创建表示常见操作的代码模块库,并对其进行复用以更快速地构建未来的应用。开
[测试测量]
基于DSP和FPGA的电视观瞄系统设计
   引言   许多光学观瞄系统都增加了电视、红外辅助(周视)观瞄系统,称之为光电观瞄系统。在该系统中,需要用电视或红外成像来精确瞄准目标,但光电系统所在的平台总是处于运动状态,成像器件产生的图像也就随之运动,通过CCD成像器件或红外成像器件得到的图像不能保证观瞄精度。因此,克服平台运动造成的成图像旋转是解决观瞄精度的关键技术之一。目前的常用方法是机械消像旋,很多要求较高的光学系统仍然采用该方案,随DSP及 FPGA 的广泛应用,电子消像旋也应用到了光学观瞄系统上。   这两种方案各有优缺点:机械消像旋可以保证视场不受影响,观瞄精度由成像器件和光学系统决定,缺点是需要一套精密的机械 控制 系统,对小型化的光学观瞄系统而言,有
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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