0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA开发板vs原型验证系统

21克888 来源:厂商供稿 作者:芯华章科技 2022-04-28 14:16 次阅读

在阅读本文之前,读者可以对FPGA芯片的基本含义及原理做基本的了解。FPGA 的全称为Field Programmable Gate Array(现场可编程门阵列),属于专用集成电路中的一种半定制电路,是可编程的逻辑阵列。FPGA 的基本结构包括可编程输入输出单元、基本可编程逻辑单元、数字时钟管理模块、嵌入式块RAM、丰富的布线资源、内嵌专用硬核,以及底层内嵌功能单元。


图1 某FPGA的基本逻辑单元


市售常见的基于FPGA的平台产品包括FPGA开发板、FPGA原型验证系统。既然他们同样都是基于FPGA芯片设计的,为什么规模、功能、成本和价格上有非常大的差异?这要从它们应用场景和设计目标的区别说起:

FPGA开发板:

FPGA开发板的主要场景是“开发基于独立FPGA芯片的IP或应用系统”,其设计目标是精简化、高性能、低成本,并自带合适的外设接口,对调试功能的要求限于在单颗FPGA上用原厂软件调试。

因此其搭载的FPGA芯片通常的容量为小到中等规模,实际应用中,往往用于进行中小规模、特定协议功能芯片的开发,比如涉及以太网、MIPI、NVME/M.2 SSD控制、UART/I2C 控制、HDMI/DVI显示控制等。也有直接把一块FPGA开发板放在一个大型系统之中,起到控制板的作用,这样用户可以灵活地对控制信号做各种调整。也有一些应用场景计算算法用较大容量的FPGA实现,达到高性能和算法灵活性的应用目标。同时,由于中低端的开发板售价适中,FPGA开发板也适合初学者进行学习使用。

其次,部分FPGA开发板也被用在IP和小型芯片设计的开发验证场景。这部分开发板配备大容量的FPGA芯片,甚至是单板配备多片FPGA芯片来适应开发验证场景,一般由用户自己负责手工实现从设计到FPGA功能原型的流程。

FPGA原型验证系统:

FPGA原型验证系统的主要应用场景是“芯片设计过程中搭建软硬件一体的系统验证环境”:一是芯片流片回来前为软件团队提供调试驱动软件的平台,加速芯片上市时间;二是作为芯片仿真验证的一个补充,因为FPGA可以接真实的硬件子卡,跟仿真使用的软件模型有一定差别,有一定机会发现隐蔽的bug ;此外FPGA相对软件仿真以及Emulator速度快,比较适合一些耗时较多的大场景case。故在芯片设计越来越大的情况下,其设计目标是能使用多颗FPGA芯片快速实现高性能的全系统验证原型,并支持该场景下的调试需求。

首先,它搭载的往往是较大容量和多片的FPGA芯片,如Xilinx VU440/VU19P, Intel 的Stratix 10等,那么它就非常适合进行复杂算法、CPU/GPU类型芯片的验证和实现:比如人工智能,多核RISC-V处理器IP等开发环境;如果是SoC芯片或大型IP的开发,那么可以将FPGA系统经过互联扩展容量后,进行验证。

其次,FPGA原型验证系统更重要的目标,是从硬件和软件上支持大型芯片功能原型的各项要求。如低延迟并行IO接口、高带宽Serdes接口、自动化设计分割到多片FPGA并优化性能、多片FPGA的信号调试、原型系统规模的任意缩放、各种软硬件接口扩展方案,等等。这些目标决定了原型验证系统需要更专门的设计,特别是配套的自动化工具,因为对两三片FPGA以上的中大型设计,手工实现设计分割和优化的投入太大,设计团队更需要自动化工具。

区分了FPGA开发板和FPGA 原型验证系统平台的应用场景和设计目标,我们就明白它们为什么会有如此大的差异,本质上就是基于设计目标的功能取舍。下面我们分别介绍一下这2种产品和它们的关键点:

FPGA开发板

我们就先从FPGA开发板说起。为了实现基于FPGA芯片的开发、测试、应用,我们需要再为它加上一系列的外围电路及元件,这样FPGA才能够正常地上电、配置、加载运行程序、提供相应的外设接口及长时间保持稳定的工作状态。以目前最简单的实现方式来看,这就是FPGA开发板。前文提到它的主要场景是为FPGA芯片的直接应用而做开发,因此这类产品的设计重点也在于尽量接近目标应用系统。


