这款久经考验的FPGA开发结构是您通向完美项目履行的通途。
长久以来新式FPGA的功用和功用现已为它们赢得体系中的中心方位,成为许多产品的首要数据处理引擎。
鉴于FPGA在如此多运用中的重要位置,采纳正式且重视办法的开发流程来处理FPGA规划比以往愈加重要。该流程旨在防止开发周期后期因发现规划缺点而不得不进行费时费钱的规划修正,并且该缺点还或许对项目进展方案、本钱和质量形成灾难性影响。
赛灵思全球通讯服务部一直以来都选用久经考验的规划结构来为其客户开发和交给一揽子FPGA规划,产品包含医疗图画处理工程到自学网络交流工程,包罗万象。该结构在咱们规划、开发以及交给成百上千FPGA规划的进程中得到不断发展和完善。
咱们运用的结构掩盖从体系架构考量到FPGA开发与测验规划等各个环节。咱们从FPGA硬件的视点要点详细介绍该结构,经过介绍期望其他工程团队可以发现该结构在杂乱的FPGA规划项目里边的长处。
结构简介
该结构是一种在FPGA中规划硬件的自上而下的迭代规划办法。首要规划从体系架构层面动身决议方案FPGA功用。随后咱们依据FPGA器材的已知功用和功用逐步优化FPGA规划的特性。
别的,大型FPGA规划的完结需求拟定齐备的开发、仿真和验证规划。该结构的效果便是协助咱们拟定这些规划。简而言之,该结构可概括为图1所示的流程图。本文的评论将会集在规划和技能文档部分(顶部)。
体系架构
就本评论规模而言,体系架构指在体系软件和硬件之间的功用区分。特别,要点是将硬件功用细分到FPGA以及其它微芯片组件上(假定现已明晰产品层面需求),例如市场营销或产品界说部分或许现已参加进来并明晰产品需求。
在体系架构阶段,思路是怎么明晰地让这些产品需求在实在产品中得以完结。就FPGA来说,首要的决议方案围绕着应将哪些特性和功用在FPGA中完结,以及进一步,哪些特性和功用适合在FPGA中完结。
经过提早界说FPGA的高档要求,就能防止开发流程已挨近结尾时进行本钱不菲的规划及需求修正。在规划前期阶段明晰体系架构有助于辅导用户做出对开发时刻和产品本钱至关重要的多项严重决议方案。
在这个层面上讨论,只需求一般性地概略介绍FPGA特性。详细特性和完结需求将在FPGA需求界说进程的后续阶段进行界说。本次讨论的参加者应包含了解体系级要求的、了解体系级架构规划的,以及了解FPGA特性与功用的等不同人员。
详细就FPGA而言,需求答复十大问题:
1. 要在FPGA中完结的特性列表是什么样的?
2. 在FPGA中完结特性与运用非FPGA组件完结特性比较,需在技能上做怎样的权衡取舍?
3. 在FPGA中完结与运用非FPGA组件完结比较,规划作业量/本钱别离怎么?
4. 需求什么样的定制特性或处理?
5. FPGA的灵活性对功用有什么优点?
6. 您应该考虑的未来危险缓解办法是什么?
7. 能否把多个非FPGA组件的特性会集到FPGA中?
8. 依据预备完结的规划特性,怎么挑选FPGA器材?
9. 特性是否能在FPGA中完结?
10. 需求什么样的非FPGA器材,怎么让这些非FPGA器材与FPGA接口相连?
FPGA架构
FPGA架构归于FPGA器材上物理层的微架构级和芯片级数据流规划。您的团队应与体系级架构同步规划该架构,以确认器材尺度、挑选器材和可行性。
图中文字如下:
体系架构、FPGA架构、功用评价、规划与文档、超越FPGA功用、在FPGA功用规模内、FPGA需求界说与区分、FPGA规划规划、FPGA规划开发、FPGA测验开发、未经过仿真测验、编码与仿真、测验评价、经过仿真测验、硬件测验
界说FPGA架构的意图,是保证体系架构需求是精确、实践、切实可行的规划要求,可以在FPGA中完结。
这个层面的讨论需求对FPGA架构和资源的特性与功用有深化的知道。因而应该由经验丰富的FPGA规划人员参加完结。在这个阶段,您有必要考虑与FPGA功用方针、潜在危险要素和FPGA资源利用率。
在FPGA架构界说阶段,您有或许会发现体系级需求和架构无法完结,或是对完结在FPGA中而言存在高危险。在这种状况下您有必要从头评价和更新体系架构,以创立在FPGA中可完结的高档需求列表。
您应问问自己现有IP哪些可供运用,还有必要创立哪些IP。此外,您还需求查看I/O需求,以及把时钟域和时钟特性映射到FPGA时钟资源的办法。其他关键问题包含:怎么在FPGA上布局千兆位收发器(GT)资源;在SSI器材中是否已考虑到穿插SLR数据流;方针时钟频率对规划功用而言是否实践。终究,您还有必要评价您规划的方针功用对挑选的FPGA而言是否实践。
FPGA需求界说与区分
FPGA需求界说和区分阶段与体系和FPGA架构界说严密相关并受这两个阶段的决议方案左右。FPGA需求界说指界说预备在FPGA中完结的详细需求,并用作明晰的特性清单以供规划和测验工程团队规划、测验和完结。FPGA需求界说与体系和FPGA架构需求界说的不同之处在于FPGA需求是精确的。该清单界说了FPGA的翔实要求,而不只仅是体系的不同组件之间的功用区分,或是穿越FPGA的数据流之间的功用区分。
这个阶段的意图是清楚地界说FPGA工程团队切当能完结和测验的内容。在这个阶段,用户将把高档体系和FPGA架构需求转换成用于完结的详细需求。这样做可以带来两层优点。首要,独自界说FPGA需求能杰出着重体系和FPGA架构的任何限制以及之前未曾考虑到或未曾预见到的状况。其次,该过程将为FPGA规划的开发和测验的顺畅履行铺平道路。
为适当地描绘FPGA需求,您有必要树立明晰且短小精悍的界说,以便提炼成独自的需求。咱们主张为各项需求增加标签或序号,运用易于判别其能否完结的简略描绘来界说各项需求,防止用高档迷糊的需求用语。只需满足明晰简明,您可以运用任何行业标准格局或专有格局。
防止运用含糊或界定不清的用语,例如“快速”或“小型”。应坚持运用有明晰方针的用语,如“400MHz”或“4.2K触发器”。这样界说的意图旨在保证将文档分配给之前不了解体系或FPGA架构的开发工程团队进行施行时不再需求重复弄清。您需求查看每个需求是否表述清楚、简练、明晰且是否包含了一切必需的信息以防止重复弄清的必要。此外,还应该留意需求中是否包含管脚和I/O界说?是否一切的高档需求都现已分解为根本规划要素?未参加前期体系架构界说的规划团队是否可以运用这些需求开发FPGA?以及终究测验与验证团队是否能运用该文档开发测验渠道和拟定测验方案,明晰验证每一项需求是否经过。
FPGA规划规划
该结构的这个阶段用于为FPGA硬件的实践开发拟定规划,保证各项特性及开发作业的完结与整个产品开发的其他部分协调共同。
这个阶段的方针是适当地把当时的体系级需求、FPGA级需求和架构表现到开发规划中。在经过前面介绍的规划阶段之后,现在开发团队一般会面对两种状况。
第一种状况是体系与FPGA架构以及需求了解杰出,描绘翔实,终究,FPGA规划开发阶段(即HDL编码)和测验开发阶段(仿真、测验台)根本无需修正规划需求,顺畅履行。
第二种状况是体系架构和FPGA需求依然处在变化中。这样的规划会在规划开发周期和测验开发阶段面对很多变数和修正。
尽管人人都想得到第一种状况的成果,但往往却不能成功,终究落入第二种状况的地步。很明显,这种状况愈加难于办理。
规划规划的整体方针应是在开发周期的这个阶段完结第一种状况。在第一种状况中,FPGA的开发简略直观,只需为完结和测验规划特性组织进展方案。
在第二种状况中,最重要的办理作业是保证执行充沛了解的流程,以便评价和决议应该进行哪些修正以及每种修正为整体开发进展方案带来的影响怎么。这儿可以运用多种项目办理理念和技巧。最重要的一点是完结上述修正评价和影响评价。
就专门的FPGA规划和开发而言,FPGA的优势之一在于可以屡次修订硬件渠道和屡次把硬件渠道下载到原型PCB上。规划团队应充沛发挥这一功用的优势。因而主张的开发规划是逐步把特性增加到可以作业的规划中。其思路是从可以完结首要通讯接口的根本规划动身,无需完结悉数需求就能作业。
这样做可以带来两层优点。首要可以保证随时有一个可作业的规划,您可用来调试PCB和更大型体系。其次,调试实践的FPGA规划会简略得多,由于可以查看新增加的特性,保证新增加的特性不会搅扰或中止当时可作业的规划。
与FPGA规划开发同步,相同重要的是为完结的FPGA规划预备杰出的仿真环境规划。出资开发稳健牢靠的仿真环境,就可以仿制实践数据流,在仿真中重现犯错条件,敏捷阻隔和判别根本原因,然后不只能削减规划缺点,还能明显缩短实验室调试时刻。
开发稳健牢靠的测验仿真环境和开发FPGA自身相同杂乱,需求视同开发FPGA相同规划和考量。
赛灵思全球通讯服务部现已把咱们的FPGA开发结构共同运用于成百上千个FPGA规划中并不断优化完善。成果得到一种切实可行,成效明显,易于了解,能广泛地适用于各种不同开发作业的规划办法。您运用该结构开发新式FPGA规划能取得许多优点,其间包含精确的整体开发进展方案、快速硬件发动,并且终究可以准时发布产品。