SRIO实时在线模拟仿真验证方法、系统及介质与流程

文档序号:17320553发布日期:2019-04-05 21:31阅读:931来源:国知局
SRIO实时在线模拟仿真验证方法、系统及介质与流程

本发明涉及通信技术领域,具体地,涉及srio实时在线模拟仿真验证方法、系统及介质。



背景技术:

现有方案多为srio交互系统、srio互连交互、srio+pcie/srio+sata;这些方案均为srio的应用方案,而非模拟仿真方案。

srio传输速率快,目前协议标准单通道可达10.3125gbps,支持平台包括fpga/dsp/ppc,支持星状/网状/环形/树形/菊花链形等多种拓扑结构,支持256个独立端点及16位大系统地址空间,如此高速、链路复杂的情况下,数据一但出错,很难快速定位出错原因。

目前需要解决的技术问题体现在以下几点:

1)本设计通过软件+硬件平台可完成srio在线可编程实时模拟,支持dps平台/arm平台/ppc平台/vpx机箱;

2)软件可动态设定srio需模拟模式及数据,硬件平台完成多通道数据收发处理,同时本硬件平台可接入真实srio路由或vpx机箱中,验证其他srio板卡软件及硬件是否存在bug。

3)自定义用户层数据帧结构,例如发送dma数据包->门铃中断->寄存器数据帧->消息帧->接收dma数据包。

专利文献cn108156099a(公开号:201711131865.1)公开了一种srio交换系统,其特征在于,包括powerpc微处理器、rapidio交换芯片以及外围电路,rapidio交换芯片通过高速serdes接口与powerpc微处理器互连,实现单路1.25、2.5、3.125、5.0和6.25gbaud可配置的传输速率,5片交换芯片组合实现共48路串行通道、最高240gbps的内部交换带宽;powerpc微处理器通过光电转换模块将电信号转换为光纤信号与交换系统外部实现数据交换;外围电路包括电源模块、时钟模块、复位模块以及中断管理逻辑模块。但该专利文献中所述方案非srio的模拟仿真方案。

专利文献cn103530245a(申请号:201310527634.8)公开了一种基于fpga的srio互联装置,在fpga中设置srio互联模块、fifo模块和srio接口模块,各源器件的数据分别经srio接口模块进入到srio互联模块,经过srio互联模块调度后进入fifo模块,fifo模块将数据传输到srio接口模块,srio接口模块向目的器件输出数据;设srio接口模块提供n个接口,每个接口支持连接一个器件,srio互联模块为每个器件提供一个仲裁器,每个仲裁器相应设一个fifo模块;当某个接口连接的器件为目的器件,目的器件相应的仲裁器对所有源器件从接口输入的数据按数据包进行时分切片调度,调度后的数据包经相应的fifo模块从相应的srio接口输出。但该专利文献中所述方案非srio的模拟仿真方案。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种srio实时在线模拟仿真验证方法、系统及介质。

根据本发明提供的一种srio实时在线模拟仿真验证系统,包括:

fpga内部pl逻辑模块:完成srio协议ip核的传输,完成srio模拟帧及数据帧的收发,完成实时监控及出错信息汇总,通过acp接口完成与fpga内部arm1的实时数据交互及出错信息交互;

fpga内部arm1模块:实现srio模拟仿真功能;

fpga内部arm0模块:实现与主机软件的交互,实现多协议芯片的控制及数据交互;

主机软件平台模块:定制模拟帧及数据,实现模拟时数据监控及错误信息分析。

优选地,所述fpga内部pl逻辑模块包括:

srio协议ip核模块:通过xilinx自带ip核完成srio物理层及链路层功能;实现上位机软件自动配置传输速率;实现上位机软件自动切换通道模式,所述通道模式包括:单通道模式、双通道模式、4通道模式;

srio模拟帧及数据帧收发模块:通过dma方式获取arm1内部ddr3的模拟帧数据及指令,按照相关指令组织与发送端口initiator或目标端口target对应的数据帧,并进行数据帧的发送或接收;

所述数据帧包括以下任一种或任多种:nread帧、nwrite帧、nwrite_r帧、door帧、swrite帧、message帧;

srio实时监控及出错信息汇总模块,包括:

发送端口initiator:监控接收的数据并存入ddr3中;

发送端口initiator:监控门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

发送端口initiator:监控维护帧应答是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控接收的数据并存入ddr3中;

目标端口target:监控其他设备门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控维护帧数据存入ddr3中;

优选地,所述fpga内部arm0模块:

运行petelinux,与上位机进行交互,通过ocm与fpgaarm1进行交互,并实时更新arm1中的c代码,以完成不同模拟协议芯片的定制功能。