图2 Xilinx公司出品的Zynq系列FPGA开发板


首先,从外观上看,单颗FPGA开发板尺寸可以做到很小,通常不会超过一张A4纸的大小,方便摆放和移动。上面布局FPGA 主芯片、电源处理芯片、外部接口部件、电容电阻等分立元件。Xilinx、Intel、Lattice等FPGA原厂都推出过各种各样的开发板。其中不光有传统范畴的FPGA功能开发板,也有采取ARM核 + FPGA架构的SoC解决方案,如Xilinx Zynq、Intel Arria10等等。ARM接口资源丰富、功耗低,擅长进行多媒体显示、逻辑控制;而FPGA擅长进行多通道或高速AD采集、接口拓展,以及高速信号传输等。两者相互结合,可满足各种工业现场应用场景。 其次,从硬件架构上,因为一般自带了很多常用外设接口,而且以单颗芯片的应用为主,所以FPGA开发板对互联和扩展的要求不高,有时会在板上有多颗FPGA芯片互连,但通常不考虑多板之间的高速连接需求,毕竟太大规模的逻辑设计要用到多颗FPGA,运行性能和调试能力会受很大影响。 在软件方面,用户主要依靠FPGA厂商提供的一体化软件(如Xilinx公司的Vivado,Intel公司的Quartus,Lattice公司的Diamond等)来实现FPGA工程的综合及布局布线。当然,也有一些实力威廉希尔官方网站 雄厚的第三方厂商提供了不错的综合工具(如Synplify, Precision等),先由设计源代码得到网表,再交由原厂软件进行布局布线。但以上这些工具都不支持多片FPGA场景,因此FPGA开发板用于超过单片FPGA容量的芯片设计或IP验证时,都只能由用户自己手工做设计分割,这需要解决很多时钟、资源、性能、调试的问题,对工程师要求高,投入时间多。 从市面上的FPGA开发板销售情况来看,目前一些国产厂商占有的份额也很高。他们提供的开发板往往配置了中低端的FPGA芯片(包括有国产及进口的),并自行设计/制造PCB板。配套丰富的学习资料,同时在板上集成了常用的接口模块,如Flash、HDMI、DDR4,PCIe等;加之这些开发板的售价并不昂贵,一般从几百元到几千元人民币不等,适合大专院校和自学的人群购买使用。

FPGA原型平台

随着目前集成电路的不断发展,设计规模的大型化,单颗FPGA板在容量上就显得捉襟见肘,已经无法满足设计需求。首先,以目前国内头部的CPU、GPU设计公司的设计规模,单颗IC芯片的设计体量,需要占用到几十颗Xilinx VU440级别FPGA的情况,已屡见不鲜。 在这种背景之下,FPGA系统供应厂商开始着手研究多颗FPGA的系统解决方案。其中就包括在单块的PCB板上装配多颗FPGA及多个FPGA系统之间进行互联。 经过一段时间的发展和探索,FPGA原型验证平台产品应运而生。之所以经常称之为“平台”或“系统”,首先在硬件结构上比单板形式的FPGA开发板复杂很多,其次FPGA芯片厂商提供的软件工具无法支持这么复杂的多片FPGA实现,需要配套专业的FPGA原型实现相关软件工具。 一套优秀的FPGA原型验证系统,应该具有以下产品特性:

基于模块化的设计/可伸缩的验证平台规模

在保证一定的高速仿真性能的前提下提供验证完整性

提供从软件早期开发到系统级验证的解决方案

提供从综合、自动模块分割 、布局布线、FPGA bit产生、下载,以及在线/离线Debug的整套流程

提供丰富的调测手段,帮助用户快速定位问题,易于Bring Up

提供丰富的接口子板和外部真实设备相连

提供软件接口与外部软件通讯

提供丰富的IO接口,以及高速Serdes接口用于partition互连以及外设子卡的互连


