账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
解决FPGA I/O针脚配置的挑战
高密度FPGA设计应用专栏(2)

【作者: Brian Jackson】2008年10月09日 星期四

浏览人次:【7763】

设计人员在把大型FPGA元件整合至PCB时,所面临的主要挑战之一就是I/O针脚配置。基于越来越多的因素,许多设计人员发现定义大型FPGA元件I/O针脚的组态或「针脚输出(pinout)」,以及先进的BGA封装的程序,已变得日趋困难。但若将聪明的I/O规划与各种新工具结合在一起,就可以排除让您头痛的针脚输出程序。


从FPGA到PCB之间定义I/O针脚输出的工作,是决定设计成败的一项重大挑战。设计人员必须从FPGA与PCB的角度来平衡各项需求,并为此两个元件进行平行设计。若过早针对PCB或FPGA最佳化针脚配置,可能会在另一方面产生设计问题。


设计人员必须能预想PCB配置与FPGA实体元件的针脚,以及内部的FPGA I/O焊垫配置与其它相关资源,以了解针脚配置选择会产生的结果。然而,到目前为止,仍未有单一工具或方法能一次解决所有协同设计的问题。


利用协同设计工具处理针脚配置

现在能做的就是结合各种技巧与策略,来最佳化针脚规划流程,并运用新的协同设计工具,像是赛灵思(Xilinx)PinAhead技术,设计出有效的脚位配置方法。赛灵思在10.1版ISE软体设计套件中提供了PinAhead技术。


赛灵思开发一项规则性的方法,并依据此种方法,并考量PCB与FPGA的各项需求,定义出一个初期脚位配置,让每个设计团队得以使用一个相当接近最终版本的针脚配置,尽早展开设计流程。若设计方案在后期因PCB线路配置或内部FPGA效能问题,需要进行变更时,这套方法能让这些问题控制在一定范围,让设计者仅须进行小幅的修改即可。


步骤一:评估各项设计参数

至于应从何处着手呢?应尽早开始规划一个I/O策略。但若没有适合的最佳化工具或完整的网路表(netlist),这项工作将会相当艰巨。


首先,先藉由回答几个问题来检视PCB实体参数与限制:


  • ●偏好的层数、线路宽度、以及导孔尺寸?


  • ●PCB的参数是否会限制使用的FPGA封装种类,像是BGA?


  • ●FPGA在PCB上是否有任何固定的界面位置? 是否有其它晶片、连接器、或配置上的限制?


  • ●哪些高速界面需要特别注意?


  • ●是否能想出一个可提供最短互连距离的配置策略?



规划出一个PCB配置图是很有帮助的–包括所有元件以及重要的界面和汇流排–借以研判最佳的FPGA针脚摆放位置。确定在电路板的两侧,画出准备摆放这些元件的位置。注明需要特别注意的界面,像是高速汇流排以及差动对(如图一所示) 。



《图一 制作一个PCB链接图 》
《图一 制作一个PCB链接图 》

接着再检查FPGA元件的配置,了解矽元件的实体资源。列出使用的各种电压与时脉,开始隔离设计需要的界面。之后研判是否需要I/O界面资源,像是giga收发器(GT)、BUFR、IODELAY和数位时脉管理器,再定义与配置I/O针脚,让两者间的距离拉近。


接下来就是配置各种FPGA资源的位置,像是设计案中的PowerPC、DSP48、以及ARM16。理想的作法是让靠近这些资源的相关I/O去锁定I/O针脚组。试着看看是否能把任何I/O讯号再界面中结合成群组;这对于摆放针脚时会有帮助。最后再决定FPGA的组态模式。


步骤二:定义针脚输出的需求

了解主要FPGA界面,并规划实体配置的模型后,就可开始定义针脚输出。某些研发业者喜欢使用试算表,内含所有必须追踪针脚的I/O讯号。设计人员可依电压、时脉、界面、或汇流排,把它们设定成群组。这种方法相当有用,因为它能帮忙开始建立讯号群组,让群组的成员靠在一起。在这个阶段,亦应找出哪些关键界面必须摆放在元件的特定边缘,或是使用外部实体针脚,来达到最理想的PCB配置。


在检查FPGA与PCB的各项要求,并决定主要界面的位置后,下一步就是根据所有先前标准,开始把针脚设定到I/O针脚组。这是真正开始工作的起点。在目前的流程中,针脚配置是项极费时的工作,须经历尝试-错误-再尝试的流程,以解决任何有关效能与讯号完整性的问题。研发人员以往都是靠自己执行这项工作,因为EDA与任何晶片厂商都没有提供工具来协助设计人员规划这两种元件的配置。


赛灵思针对这项作业推出一款工具,就是包含在10.1版的ISE Foundation?软体工具组的PlanAhead Lite,它是PlanAhead? 软体型设计/分析/电路规划工具的子集。它含有一款名为PinAhead的工具,能解决PCB与FPGA的设计问题,让研发业者更容易完成I/O针脚输出的设定。