优选地,所述主机软件平台模块:

提供可视化模拟流程方案,通过tcp/ip协议与fpga进行数据交互及数据监控和错误数据分析;监控及更新收到帧数据;汇总出错信息,并分析出错节点id及出错时间等;控制整个系统运行状态;实时更新模拟系统。

根据本发明提供的一种srio实时在线模拟仿真验证方法,包括:

fpga内部pl逻辑步骤:完成srio协议ip核的传输,完成srio模拟帧及数据帧的收发,完成实时监控及出错信息汇总,通过acp接口完成与fpga内部arm1的实时数据交互及出错信息交互;

fpga内部arm1步骤:实现srio模拟仿真功能;

fpga内部arm0步骤:实现与主机软件的交互,实现多协议芯片的控制及数据交互;

主机软件平台步骤:定制模拟帧及数据,实现模拟时数据监控及错误信息分析。

优选地,所述fpga内部pl逻辑步骤包括:

srio协议ip核步骤:通过xilinx自带ip核完成srio物理层及链路层功能;实现上位机软件自动配置传输速率;实现上位机软件自动切换通道模式,所述通道模式包括:单通道模式、双通道模式、4通道模式;

srio模拟帧及数据帧收发步骤:通过dma方式获取arm1内部ddr3的模拟帧数据及指令,按照相关指令组织与发送端口initiator或目标端口target对应的数据帧,并进行数据帧的发送或接收;

所述数据帧包括以下任一种或任多种:nread帧、nwrite帧、nwrite_r帧、door帧、swrite帧、message帧;

srio实时监控及出错信息汇总步骤,包括:

发送端口initiator:监控接收的数据并存入ddr3中;

发送端口initiator:监控门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

发送端口initiator:监控维护帧应答是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控接收的数据并存入ddr3中;

目标端口target:监控其他设备门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控维护帧数据存入ddr3中;

优选地,所述fpga内部arm0步骤:

运行petelinux,与上位机进行交互,通过ocm与fpgaarm1进行交互,并实时更新arm1中的c代码,以完成不同模拟协议芯片的定制功能。

优选地,所述主机软件平台步骤:

提供可视化模拟流程方案,通过tcp/ip协议与fpga进行数据交互及数据监控和错误数据分析;监控及更新收到帧数据;汇总出错信息,并分析出错节点id及出错时间等;控制整个系统运行状态;实时更新模拟系统。

优选地,所述主机软件平台步骤:进行模拟仿真参数配置并监控数据;

所述fpga内部arm0步骤:运行linux系统与主机进行命令与数据交互;

所述fpga内部arm1步骤:根据主机软件平台下发命令产生相应srio帧数据;

所述fpga内部pl逻辑步骤:实时与arm1进行数据及指令交互;控制srioip核进行模拟仿真数据发送或接收。

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的srio实时在线模拟仿真验证方法的步骤。

与现有技术相比,本发明具有如下的有益效果:

1、本发明数据帧、协议包等均可由上位机软件自定义组织,通过有规律性数据、有目的性包结构,快速验证整个srio系统是否存在安全隐患;

2、本发明加快了软硬件人员开发进度,快速定位bug,可直接提高工作效率及经济效益;

3、本发明支持多个硬件平台互连,以验证用户系统硬件配置是否正确。

4、本发明采用acpdma通道技术,高速完成fpga与内部arm数据交互,采用250mhz、64bits、burst=16的dma方式,每包数据延迟<100ns,数据吞吐量达到1200mb/s,对于实时性要求极高的芯片也能进行模拟。

5、本发明采用在线实时模拟仿真的验证方案,数据帧、协议包等均可由上位机软件自定义组织,通过有规律性数据、有目的性包结构,快速验证整个srio系统是否存在安全隐患,并支持多个硬件平台互连,以验证用户系统硬件配置是否正确。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明提供的srio实时在线模拟仿真验证方法、系统及介质的srio实时模拟仿真流程示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的一种srio实时在线模拟仿真验证系统,包括:

fpga内部pl逻辑模块:完成srio协议ip核的传输,完成srio模拟帧及数据帧的收发,完成实时监控及出错信息汇总,通过acp接口完成与fpga内部arm1的实时数据交互及出错信息交互;

fpga内部arm1模块:实现srio模拟仿真功能;

fpga内部arm0模块:实现与主机软件的交互,实现多协议芯片的控制及数据交互;

主机软件平台模块:定制模拟帧及数据,实现模拟时数据监控及错误信息分析。

具体地,所述fpga内部pl逻辑模块包括:

srio协议ip核模块:通过xilinx自带ip核完成srio物理层及链路层功能;实现上位机软件自动配置传输速率;实现上位机软件自动切换通道模式,所述通道模式包括:单通道模式、双通道模式、4通道模式;

srio模拟帧及数据帧收发模块:通过dma方式获取arm1内部ddr3的模拟帧数据及指令,按照相关指令组织与发送端口initiator或目标端口target对应的数据帧,并进行数据帧的发送或接收;

所述数据帧包括以下任一种或任多种:nread帧、nwrite帧、nwrite_r帧、door帧、swrite帧、message帧;

srio实时监控及出错信息汇总模块,包括:

发送端口initiator:监控接收的数据并存入ddr3中;

发送端口initiator:监控门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

发送端口initiator:监控维护帧应答是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控接收的数据并存入ddr3中;

目标端口target:监控其他设备门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控维护帧数据存入ddr3中;

具体地,所述fpga内部arm0模块:

运行petelinux,与上位机进行交互,通过ocm与fpgaarm1进行交互,并实时更新arm1中的c代码,以完成不同模拟协议芯片的定制功能。

具体地,所述主机软件平台模块:

提供可视化模拟流程方案,通过tcp/ip协议与fpga进行数据交互及数据监控和错误数据分析;监控及更新收到帧数据;汇总出错信息,并分析出错节点id及出错时间等;控制整个系统运行状态;实时更新模拟系统。

本发明提供的srio实时在线模拟仿真验证系统,可以通过本发明给的srio实时在线模拟仿真验证方法的步骤流程实现。本领域技术人员可以将所述srio实时在线模拟仿真验证方法,理解为所述srio实时在线模拟仿真验证系统的一个优选例。

根据本发明提供的一种srio实时在线模拟仿真验证方法,包括:

fpga内部pl逻辑步骤:完成srio协议ip核的传输,完成srio模拟帧及数据帧的收发,完成实时监控及出错信息汇总,通过acp接口完成与fpga内部arm1的实时数据交互及出错信息交互;

fpga内部arm1步骤:实现srio模拟仿真功能;

fpga内部arm0步骤:实现与主机软件的交互,实现多协议芯片的控制及数据交互;

主机软件平台步骤:定制模拟帧及数据,实现模拟时数据监控及错误信息分析。

具体地,所述fpga内部pl逻辑步骤包括:

srio协议ip核步骤:通过xilinx自带ip核完成srio物理层及链路层功能;实现上位机软件自动配置传输速率;实现上位机软件自动切换通道模式,所述通道模式包括:单通道模式、双通道模式、4通道模式;

srio模拟帧及数据帧收发步骤:通过dma方式获取arm1内部ddr3的模拟帧数据及指令,按照相关指令组织与发送端口initiator或目标端口target对应的数据帧,并进行数据帧的发送或接收;

所述数据帧包括以下任一种或任多种:nread帧、nwrite帧、nwrite_r帧、door帧、swrite帧、message帧;

srio实时监控及出错信息汇总步骤,包括:

发送端口initiator:监控接收的数据并存入ddr3中;

发送端口initiator:监控门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

发送端口initiator:监控维护帧应答是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控接收的数据并存入ddr3中;

目标端口target:监控其他设备门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

目标端口target:监控维护帧数据存入ddr3中;

具体地,所述fpga内部arm0步骤:

运行petelinux,与上位机进行交互,通过ocm与fpgaarm1进行交互,并实时更新arm1中的c代码,以完成不同模拟协议芯片的定制功能。

具体地,所述主机软件平台步骤:

提供可视化模拟流程方案,通过tcp/ip协议与fpga进行数据交互及数据监控和错误数据分析;监控及更新收到帧数据;汇总出错信息,并分析出错节点id及出错时间等;控制整个系统运行状态;实时更新模拟系统。

具体地,所述主机软件平台步骤:进行模拟仿真参数配置并监控数据;

所述fpga内部arm0步骤:运行linux系统与主机进行命令与数据交互;

所述fpga内部arm1步骤:根据主机软件平台下发命令产生相应srio帧数据;

所述fpga内部pl逻辑步骤:实时与arm1进行数据及指令交互;控制srioip核进行模拟仿真数据发送或接收。

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一项所述的srio实时在线模拟仿真验证方法的步骤。

下面通过优选例,对本发明进行更为具体地说明:

优选例1:

如图1所示,本发明基于xilinxzynq的fgpa平台,实现srio实时在线模拟仿真验证。

模拟仿真步骤包括:

主机软件平台进行模拟仿真参数配置并监控数据;