如本文开头所述,复杂算法、CPU/GPU类型芯片的验证和实现都是适合在FPGA原型验证系统上进行的。不过,由于芯片规模的日益大型化,单颗的系统往往已经无法容纳下一个大型的IP/SoC了。 这个时候我们需要把多个原型系统进行互联,把分割后的逻辑下载到所有的系统当中,这样来进行整个设计的验证和调试工作。那么以目前的Partition互联威廉希尔官方网站 手段看,主要分为单端IO、差分LVDS IO和高速Serdes IO (如Xilinx的GTH )互联的方式。 Serdes IO互联可以达到很高的带宽(Bandwidth),但根据收发器内部信号宽度和传输协议的不同,加上串并转换和Encoder/Decoder的时间开销,会产生几十到几百ns的额外延迟,可能影响分布于多颗FPGA芯片上的系统原型性能;而单端IO的延迟一般就在ns级别,故其分割后的系统性能会更高,但这对并行单端IO信号连接器的设计提出了很高的要求,目前包括Synopsys以及芯华章少数FPGA原型平台能够达到1.4Gbps的较高速率。 在实际原型系统的核心设计分割中,单端IO连接器用得更多一些,在连接独立的高速外设和接口时,Serdes高速连接器用得更多一些。这类高速互联接口及其线缆的成本都很高,但对于原型系统的设计目的来说是必须的,这也是为什么FPGA原型系统的价格要远远高于FPGA开发板的原因之一。 说完了硬件方面,再看软件方面,如果用到了多颗的FPGA系统,那么对于大设计的分割问题变得十分重要。对于一个大设计,软件可以自动或者手动的把逻辑分割到几片FPGA当中,根据连线资源情况插入TDM(时分复用)的IP,再对分割后的逻辑进行时序优化;软件能够保留顶层的端口信号名称。从调试方面考虑,需要探及设计的内部的信号。 随着设计规模增大,除了软件运行速度之外,综合阶段进行Timing Driven Synthesis优化的动作,以实现冗余逻辑的优化和时序上的提升,因此软件的算法优化显得十分重要。从性能指标上看,主要是分割的功能正确性、逻辑和时序的优化度及Timing-driven减少hop提升编译性能。利用分布式威廉希尔官方网站 ,减少设计规模对CPU时间和内存造成的影响。 目前,各大原型验证平台供应商都在软件上加大了投入。一款拥有出色的FPGA原型软件工具应具备以下的特点:

综合时进行专门的时序驱动优化

综合阶段充分利用并行化手段降低设计规模对综合时间造成的影响,尽量优化网表的时序和面积

算法优化、能够实现大数量的FPGA自动分割且配置简便综合工具与分割工具配合保留内部信号名称,并与综合工具配合映射信号名称,支持RTL源代码调试

自动产生时钟并处理时钟的分割,对于数片至数十片FPGA的大型设计实现很重要

最大程度保留原来代码设计层次,提高增量编译度和可调试性,分割前后功能保持一致

服务器软件时内存资源控制得当

保证分割结果正确的情况下,耗时短

这样的配套软件,能够一体化地完成综合及分割步骤,将为整个原型验证系统大大加分。随着设计规模的日益增长,用户对软件的综合/分割功能十分注重;软件功能出色,无疑能对硬件系统的销售产生极大的促进;反之,硬件系统做的很大,软件的功能跟不上,甚至要依赖外部的综合或分割工具,无疑为整套系统拖了后腿,无法实现上述的关键功能。

总 结

综上所述,我们再来看一下FPGA开发板、FPGA原型验证系统之间的对比表格:

图3FPGA开发板、FPGA原型验证系统之间的对比表格

下面的图例便于读者更容易的理解它们二者之间的关系:


图4 FPGA开发板和原型系统应用上的交集图示

从应用场景上看,我们看到,FPGA开发板适合小型设计的手工验证、特定协议的开发,及在整个系统中起到控制的作用等等;而FPGA原型系统适合中大型设计和复杂算法的自动化验证及连接真实外围硬件的高性能系统验证/调试,软硬件协同调试等等。在IP验证方面,FPGA开发板和原型系统有一定的重合度。 以上就是关于FPGA开发板和原型验证系统这2种不同的数字设计验证平台的对比介绍,谢谢!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA芯片
    +关注

    关注

    3

    文章

    246

    浏览量

    39795
  • FPGA开发板
    +关注

    关注

    10

    文章

    122

    浏览量

    31499
收藏 人收藏

    评论

    相关推荐

    正点原子fpga开发板不同型号

    正点原子作为国内领先的FPGA开发板供应商,其产品线覆盖了从入门级到高端应用的各个领域。这些开发板不仅适用于学术研究,还广泛应用于工业控制、通信、图像处理等多个领域。 1. 入门级开发板
    的头像 发表于 11-13 09:30 609次阅读

    ARM开发板FPGA的结合应用

    大的功能和更高的灵活性,满足各种复杂应用的需求。 二、ARM开发板FPGA的优势 高性能:ARM处理器具有高性能的特点,可以处理复杂的算法和任务。FPGA则可以实现高速的数字信号处理,两者结合可以实现高性能的嵌入式
    的头像 发表于 11-05 11:42 444次阅读

    盘古22K开发板

    盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载资源丰富,高容量、高带宽,外围接口丰富,不仅适用于高校教学,还可以用于实验项目、项目
    发表于 10-28 17:47

    快速部署原型验证:从子卡到调试的全方位优化

    引言原型验证是一种在FPGA平台上验证芯片设计的过程,通过在FPGA上实现芯片的设计原型,使得
    的头像 发表于 09-30 08:04 623次阅读
    快速部署<b class='flag-5'>原型</b><b class='flag-5'>验证</b>:从子卡到调试的全方位优化

    种草一块国产FPGA开发板,PGL22G开发板,高性价比,轻松掌握国产FPGA

    本帖最后由 jf_25420317 于 2024-7-31 17:59 编辑 盘古22K开发板是基于紫光同创Logos系列PGL22G芯片设计的一款FPGA开发板,全面实现国产化方案,板载
    发表于 07-31 17:11

    RL78/G24快速原型开发板资料包大全

      RL78/G24快速原型开发板资料包大全  RL78/G24 快速原型开发板配备RL78/G24微控制器,是一种专门用于各种应用开发试产
    发表于 06-04 16:21 2次下载

    紫光同创PGL22G开发板|盘古22K开发板,国产FPGA开发板,接口丰富,高性价比

    系统验证。 海量的外围接口,可以充分满足多方位开发需求 盘古22K开发板尺寸图(PGL22G) 盘古22K功能接口框图(PGL22G) 共3路电源,外部输入支持5V * 盘古22K
    发表于 05-23 10:04

    精选推荐!紫光盘古系列FPGA开发板信息汇总

    接口,PCIE接口,方便各类高速通信系统验证;预留一个40pin的10扩展连接器,方便用户在开发平台基础验证模块电路功能。 紫光盘古系列:盘古50Pro开发板 盘古50Pro
    发表于 04-11 11:57

    fpga原型验证平台与硬件仿真器的区别

    FPGA原型验证平台与硬件仿真器在芯片设计和验证过程中各自发挥着独特的作用,它们之间存在明显的区别。
    的头像 发表于 03-15 15:07 1107次阅读

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是
    的头像 发表于 03-15 15:05 1559次阅读

    fpga开发板是什么?fpga开发板有哪些?

    FPGA开发板是一种基于FPGA(现场可编程门阵列)威廉希尔官方网站 的开发平台,它允许工程师通过编程来定义和配置FPGA芯片上的逻辑电路,以实现各种数字
    的头像 发表于 03-14 18:20 1999次阅读

    fpga开发板使用教程

    FPGA开发板的使用教程主要包括以下几个关键步骤。
    的头像 发表于 03-14 15:50 1109次阅读

    fpga开发板与linux开发板区别

    (Field-Programmable Gate Array)是一种可编程逻辑器件,它可以通过编程改变硬件逻辑电路的功能和结构。FPGA采用了可编程的门极,可以根据需要重新配置内部电路,从而实现不同的功能和逻辑关系。而Linux开发板则是一种嵌入式计算机平台,其核心是Li
    的头像 发表于 02-01 17:09 2232次阅读

    原型平台是做什么的?proFPGA验证环境介绍

    proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。
    的头像 发表于 01-22 09:21 1386次阅读
    <b class='flag-5'>原型</b>平台是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>验证</b>环境介绍

    什么是FPGA原型验证FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的威廉希尔官方网站 ,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上
    发表于 01-12 16:13 1210次阅读