在此不详细解说工具的每项功能,而将焦点集中于在配合I/O针脚配置方法下,如何使用这款工具。


步骤三:运用PlanAhead设定针脚输出

PlanAhead环境显示一组检视图,可用来探索测试与指派I/O埠讯号到实体封装针脚,或是晶粒上的I/O焊垫,如图二所示。


《图二 PinAhead环境》
《图二 PinAhead环境》

PinAhead的图形环境几乎和PlanAhead软体相同,在「元件」视图中明确显示矽元件的I/O焊垫和相关资源,在「封装」视图中可看到实体元件的针脚。视图显示I/O埠与实体针脚资讯,可交叉选取,探索各项逻辑设计与实体元件的资源。


在没有设计网路表时,设计人员可使用PinAhead来研究元件的资源,或是启动I/O针脚的规划程序。 「封装针脚」视图根据元件的资料表来显示元件的封装规格,在绝大多数的情况,在规划针脚输出时,不必交互参照元件资料表。封装针脚视图表,依I/O针脚组进行分类,可在元件与封装视图中进行I/O针脚组的交叉选取以及标示。视图明确显示实体针脚位置与晶粒上I/O焊垫位置之间的关系,借此简化选择I/O针脚组的作业。封装针脚的「针脚」视图亦显示I/O针脚组中每个针脚的资讯。


设计人员可使用PinAhead界面从头开始规划I/O埠,也可汇​​入逗号分隔(CSV)格式的试算表档案、HDL来源档案表头、或是合成的网路表和UCF格式的限制档案。 「I/O埠」视图显示您设计方案目前定义的所有I/O埠讯号,汇流排资料夹显示了群组化汇流排以及差动讯号对。


设计人员可透过多种方法在封装针脚与I/O埠视图中对资料进行排序。可切换清单视图,显示分类清单或未整理清单,只要点选一下滑鼠键,就能在封装针脚视图中执行排序功能,显示所有可用的全域时脉或区域时脉针脚。也可以将资料汇出至CSV格式的试算表档案,作为针脚输出规划的起点。


PinAhead还有一个界面,能选择禁止特定的I/O针脚、I/O针脚群(group)、或是I/O针脚组(bank),让PinAhead不要指派I/O埠给它们。可在封装针脚、元件、或封装视图中选择与禁止特定的针脚。例如,可在封装针脚视图中进行排序,以及禁止所有VREF针脚。


PinAhead可把一组相关的I/O埠与汇流排设定成一个「界面」。这种群组功能可简化I/O埠管理与指派的工作,并以一个单位来处理众多彼此相关的I/O埠。界面群组功能让可更轻易检视与管理所有与特定逻辑界面有关的讯号。


可轻易把界面从某个设计方案复制到其他设计方案,或是运用它们产生特定界面的PCB设计符号。在I/O埠视图中,界面会显示成可扩充的资料夹,设计人员可在视图中选取它们,然后拖曳到界面资料夹中,借此加入额外的I/O埠。


当建立I/O埠时,可把它们指派到封装针脚或I/O焊垫。在此之前,建议检查I/O埠的初始PCB互连设计图,并咨询PCB设计人员,以了解想要的位置,以及配置各种I/O埠界面的考量因素。适当的汇流排次序以及边缘近接性,能大大协助PCB绕线作业,并节省设计时间。


设计人员可把个别的针脚、汇流排、以及界面指定到I/O针脚,只要把它们拖曳到元件或封装视图即可。也可利用不同的指派模式,把整个群组的针脚指派到选取的I/O针脚。可用的模式包括 「将I/O埠配置到一个I/O针脚组」、「配置区域内的I/O埠」、以及「依序配置I/O埠」。


每种模式都提供不同的指派方法,把选取的I/O埠指派到针脚。使用这些模式,只要按一下滑鼠,就可看到连结埠数量的资讯。在配置完所有选取I/O埠之前,这种模式会一直持续。


元件视图以图形显示所有时脉区域以及时脉相关的逻辑物件,让用户更容易且直觉地根据时脉来配置I/O。选取某个时脉区域会显示所有I/O针脚组、时脉相关资源、以及相关的元件资源。


PlanAhead软体会尝试维护您的配置校正规则。在设计人员的引导下,工具会把差动讯号对埠指派到适当的针脚对。当以互动模式配置I/O埠时,工具会执行设计规则检查(DRC),以确保合法的配置。


工具预设是在互动DRC模式下执行,但可以选择关闭此模式。工具会检查是否有相冲突的电压、VREF针脚、或I/O标准,以及GT元件附近对杂讯敏感的针脚。当工具发现到错误,就会显示讯息,说明设计者为什么不能把某个I/O埠设定到特定的针脚。