fpga内部arm0运行linux系统与主机进行命令与数据交互;

fpga内部arm1根据主机软件平台下发命令产生相应srio帧数据;

fpga内部pl逻辑通过acpdma方式实时与arm1进行数据及指令交互;acpdma为xilinx公司zynq系列fpga集成的acp从端口dma高速数据传输方式,可直接访问fpga内部arm共享内存,吞吐量可达1200mb/s,且不需arm进行控制,在本系统设计中,采用此方式传输数据可做到每帧数据延迟<100ns,主要针对实时性要求高,数据吞吐量大。

fpga内部pl逻辑控制srioip核进行模拟仿真数据发送或接受

1、与被验证系统的交互:通过可配置srio接口,支持x1/x2/x4,支持链路速率动态可调;

支持光纤接口进行传输;

支持vpx机箱接口进行传输;

2、fpga内部pl逻辑:完成srio协议ip核传输、完成srio模拟帧数据的收发、完成实时监控及出错信息汇总、通过acp接口完成与fpgaarm1的实时数据交互及出错信息交互,方便上位机软件进行监控分析;

2.1、srio协议ip核:

通过xilinx自带ip核完成srio物理层及链路层功能

实现上位机软件自动配置传输速率;

实现上位机软件自动切换x1/x2/x4通道;

2.2、srio模拟帧及数据帧的数据收发:

通过dma方式获取arm1内部ddr3的模拟帧数据及指令,按照相关指令组织initiator模式或target模式的数据帧,包含nread帧、nwrite帧、nwrite_r帧、door帧、swrite帧、message帧,并根据帧长度信息进行发送或接收。

2.3、srio模块实时监控及出错信息汇总模块:

做initiator时:监控接收的数据并存入ddr3中;

做initiator时:监控门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

做initiator时:监控维护帧应答是否存在异常并生成错误信息存入ddr3中;

做target时:监控接收的数据并存入ddr3中;

做target时:监控其他设备门铃、消息中断是否存在异常并生成错误信息存入ddr3中;

做target时:监控维护帧数据存入ddr3中;

与fpga内部arm1通信高速acpdma通道,实时内存一致性处理

通过acpdma通道进行模拟数据实时收发,此方式直接映射arm1核中ddr3内存,采用250mhz、64bits、burst=16的dma方式,每包数据延迟<100ns;

3、fpga内部arm1程序,srio模拟仿真功能实现:

3.1、按照上位机软件命令,组织相应srio模拟数据帧,并存入ddr3中供pl部分提取;

3.2、实施监控pl端传入的监控数据及出错信息,并存入ddr3中供pc软件提取分析;

3.3、模拟流程:

模拟门铃帧:可自由设定不同门铃信息、门铃发送间隔进行测试;

模拟message帧:可自由设定信箱、信件、消息及其长度、发送间隔进行测试;

数据帧:nread/nwrite/nwrite_r/swrite各个帧头、数据、长度、发送时间间隔均按照上位机软件进行配置产生帧数据;

维护帧:可自由设定维护帧跳数、寄存器等相关信息;

目的id与源id模拟:可按需自动更改id号进行测试。

4、fpga内部arm0运行petalinux,实现与主机软件交互,多协议芯片控制、数据交互:

运行petelinux,通过千兆网络与上位机进行交互,通过ocm与fpgaarm1进行交互,并可实时更新arm1中的c代码,以完成不同模拟协议芯片的定制功能。

5、主机软件平台:模拟帧及数据定制、模拟时数据监控及错误信息分析

5.1、提供可视化模拟流程方案,通过tcp/ip协议与fpga进行数据交互及数据监控和错误数据分析。

5.2、监控数据:监控及更新收到帧数据

5.3、错误分析:出错信息汇总,并分析出错节点id及出错时间等;

5.4、控制模块:控制整个系统运行状态

5.5、更新模块:实施更新模拟系统

传输实时性:延迟低,速率快

本系统中fpgapl部分到arm部分通信采用acpdma方式,每包数据传输延迟<100ns,最快速率可达1200mb/s;fpgaarm部分到上位机软件采用千兆网络,超时传输延迟<10us。

模拟仿真功能:

本系统可模拟srio所有帧结构及数据,以及srio网络上的任意一个节点发送模拟数据或接受仿真数据。

实施举例1:实现srio路由及dsp6678平台下的仿真验证功能,通过本系统快速配置srio路由器并使其正常工作,完成向dsp6678平台传输各种帧数据,验证dsp软件配置是否存在错误;

实施举例2:装入vpx机箱中,验证vpx系统各节点工作是否正常,并作为一个节点监控主机传输数据。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1