如何在N多选择中,为FPGA原型验证系统规划实用高效的接口?

2022-09-19 13:37:57 来源:杨一峰 芯华章科技

 FPGA(Field Programmable Gate Array)原型验证,基于其成本适中、速率接近真实系统环境等优点,受到了验证工程师的青睐。正是由于广泛丰富的应用场景,FPGA 原型系统上往往需要设计各种不同的接口,用以和外界进行数据信号的交换互通,满足不同的使用需求。不同的接口设置与选择,也会极大影响原型验证系统产品的应用范围以及验证效率。因此,如何合理规划接口设置,就成为了一款优秀的原型验证系统必须要考虑的重要问题。

 

首先和大家介绍下目前常见的接口类型。

 

l子卡扩展接口:考虑到使用场景通用性,一套原型平台不可能覆盖到所有协议接口,因此会布局一些用于扩展特定功能子卡的连接器,支持各类协议。这类接口少则几个,多达几十个。

 

lFPGA互联接口:在较大的逻辑设计中,用于多片FPGA 切割处的互联IO之间的连接,一般通过互联电路板或特制线缆这两种形式进行互联。此类接口和上一点谈到的子卡扩展接口往往能够兼容使用。

l高速接口GTH/GTY用来和外部高速数据传输的链路设备或测试仪器相连;接口形式包括如PCI ExpressQSFP+MiniSAS等等; 

l时钟输入/输出接口: 原型系统自身产生时钟输出到外部的设备或其他原型系统的通道;反之,也可以接收外部输入的时钟源。在多个系统互联时,起到时钟同步的作用。

l低速接口:FPGA原型系统通过其连接调试上位机、不同协议的仿真器及逻辑分析仪、低速外设元件等,包括JTAG,UART,I2C,SPI,GPIO,PMOD.

 

关于扩展子卡和用于多片FPGA IO互联的接口

 

此类应用场景最为普遍,我们先列出几种业界较为主流的用于该类功能的连接器:

PHC连接器。PHC连接器的全称为Prototyping High-performance Connector. 从信号的组成来看,其种类较为丰富,包含了电源信号(含管理信号),接地信号,I2C信号(地址/时钟/数据),全局时钟信号,数据信号及保留信号。

 

以芯华章科技(X-EPIC)出品的桦捷HuaPro P1 FPGA原型系统为例,上面搭载了48PHC连接器;每个PHC连接器的可用IO50个。经过实测,HuaPro P1 PHC 连接器IO的单端数据速率最高可达到1.4Gbps,处于业界领先水平.

 

PHC连接器的好处是颗粒度小,使用方便灵活,对于宝贵及有限的FPGA IO资源,能够做到高利用率而不造成浪费。

 

FMC连接器:

FMC英文全称FPGA Mezzanine Card 而这里谈到的FMC连接器(FMC Connector)是其中的组成部分,遵循 VITA 57.1 标准;

物理Pin的数量来区分,包括400 PinFMC HPChigh pin connector160 PinFMC LPClow pin connector两种

 图片1.png

:母板上适用的FMC母头插座

 

 图片2.png

: 子卡上适用的FMC公头插座

 

总体上看,FMC接口从标准上就是为“扣板”形式而定义的,对线缆连接的支持不太理想,成本高而且容易损坏。

 

Prodigy连接器:为部分厂商的FPGA系统所采用的连接器,总体看,其信号组成及电气特性同FMC连接器相仿,区别在于体积略小和总的信号数量相应减少。 

 

综合考虑上述三种连接器的特性,目前看,以PHC连接器的“小型、灵活”的特点,更加适合于子卡的扩展及FPGA系统之间进行互联布局。

 图片3.png

图例: 小巧的PHC连接器Cable


其主要的原因是:

l连接器比较小巧,则在进行线缆或子卡插拔的时候,更容易操作;

l其次,连接线缆不会很粗,布局起来更方便和走线;

lPHC连接器的颗粒度小,那么在子卡的使用率上,IO使用率最高;不会因 为一个大连接器占用很多IO,但实际只用到其中一部分,从而造成系统性浪费的风险;

l根据实际情况,可以定制PHC转其他连接器的转接卡(比如FMC或用户自定义接口),这样对于用户已有的子卡,可以继续兼容使用而不造成浪费。

l最后,互联线缆的成本都不低,从几十,几百、乃至几千美金一根;而包含IO数较少的电缆,在成本方面有优势,一旦出现有损坏、老化的情况,以单根电缆为单位更换的成本最低。

 

 图片4.png

图例: 造型较为宽大的FMC连接器Cable

 

高速接口GTH/GTY

新技术发展下的FPGA芯片,都已基本带有高速Serdes通道。Serdes,是英文Serializer(串行器)/Deserializer(解串器)的简称。它是采用的是点对点(Point to Point)的串行通信技术,充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号的传输速度,从而降低通信成本。这些通道往往也以不同的接口方式连接到FPGA原型系统的接口上。其中包括了PCIE/SATA/Ethernet/QSFP+/MiniSASMCIO等。通过对应的不同接口cable,能够和外部的高速设备或是仪器进行连接。

 

lPCIe (Peripheral component interconnect express)是一种高速串行计算机扩展总线标准,独占通道带宽;传输高速可靠。目前市售的,较为高端的FPGA芯片都原生支持PCIe传输协议。HuaPro P1系统自带 PCIe 3.0的接口可以实现双向 128Gbps的高速数据传输。

 

lQSFP+ 一种能够支持热插拔的光模块,结构紧凑包含四条高速通道,故传输速率可达40GbpsQSFP+ High Performance NetworkData Center等场景应用广泛从协议上看,QSFP+支持的是SFF-8436协议和QSFP 多源协议

 

 图片5.png

