一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于FPGA原型的SoC软硬件协同验证系统及方法与流程

2022-06-11 05:18:44 来源:中国专利 TAG:

基于fpga原型的soc软硬件协同验证系统及方法
技术领域
1.本发明涉及ic仿真验证领域,尤其涉及基于fpga原型的soc软硬件协同验证系统及方法。


背景技术:

2.在soc设计中,软硬件协同验证就是在芯片流片前在模拟的硬件模型上运行软件,以确保没有硬件设计上的缺陷。软硬件协同验证是面向soc技术而发展起来的一种验证技术,其主要目的是验证soc芯片软硬件接口的功能和时序,解决soc软件和硬件的整合问题,以及在芯片流片之前提前开发和调试应用软件,缩短整个项目的开发周期。
3.目前,软硬件协同验证方法主要有基于仿真平台的协同验证和基于fpga原型的协同验证两大类。
4.基于仿真平台的协同验证就是把开发的仿真组件和硬件设计rtl代码集成到一起,形成一个可以模拟芯片实际工作过程的虚拟环境,各种仿真组件是用来模拟芯片实际工作时的周边器件。与fpga原型验证平台相比,仿真平台成本低,便于快速发现和定位错误,但整体效率较低。
5.基于fpga原型的协同验证方法在验证时采用实际的硬件环境,来模拟芯片在实际环境中的工作情况,比仿真验证环境更具有真实性。先将soc逻辑设计进行综合、布局、布线,在fpga原型验证平台上进行验证,利用fpga可编程的特点,反复修改逻辑设计,直至达到满意的结果,避免多次流片造成的高成本、高风险。验证速度够快,但是不方便进行调试操作。
6.本发明在fpga原型的协同验证方法基础上,提出一种基于成熟架构的、便于调试和移植的高性能soc软硬件协同验证方法。


技术实现要素:

7.本发明提供了基于fpga原型的soc软硬件协同验证系统及方法,以解决上述现有技术的不足,在fpga原型的协同验证方法基础上,提出基于成熟架构的、便于调试和移植的高性能soc软硬件协同验证方法,具有较强的实用性。
8.为了实现本发明的目的,拟采用以下技术:本发明一方面提供了一种基于fpga原型的soc软硬件协同验证系统,包括多台计算机,通过物理接口连接至多台计算机上的至少第一套fpga原型验证平台以及通过物理接口连接至多台计算机上的至少第二套fpga原型验证平台;第一套fpga原型验证平台用于通用接口转接测试验证;第二套fpga原型验证平台用于专用接口转接测试验证。
9.进一步地,第一套fpga原型验证平台包括通过usb连接至多台计算机上的第一调试器,第一调试器通过jtag1连接有第一fpga原型验证板,多台计算机上通过串口和/usb连接有通用接口板,通用接口板连接有第一扩展子板,第一扩展子板连接至第一fpga原型验
证板上,多台计算机通过网口连接有第一soc调试器,第一soc调试器通过jtag2连接至第一fpga原型验证板上。
10.进一步地,第二套fpga原型验证平台包括通过usb连接至多台计算机上的第二调试器,第二调试器通过jtag3连接有第二fpga原型验证板,多台计算机上通过串口和/usb连接有多个专用接口板,专用接口板连接有多个第二扩展子板,第二扩展子板连接于第二fpga原型验证板,多台计算机通过网口连接至第二fpga原型验证板上,多台计算机通过usb连接有第二soc调试器,第二soc调试器通过jtag4连接至第二fpga原型验证板。
11.进一步地,第一调试器通过jtag1向第一fpga原型验证板进行soc原型下载。
12.进一步地,第一soc调试器用于soc软核的程序下载调试。
13.进一步地,第二调试器通过jtag3向第二fpga原型验证板进行soc原型下载。
14.进一步地,第二soc调试器用于soc软核的程序下载调试。
15.本发明另一方面还提供了一种基于fpga原型的高性能soc软硬件协同验证方法,通过基于fpga原型的soc软硬件协同验证系统实现,包括步骤:步骤a,将集成好的rtl代码,通过ise综合后由jtag1或者jtag3下载至第一fpga原型验证板或者第二fpga原型验证板中的主fpga中,以使cpu以软核的方式位于fpga内;步骤b,通过ide把第一soc调试器或者第二soc调试器的开发代码通过jtag2或者jtag4下载到第一fpga原型验证板或者第二fpga原型验证板的主fpga固化的高性能soc内核中,以实现对测试程序的调试;步骤c,通过计算机内的测试软件对通用接口转接测试验证及专用接口转接测试验证;其中,通用接口转接测试验证用于cpu内核性能测试及外设功能的测试验证,专用接口转接测试验证用于用户定制接口及高速总线接口测试验证;步骤d,对通用接口转接测试验证和专用接口转接测试验证的测试代码进行整合。
16.进一步地,通用接口转接测试验证包括步骤:步骤01,通过程控稳压电源向通用接口板提供电源;步骤02,计算机运行其内的测试软件,并使测试软件向通用接口板发出测试函数命令;步骤03,通用接口板向第一扩展子板发送测试激励信号;步骤04,第一扩展板根据通用接口板发出的测试激励信号通过第一fpga原型验证板将信号传输给高性能soc软核;步骤05,高性能soc软核在激励信号作用下,产生的信号数据通过第一扩展子板向通用接口板输出soc处理器输出信号;步骤06,通用接口板根据soc处理器输出信号向计算机发送测试数据包;步骤07,计算机通过测试数据包显示通用接口板的状态、显示cpu内核性能测试结果、显示高性能soc内核的测试结果、以及实时接收通用接口板存储器和寄存器的测试结果,并通过表格显示测试结果。
17.进一步地,专用接口转接测试验证包括步骤:步骤11,计算机内的测试软件向多个专用接口板发送测试函数命令;步骤12,多个专用接口板向多个第二扩展子板发送测试激励信号;
步骤13,多个第二扩展子板根据测试激励信号通过第二fpga原型验证板给高性能soc软核作为信号输入,模拟soc软核内的1553b接口、spacewire接口、xilinx jtag协议转换接口接收输入信号;步骤14,多个第二扩展子板根据高性能soc软核的模拟输入的测试激励信号向多个专用接口板发送soc处理器输出信号;步骤15,多个专用接口板根据soc处理器向计算机发送测试数据包;步骤16,计算机根据测试数据包显示1553b接口测试结果、显示spacewire的配置、模式选择及节点发送、以及提供xilinx jtag协议转换模块下载的fpga测试比特文件。
18.上述技术方案的优点在于:一、本发明通过基于fpga原型的soc软硬件协同验证系统及方法,该系统和方法以验证的复杂性及测试的可实现性为出发点,对验证项进行统型规划,统一接口测试板卡种类。避免设计种类繁多、功能迥异的扩展子板、功能验证板、测试线缆、测试软件。
19.二、通用总线测试板及配套接口板提前设计并调试,在芯片前端关键模块集成后,即可立即开展通用接口功能及时序验证,极大提高了芯片流片前的验证进度,缩短研制周期。
20.三、对于多个ip开发而言,验证主要的差异性体现在外设接口ip上,利用通用总线接口测试,平台复用性强,可方便移植到其他处理器soc、asic、微系统sip等产品的研制中。
21.综上所述,本发明通过设置两套fpga原型验证平台,满足了高性能soc接口分类测试操作,其中,第一套fpga原型验证平台用于通用接口转接测试验证,第二套fpga原型验证平台对专用接口转接测试验证,本发明采用模块化设计思路,改进了基于fpga原型的协同验证方法,本发明提供的系统及方法复用性强,避免了多个系统重复开发,减小了前期准备的工作量,极大提高了芯片流片前的验证进度,缩小软硬件的整合时间,并且可方便设计者开发应用软件,普遍适用于具有多接口的asic芯片设计验证过程,具有较强的实用性。
附图说明
22.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明做进一步的详细描述。
23.图1示出了基于fpga原型的soc软硬件协同验证系统的结构图。
24.图2示出了fpga原型验证板框图。
25.图3示出了通用接口转接测试验证流程图。
26.图4示出了专用接口转接测试验证流程图。
具体实施方式
27.实施例1如图1所示,该实施例提供了一种基于fpga原型的soc软硬件协同验证系统,包括多台计算机,通过物理接口连接至多台计算机上的至少第一套fpga原型验证平台以及通过物理接口连接至多台计算机上的至少第二套fpga原型验证平台。第一套fpga原型验证平台用于通用接口转接测试验证,第二套fpga原型验证平台用于专用接口转接测试验证,其中的物理接口主要包含串口、网口、usb口等。
28.第一套fpga原型验证平台与第二套fpga原型验证平台的区别在于如下:其一,通过不同的扩展子板将fpga验证板上不同功能的i/o引出;其二,第一套fpga原型验证平台只接通用接口板,实现通用接口转接测试验证;第二套fpga原型验证平台可接多块专用接口测试板,实现用户定制的专用接口及高速接口的转接测试验证;该测试网络支持多台计算机交叉数据访问。
29.其中,第一套fpga原型验证平台包括通过usb连接至多台计算机上的第一调试器,第一调试器通过jtag1连接有第一fpga原型验证板,多台计算机上通过串口和/usb连接有通用接口板,通用接口板连接有第一扩展子板,第一扩展子板连接至第一fpga原型验证板上,多台计算机通过网口连接有第一soc调试器,第一soc调试器通过jtag2连接至第一fpga原型验证板上。第一调试器通过jtag1向第一fpga原型验证板进行soc原型下载,第一soc调试器用于soc软核的程序下载调试。
30.其中,第二套fpga原型验证平台包括通过usb连接至多台计算机上的第二调试器,第二调试器通过jtag3连接有第二fpga原型验证板,多台计算机上通过串口和/usb连接有多个专用接口板,专用接口板连接有多个第二扩展子板,第二扩展子板连接于第二fpga原型验证板,多台计算机通过网口连接至第二fpga原型验证板上,多台计算机通过usb连接有第二soc调试器,第二soc调试器通过jtag4连接至第二fpga原型验证板。第二调试器通过jtag3向第二fpga原型验证板进行soc原型下载,第二soc调试器用于soc软核的程序下载调试。
31.其中,该实施例中的fpga原型验证系统连接两套fpga原型验证平台,也可以在此基础上连接多套fpga原型验证平台,但考虑到增加fpga原型验证平台导致成本激增,因此在连接时一般不会超过4套的fpga原型验证平台。由于soc设计的复杂性,选用一款高速大容量的fpga来进行原型验证是必须的。且设计占用的fpga资源不宜超过80%,否则会导致设计电路性能的下降。因此为了满足需求fpga原型验证板采用s2c公司virtex-7 2000t fpga快速soc原型验证硬件,图2为fpga原型验证板框图,fpga片内有2000万个asic gates,完全满足验证的需求。fpga原型验证板上集成了usb、sd插槽、phy等接口,并留有大量i/o口用于连接扩展子板实现功能扩展和调试过程中probe测试需要。
32.其中,fpga原型系统的实现是将高性能soc处理器关键模块集成后的逻辑综合后下载到fpga原型验证板的存储器中,fpga原型验证板上电后,其中的微处理器从fpga原型验证板的存储器中开始获取指令、执行指令,而高性能soc处理器的信号输入输出通过其它外设器件来完成,可达到与高性能soc处理器实际工作过程相同的效果。
33.其中,高性能soc处理器通过asic设计向fpga设计转换后,以rtl代码的形式通过综合、布局布线后下载到fpga原型验证板中,即数字部分全部在fpga原型验证板中实现。fpga设计流程主要分为设计输入、逻辑综合、功能仿真、设计实现、时序仿真、配置下载、板级调试几个步骤。
34.其中,soc验证软件执行流程为,将soc的关键模块集成后的逻辑综合成了rtl代码,就可以在两套fpga原型验证平台上运行验证软件,并进行软硬件的协同验证。在软硬件协同仿真中所用到的测试用例,只需做简单的修改,比如地址空间分配可以快速移植到两套fpga原型验证平台中进行相应模块的fpga级验证,这在一定程度上提高了芯片fpga验证的效率。
35.为了通过上述第一套fpga原型验证平台和第二套fpga原型验证平台方便进行实现通用接口转接测试验证和用户定制的专用接口及高速接口的转接测试验证,因此将高性能soc接口分为两类。
36.通用接口转接测试,主要为cpu内核及低速接口测试,包括:cpu内核性能(dhrystone、coremark、l1-cache、fpu等)及外设功能(gpio、uart、i2c、can、localbus等)测试。
37.专用接口及高速接口的转接测试,主要为用户定制接口及高速接口测试,其中用户定制接口为1553b接口、spacewire、xilinx jtag协议转换模块等测试单元,专用总线接口测试可设计一块或多块专用接口板,通过这种方式提供了功能丰富的专用数据接口,为系统调试提供了各种手段,并且尽可能地覆盖了soc芯片功能。
38.实施例2本发明另一方面还提供了一种基于fpga原型的soc软硬件协同验证方法,通过基于fpga原型的soc软硬件协同验证系统实现,包括步骤:步骤a,将soc处理器关键模块集成好的rtl代码,通过ise综合后由jtag1或者jtag3下载至第一fpga原型验证板或者第二fpga原型验证板中的主fpga中,以使cpu以软核的方式位于fpga内;步骤b,通过ide把第一soc调试器或者第二soc调试器的开发代码通过jtag2或者jtag4下载到第一fpga原型验证板或者第二fpga原型验证板的主fpga固化的高性能soc内核中,以实现对测试程序的调试;步骤c,通过计算机内的测试软件对通用接口转接测试验证及专用接口转接测试验证;其中,通用接口转接测试验证用于cpu内核性能测试及外设功能的测试验证,专用接口转接测试验证用于用户定制接口及高速总线接口测试验证;步骤d,对通用接口转接测试验证和专用接口转接测试验证的测试代码进行整合。
39.其中,第一套fpga原型验证板和第二套fpga原型验证板都可以下载相同功能的高性能soc软核rtl代码,根据对应的扩展子板的连线关系,区别引出管脚的复用关系。也可以将高性能soc软核rtl代码外设接口ip进行划分后,再下载到不同的fpga原型验证板上,方便大规模集成电路设计。
40.如图3所示,通用接口转接测试验证包括步骤:步骤01,通过程控稳压电源向通用接口板提供电源;步骤02,计算机运行其内的测试软件,并使测试软件向通用接口板发出测试函数命令;步骤03,通用接口板向第一扩展子板发送测试激励信号;步骤04,第一扩展板根据通用接口板发出的测试激励信号通过第一fpga原型验证板将信号传输给高性能soc软核;步骤05,高性能soc软核在激励信号作用下,产生的信号数据通过第一扩展子板向通用接口板输出soc处理器输出信号;步骤06,通用接口板根据soc处理器输出信号向计算机发送测试数据包;步骤07,计算机通过反馈数据包显示通用接口板的状态、显示cpu内核性能测试结
果、显示高性能soc内核的测试结果、以及实时接收通用接口板存储器和寄存器的测试结果,并通过表格显示测试结果。通用接口板状态测试,包括初始化是否正常、通用接口状态等。提供在线注入测试程序接口,允许在线修改第一fpga原型验证板软件。显示cpu内核性能(dhrystone、coremark、l1-cache、fpu等)测试结果。显示高性能处理器soc内核(gpio、uart、can、i2c、localbus等)测试结果。通过计算机的测试界面发出测试指令,实时接收通用接口板的存储器和寄存器测试结果进行处理和判断,并且通过表格显示。
41.如图4所示,专用接口转接测试验证与通用接口转接测试验证不同,专用接口转接测试验证是由一块及一块以上的第二扩展子板,以及一块及一块以上的专用接口板完成的。其主要完成用户定制接口及高速总线接口测试。而其中的高性能soc处理器专用总线接口包括:1553b接口、spacewire接口及xilinx jtag协议转换接口。其中,1553b总线是一种命令响应式总线,一主多从工作模式,半双工通信,通信速率是1mbps。其显著特点是高可靠性、强实时性军用串行总线,能够完成信息综合、资源共享、任务协调和容错重构。普遍用于航天电子综合化系统中。spacewire是航天领域普遍关注的一款总线,并显示出广阔的应用前景。其特点是高速、高可靠性、低功耗、错误检测和恢复能力。jtag协议转换模块是被设计用来移位jtag矢量送给相互关联的目标xilinx fpga,支持xilinx fpga的jtag下载和调试。
42.专用接口转接测试验证包括步骤:步骤11,计算机内的测试软件向多个专用接口板发送测试函数命令;步骤12,多个专用接口板向多个第二扩展子板发送测试激励信号;步骤13,多个第二扩展子板根据测试激励信号通过第二fpga原型验证板给高性能soc软核作为信号输入,模拟soc软核内的1553b接口、spacewire接口、xilinx jtag协议转换接口接收输入信号;步骤14,多个第二扩展子板根据高性能soc软核的模拟输入的测试激励信号向多个专用接口板发送soc处理器输出信号;步骤15,多个专用接口板根据soc处理器向计算机发送测试数据包;步骤16,计算机根据测试数据包显示1553b接口测试结果、显示spacewire的配置、模式选择及节点发送、以及提供xilinx jtag协议转换模块下载的fpga测试比特文件。
43.以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献