桂林长海发展有限责任公司 广西 桂林 541001
摘要:随着技术发展水平的提升,接口芯片国产化要求越来越高,研究人员在国产PFGA基础上设计SRIO接口,能够有效提高国产芯片的使用效果。因此研究人员应该继续加大对SRIO接口的研究力度,基于FRGA开展内部功能模块设计工作,还需对SRIO接口展开设计,从而提高接口验证的准确性。本文首先分析SRIO接口的基本情况,其次探讨SRIO接口逻辑设计实现情况,以期对相关研究产生一定的参考价值。
关键词:国产FPGA;高速SRIO接口设计;实现
引言:在国产FRGA技术发展水平不断提高的背景下,一些研究人员在FPGA基础上研发设计了高速SRIO接口,推动了我国国产芯片的高速发展。以往在应用芯片时,主要依赖于进口,但是进口芯片价格高昂,在推动国产发展的背景下,基于国产FPGA的SRIO接口应运而生,使得我国很多企业不再需要使用进口芯片,可以使用价格更为低廉的国产化芯片,能够在促进国产芯片发展的同时,避免企业在芯片接口处花费过多的资金。
1国产FPGA平台
本文研究的国产FPGA平台出自紫光同创电子有限公司,性能比较好,属于具备完全自主产权体系、自主开发的套件,这种芯片构成部分主要包括逻辑单元CLM、18KB存储单元DRM、算数处理单元APM、高速串行接口模块HSST、IO模块以及丰富的时钟资源。这种国产FPGA芯片一般需要直接内置在高速串行模块HSST中,数据传输速率能够达到每秒钟6.375 Gb/s,可以灵活使用各类串行协议标准,FPGA内置的HSST接口可以被视为SRIO接口的硬件基础。
2SRIO接口的基本情况
SRIO接口属于开放式比较强的互联网体系结构,这种接口类型属于能够进行交换的新一代高速互联技术,可靠性比较高、延时性比较低,管脚数比较少,接口频率比较高,端口宽度能够进行升级管理,运用这种接口可以顺利解决嵌入式系统串行数据出现的平面连接问题、高速串行数据传输安全稳定性问题、时效性问题。在研究SRIO协议体系的时候,主要包括传输层结构、逻辑层结构、物理层结构, 在SRIO协议体系中这三个结构层可以用来定义串行数据传输环节牵涉的传输机制以及传输特性[1]。
3SRIO接口逻辑设计实现情况
在国产FPGA平台中,需要将FPGA内置管理的HSST模块直接和厂家所提供的SRIOCORE,保证逻辑模拟IPCORE时,读写时序内xilinx内部的rapidio IP core与用户侧时序具有一致性,此时接口速率能够达到每秒钟2.5 Gb/s,在接口模式为1X的时候,然后依次开展SRIO接口设计工作以及验证。
3.1SRIOCORE简介
在用户应用方面,SRIOCORE主要包括四个部分,第一部分,发起模块,主动开展事物发起请求,接收模块能够快速响应本端发起模块所提出的事物请求,第二部分,接收模块,接收端发起模块提出的事物请求,可以依照请求内容做出与之对应的响应。第三部分,时钟管理模块,工作人员应当参照SRIOCORE模块输出的时钟信息作为设计时运用的参考时钟。第四部分,复位模块,通过全面处理系统时钟、配置一些具有标志性的信号,能够顺利形成SRIOCORE的复位信号。
3.2FPGA设计方案
在开展FPGA方案设计时,主要包括SRIOCORE部分、INITIAL MODULE部分、DESTMODULE部分,在展开硬件设计工作时,需要使用125兆赫的差分时钟,能够为HSST参考时钟提供接口。SRIOCORE能够顺利实现协议规定管理中的3个结构层,在管理用户侧接口部分的时候,应当加强用户接口管理、加强用户链路接口,提升对管理接口的管理力度。
用户在应用SRIO core进行数据传输时,需要采用用户接口,用户接口主要包括发起方请求事务、响应事务以及目标方发起事务、响应事务。用户可以直接通过侧接口位置的控制信号以及标志信号管理数据长度、发送方发送消息、目标方发送消息。Initi_module 模块功能在用于可以借助逻辑设计管理SRIOcore发起方事务请求情况、响应事务控制信号时序、标志信号时序。该接口的DSAT MODULE模块可以在逻辑设计的基础上顺利实现SRIO core的目标方事务请求情况、事务响应情况,便于高效管理控制信号、标志信号的时序[2]。
3.3SRIOCORE的设计细节
在开展SRIO CORE细节设计时,用户接口的发起方信号接口和接收方信号接口处于完全独立的状态,经过验证可以发现,使用两块板卡即可以进行通信管理,板卡主要是采用SMA接口实施互联管理。为了验证这种接口的设计效果,需要在FPGA内部位置增设DRAM模块,能够用于储存各种需要进行交互管理的数据信息,而compare_module能够用来对比分析发起方接收数据和发送方数据接收情况。
SRIO core数据处理流程:首先,用户可以采用ireq_byte_count信号管理传输数据的长度,借助ireq_addr 信号能够直接将所控制的数据储存到DRAM2目的地址内,其中FPGAI内部的initialmodule具有直接发起事务请求的读写功能,DEST MODULE具备响应事务请求读写功能的能量。
Initi_module 能够直接从 DRAM1中顺利读取出需要进行发送的数据信息,能够展开写事件请求操作,通过控制、管理开始标志信号、结束标志信号、有效标志信号,能够快速检测备妥信号IREQLRDYN的有效性。将这些数据直接发送到SRIO core时,在完成数据处理后,即可经由SMA接口直接经数据发送到FPGA2中的SRIO core,对于所有完成IPcore处理后的数据而言,TREQ2 XX信后可以将接收到的所有数据依照ireq1_addr设定的目标地址,将这些数据直接储存到DRAM2之中[3]。
Initi_module可以在顺利完成写事件请求以后,按照规定要求执行读事件请求。DEST MODULE在已经接收到读请求以后,可以直接从DRAM2中顺利读取出req1_addr设定发目标地址数据,能够顺利获得读响应信号,通过加强对开始标志信号tresp2_sofn的控制,加大对结束标志tresp2_eofn的控制,强化对有效标志tresp2_sofn的控制,在设定好目标地址数据以后,需要做出读响应,然后检查备妥信号的有效性。
数据在完成SRIO core处理后,即可经由SMA接口直接发送到FPGAID 的SRIO core之中,数据在进行IP core处理以后,可以采用iresp2_xx接收有效的数据信息,通过对比分析接收到的数据信息和发送数据,即可确定这种接口在芯片中的有效性。
3.4验证结果
基于国产FPGA生成的SRIO可以直接通过SMA接口顺利地和XLINX开发板SP605互通连线在一起,直接在这种开发板上搭载一个XC6SLX45T3FGG484 FPGA,即可直接将SP605视为第三方企业验证SRIO接口设计准确性的重要方式,在管理SRIO接口传输类型时,经常需要使用NWRITE模式以及NREAD模式,NREAD模式不要求接收端出现响应,NWRITER要求接收端进行响应,SWRITE可以用于开展读写操作,数据长度需要达到8的整数倍。
在管理数据传输类型时,应该选择使用FTYPE信号还是TTYPE信号进行传输,常用的模式主要包括NWRITE信号以及NREAD信号,在展开测试时,SP605开发板以及国产FPGA可以同时开展NWRITE、NREAD循环操作,在SRIO全双工工作模式之下,即可采用FPGA携带的逻辑分析仪,方可顺利获得接口时序图[4]。通过对比分析FPGA模块以及逻辑分析仪获得的测试图可知,基于国产FPGA设计的SRIO接口能够顺利地和XILINX开发板SP605展开长期通信管理,说明国产FPGA的SRIO接口的安全稳定性比较高。如图表1所示,SRIO接口逻辑设计实现情况主要包括SRIOCORE简介FPGA设计方案SRIOCORE的设计细节验证结果。
图表1 SRIO接口逻辑设计实现情况
序数 | SRIO接口逻辑设计实现情况 |
1 | SRIOCORE简介 |
2 | FPGA设计方案 |
3 | SRIOCORE的设计细节 |
4 | 验证结果 |
结论:综上所述,芯片国产化发展是大势所趋,SRIO接口符合公开发布标准要求,这种接口的特点在于安全可靠性比较高、低延时特性时,应用范围比较广。在国产FPGS平台上,运用中国厂家自主研发设计的IP CORE能够顺利实现SRIO接口设计要求,此时这种接口和XILINXSP605开发板SRIO接口能够正常通信,充分证明FPGA平台上SRIO接口设计的安全稳定性。
参考文献:
[1]孟博,蔡明,张楠.基于FC的自定义高速主机接口单元设计与实现[J].山西电子技术,2022(02):32-33+36.
[2]刘拓. 基于FPGA的高速存储器数据传输接口设计与实现[D].西安电子科技大学,2021.
[3]管箫. 基于JESD204C协议的高速串行接口控制器设计与实现[D].重庆大学,2021.
[4]于东英,陈俊,康令州.基于国产FPGA的高速SRIO接口设计与实现[J].通信技术,2019,52(01):255-258.