图例: QSFP+连接器示例


由于光模块优越的物理特性,它能够把电信号转换为光信号,通过光纤达到远距离传输的效果,然后在对端再转回电信号;并且这样也不会影响信号的质量。

 

l另一种较为常见的高速传输的接口为Mini SASMini SAS连接器符合SFF-8643标准,是一款36针的高密度SAS连接器,符合最新的SAS 3.0规范,并支持12Gb/s数据传输协议。支持最多4通道的高速数据传输。一种典型的应用是Host PC通过Mini SAScable连接到FPGA原型系统,这样可以实现主机和FPGA之间高速通信,达到软硬件协同验证的目的。

 

时下热门的Chiplet技术和高速接口也有着很大的联系,因为裸片之间的超短距离和链路上(裸片互联)数据传输速率将超过100Gbps。这在普通接口上的实现是个几乎不可能完成的任务;而拥有高速传输通道的FPGA平台为Chiplet互连的验证提供了很大的可能性。

 

值得一提的是,芯华章科技(X-EPIC)出品的桦捷HuaPro P1 FPGA原型系统,规划时候充分考虑了用户的潜在高速应用需求,因此,在系统的主体已经集成了上述三种高速接口;而市面上其他的原型系统,很少有做到同时集成,一般需要外接子卡才能使用;这样在进行如服务器机架部署的时候,在空间上产生一定的阻碍及局限性。

 

时钟输入/输出接口

现代的芯片设计规模日益增大,通常有用到多个FPGA系统级联使用的情况,除了前述数据通道的传输,还有一个必要的部分就是进行时钟的传输。这对于同步数字系统尤为重要。

 

l一种方式是采用独立走线的同轴射频连接器;常见的如SMASMBMMCX等接口;当多路时钟传输时,因为线束以‘对’的方式单独走线,故会显得比较杂乱。

 

 图片6.png

图例: SMA/SMB 连接器

 图片7.png

图例: MMCX 连接器

l另外一种更优化的传输方式是采用如下的连接器:Samtec出品的 Q Strip High-Speed Ground Plane Socket Strip;它可以同时传输多路时钟、复位信号;且只需要一根扁平形状的电缆相连。在整个布局上较为简便、美观。芯华章HuaPro P1系统采用这种连接器,并支持最大16P1系统的级联。

 图片8.png

图例: Samtec Q strip 板对板与夹层连接器

 

低速接口

最后我们来看一下FPGA系统上常用的低速接口:

 

lJTAGJoint Test Action Group,联合测试工作组)接口: 主流分为若干种不同IO数,用以FPGA 厂商的JTAG调试器、ARM 调试仿真器等连接使用。JTAG调试接口必须使用VCCGND电源信号,以及TMSTCKTDITDO四根调试信号,分别对应为模式选择、时钟、数据输入和线。随着可用针数增大,另外可选TRSTRESET复位信号和RTCK(同步时钟)信号。

 

 图片9.png

: 三种不同接口的JTAG,分别为20/14/10

lUART口:

通用异步收发器 Universal Asynchronous Receiver/Transmitter,以一种串行形式的,全双工异步通信协议。其通信格式分为起始位、数据位、奇偶校验位、停止位和空闲位等。通过UART接口,FPGA系统和Host上位机相连,可以发送硬件测试中的调试log信息到主机中;相反,主机也可以通过UART口下发一些测试命令及少量的测试数据到FPGA中去。

 

lI2C 接口:

最早由飞利浦公司开发的双向的二进制双线同步串行总线,它属于一种半双工模式;只需SDA(串行数据线)和SCL(串行时钟线)即可连接位于总线上的器件。它的好处是电路接口简单,总线长度达25英尺和支持组件多达40个。在通常的FPGA开发中,I2C往往被用来连接EEPROMLED显示屏、传感器等元件。

 

lSPISerial Peripheral Interface,串行外围设备接口)通讯协议,一种同步的串行接口,需用四根管脚用来控制及数据传输,广泛用于EEPROMFlashADC(数模转换器)及数字信号解码器上,是比较常用及较为重要的通讯协议之一。

 

针对用户对于低速接口的需求,HuaPro P1系统配套的GPIO子卡,单卡上集成了例如多种JTAGUARTCANDB9等接口,同时也支持如1.8V/2.5V/3.3V/5V多种电压的GPIO,用户只需通过一些简单的跳线设置就可以兼容支持。

 

 图片10.png:  HuaPro P1 配套的GPIO子卡及配件图

 

 

小结:以上就是关于FPGA原型验证系统的常见接口介绍。各种接口,不论尺寸大小、速度快慢都有其独到的作用。基于这些五花八门的接口,对用户来说若要人工手动去做原型项目分割、IO复用和时钟处理等工作,是非常麻烦的;因此还是需要原型系统的配套软件工具具有从ASIC设计到FPGA设计的转换、FPGA综合、自动分割、自动化后处理等上述这些技术要点的能力。用户在选择原型产品的时候,需从长远使用状况,综合考虑选用扩展能力强、支持外部协议丰富、子卡/线缆配件成本相对较低,互联形式灵活、方便,及配套软件自动化集成度高的产品。芯华章的HuaPro系列FPGA原型系统产品,给用户提供了软硬件全套的FPGA原型实现工具和平台,能够帮助客户最快完成系统集成验证和软件提前开发的工作。

 


  1. EETOP 官方微信

  2. 创芯大讲堂 在线教育

  3. 威尼斯人在线官网创芯老字号 半导体快讯

相关文章

全部评论

  • 最新资讯
  • 最热资讯
@2003-2022 EETOP