设计人员可启动PinAhead的“Autoplace”指令,让工具自动把所有或任何选取的I/O埠配置给封装针脚。 Autoplace指令会遵循所有I/O标准以及差动讯号对的规则,并适当配置全域时脉针脚。指令也会尝试尽可能把界面配成群组。


元件视图以图形显示所有时脉区域,以及时脉相关的逻辑物件,让用户更容易且直觉化地根据时脉来配置I/O。选取某个时脉区域,会显示所有的I/O针脚组、时脉相关的资源、以及相关的元件资源。这让区域时脉规划的流程更加容易,让用户能探索可用的资源,以及它们的实体关系。


可使用PinAhead来配置设计方案中其他I/O相关逻辑,像是 BU​​FG、BUFR、IODELAY、IDELAYCTRL、以及DCM。又可使用“Find”指令,在PlanAhead中轻易摆放这些物件以及配置站点(site)。想要选择性地探索与扩展逻辑与逻辑连结,可使用工具提供的“Schematic”视图。


设计者也可以使用PlanAhead软体来锁定特定I/O相关逻辑,只要在任何视图中选择想要的逻辑,然后拖曳到元件视图的站点即可。


PlanAhead软体仅允许在适当站点上配置逻辑物件。当一个逻辑物件在设计图中拖曳时,动态游标会指示这些适当的站点位置。


步骤四:执行DRC与WASSO分析验收设计的合法性

当完成针脚配置后,可使用PinAhead诸多DRC规则,执行分析验收DRC,确保设计没有错误后,再执行PlanAhead软体的各种建置工具。工具内含许多I/O与时脉相关的规则,确保I/O配置确实合法。设计者可运用PlanAhead软体DRC对话方块来选择想使用的规则。


若工具发现违反规则的情况,会显示一个DRC结果表,当中列出各项错误。可点选表中的错误项目,以便进一步分析研究。 PlanAhead软体亦含有加权平均同步切换输出(WASSO)的分析功能,根据针脚输出组态,找出潜在的讯号完整性问题。又可在工具中输入PCB设计的各种寄生效应数据;PlanAhead软体会分析各种I/O针脚组和邻近的元件,并回报每个I/O针脚组的使用情形与状态。


步骤五:探索IO针脚输出

设计人员可将PlanAhead软体的I/O埠清单与封装针脚资讯,汇出至CSV格式档案、HDL表头、或UCF档案。 CSV档案内含有关元件所有封装针脚的资讯,还有和设计有关的I/O埠配置以及其组态。从清单中选择封装针脚,是个很好的起点,开始定义试算表中的I/O埠。


也可以使用试算表,自动化产生需要的PCB设计符号,来开始PCB电路设计。有时,这些符号太大; 您必须把它们分成多个符号。您可利用PinAhead产生的界面群组,快速完成这项作业。


以设计符号的形态提供I/O针脚输出组态,让PCB设计人员得到一​​个研发好的PCB设计的良好基础。由于已考量到PCB界面,然后着手设计初期的针脚输出,因此会很接近最终的针脚输出组态。


若需要在配置与绕线时切换针脚,可轻易进行这类变更 – 这些需要切换的针脚极可能位在I/O针脚组中。这种设计方法不会大幅影响FPGA的设计。 PCB与FPGA设计人员可相互传送修改过的针脚输出试算表或UCF档案,让任何修改结果能够同步一致。


设计人员可能会想要把没有使用的针脚,或某些组态针​​脚联结到VCC或GND(接地)端,以便解决杂讯问题以及建置适当的FPGA功能。赛灵思目前着手开发下一版PinAhead的功能,提供一个界面让FPGA设计人员指定这些针脚,并把针脚的连结加入到汇出的CSV试算表档案。这让PCB设计人员能更容易辨识针脚,并妥善连结它们。


结语

展望未来,随着FPGA支援更复杂的功能,以及采用更先进的封装,业者将被迫规划出更精良的FPGA与PCB针脚输出设计方法。虽然设计人员将发现PinAhead Lite能为执行协同设计策略上带来可观的助益,而赛灵思也已着手改良此工具,进一步协助解决各种针脚输出的挑战,顺利完成工作。


(作者为美商Xilinx赛灵思产品行销经理)


相关文章
【PCIe 5.0】性能优越的决定性关键PCB材料选择
以AI平台改变PCB的现场管理模式
专攻低功耗工业4.0应用 可程式化安全功能添防御
氛围灯:汽车大放异彩的新元素
以设计师为中心的除错解决方案可缩短验证时间
comments powered by Disqus
相关讨论
  相关新闻
» TI创新车用解决方案 加速实现智慧行车的安全未来
» AMD扩展商用AI PC产品阵容 为专业行动与桌上型系统??注效能
» 豪威集团汽车影像感测器相容於高通Snapdragon Digital Chassis
» 意法半导体扩大3D深度感测布局 打造新一代时间飞行感测器
» AMD第2代Versal系列扩展自调适SoC组合 为AI驱动型系统提供端对端加速


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK84JANDZ72STACUKK
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw