基于SoCFPGA的RISC-V硬件测试方法及系统与流程

    专利查询2022-08-26  84


    基于soc fpga的risc-v硬件测试方法及系统
    技术领域
    1.本发明涉及硬件测试领域,特别涉及一种基于soc fpga的risc-v硬件测试方法及系统


    背景技术:

    2.soc fpga即在单一芯片上集成了单核或者双核的arm处理器和fpga逻辑资源的新型soc芯片。相较于传统单一的arm处理器或者fpga芯片,soc fpga既拥有了arm处理器灵活高效的数据运算和事务处理能力,同时又集成了fpga的高速并行处理优势,同时,基于两者独特的片上互联结构,使用时可以将fpga上的通用逻辑资源经过配置,映射为arm处理器的一个或多个具有特定功能的外设,通过axi高速总线进行通信,完成数据和控制命令的交互。
    3.而risc-v则是一个基于精简指令集(risc)原则的开源指令集架构(isa),其架构简单且完全开源的特性可自由地用于任何目的,允许任何人设计,制造和销售risc-v芯片和软件。目前市面上有很多开源的risc-v处理器例如香山risc-v处理器、阿里平头哥的玄铁risc-v系列处理器以及芯来科技的蜂鸟e203开源处理器等等,每个risc-v厂商都有自己相应的硬件测试平台用于测试risc-v处理器功能,硬件测试平台的结构以及使用方法也是大不相同的,这对用户使用来说是极为不便利的。


    技术实现要素:

    4.针对现有技术中存在的问题,提供了一种使用便利且可适配多种risc-v处理器的硬件测试方法及系统,其主要是利用soc fpga的集成了arm处理器和fpga逻辑资源的特性,将各种risc-v处理器配置到拥有丰富的通用逻辑资源的fpga上面去,再利用arm处理器灵活高效的数据运算和事务处理能力对配置到fpga上的risc-v处理器进行调试并测试功能是否正确,这样就节省了用户大量去熟悉各个risc-v厂商提供的硬件测试环境和平台,甚至为了测试和验证risc-v处理器功能而去搭建设计单独的硬件测试平台来实现调试目的的时间。
    5.本发明采用的技术方案如下:一种基于soc fpga的risc-v硬件测试方法,其包括:
    6.步骤1、将risc-v处理器配置在fpga,并完成与hps的总线互连;
    7.步骤2、hps向risc-v处理器发送复位信号,risc-v处理器启动;
    8.步骤3、risc-v处理器向hps发送访问存储以及外设控制信号,对内存和外设控制器进行访问;
    9.步骤4、hps将访问外设控制器产生的数据通过串口打印,完成risc-v测试。
    10.进一步的,risc-v配置方法为:
    11.步骤1.1、将risc-v处理器源代码转换为verilog硬件描述语言代码形式,并根据risc-v处理器内部结构,将不同功能模块进行拆分;
    12.步骤1.2、在intel硬件开发平台中完成risc-v处理器verilog源代码的全流程编
    译,并生成可用于配置fpga的二进制sof文件;
    13.步骤1.3、通过jtag将sof文件烧写到fpga上,完成risc-v处理器在fpga上的配置。
    14.进一步的,在fpga中设置有地址筛选器,配置在hps与risc-v处理器之间的互连总线上,用于将risc-v处理器访问外设控制器产生的相应数据转存到指定内存空间。
    15.进一步的,步骤4中,hps发送内存访问信号访问地址筛选器转存数据的指定内存空间,再通过串口打印指定内存空间内的数据。
    16.本发明还提供了一种基于soc fpga的risc-v硬件测试系统,包括:
    17.fpga,配置有待测试的risc-v处理器,并提供risc-v处理器axi存储总线接口与axi外设控制总线接口;
    18.hps,包括通用输入输出接口,向risc-v发送复位信号;以及axi总线从接口与risc-v处理器axi存储总线接口、axi外设控制总线接口连接进行数据交换;以及uart串口,用于打印risc-v处理器访问外设控制器所产生的数据。
    19.进一步的,还包括地址过滤器,配置在fpga中,设置于risc-v处理器的axi外设控制总线上,用于将risc-v处理器通过axi外设控制总线对外设控制器访问产生的相应数据转存到指定的内存空间。
    20.进一步的,hps发送内存访问信号访问地址筛选器转存数据的指定内存空间,再通过串口打印指定内存空间内的数据。
    21.与现有技术相比,采用上述技术方案的有益效果为:本发明提出的方案使用便利且可适配多种risc-v处理器,节省了用户大量去熟悉各个厂商提供的硬件测试环境和平台,或者为了测试和验证risc-v处理器功能而去搭建设计单独的硬件测试平台的时间。
    附图说明
    22.图1为本发明提出的基于soc fpga的risc-v硬件测试系统组成示意图。
    23.图2为本发明提出的基于soc fpga的risc-v硬件测试方法流程图。
    具体实施方式
    24.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能理解为对本技术的限制。相反,本技术的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
    25.实施例1
    26.如图2所示,本实施例提出了一种基于soc fpga的risc-v硬件测试方法,将各种risc-v处理器配置到拥有丰富的通用逻辑资源的fpga上面去,再利用arm处理器灵活高效的数据运算和事务处理能力对配置到fpga上的risc-v处理器进行调试并测试功能是否正确,节省了用户大量去熟悉各个risc-v厂商提供的硬件测试环境和平台,甚至为了测试和验证risc-v处理器功能而去搭建设计单独的硬件测试平台来实现调试目的的时间。具体方法如下:
    27.步骤1、将risc-v处理器配置在fpga,并完成与hps的总线互连;
    28.步骤2、hps向risc-v处理器发送复位信号,risc-v处理器启动;
    29.步骤3、risc-v处理器向hps发送访问存储以及外设控制信号,对内存和外设控制器进行访问;其中,访问存储信号用于控制hps工作;
    30.步骤4、hps将访问外设控制器产生的数据通过串口打印,完成risc-v测试。
    31.具体的,risc-v处理器配置为:首先将risc-v处理器源代码转换为verilog硬件描述语言代码形式,并根据risc-v处理器内部结构,将不同的功能模块进行拆分,即模块化;再在intel硬件开发平台quartus prime中完成risc-v处理器verilog源代码的全流程编译,并生成可用于配置fpga的二进制sof文件;最后通过jtag将sof文件烧写到fpga上,以完成risc-v处理器在fpga上的配置。
    32.同时,在fpga中设置有地址筛选器,配置在hps与risc-v处理器之间的互连总线上,用于将risc-v处理器访问外设控制器产生的相应数据转存到指定内存空间;其中,地址筛选器设置在axi外设控制总线上。
    33.在本实施例中,所述步骤4中,hps发送内存访问信号访问地址筛选器转存数据的指定内存空间,再通过串口打印指定内存空间内的数据。
    34.当需要对现有的开源risc-v处理器进行二次开发但是不明白该risc-v处理器的硬件具体功能以及使用方法时或者独立完成好一个risc-v处理器设计并需要进行硬件功能测试验证时,采用本实施例提出的测试方法能够有效的进行功能测试。
    35.实施例2
    36.如图2所示,本实施例提供了一种基于soc fpga的risc-v硬件测试系统,包括:
    37.fpga,配置有待测试的risc-v处理器,并提供risc-v处理器axi存储总线接口与axi外设控制总线接口;
    38.hps,包括通用输入输出接口,向risc-v发送复位信号;以及axi总线从接口与risc-v处理器axi存储总线接口、axi外设控制总线接口连接进行数据交换;以及uart串口,用于打印risc-v处理器访问外设控制器所产生的数据。
    39.具体的,图2中hps表示soc fpga整体中的soc/arm处理器部分,fpga则表示fpga/逻辑资源部分。在fpga部分中risc-v表示当前已配置在fpga上的需要进行测试的risc-v处理器。
    40.gpio表示位于hps侧的通用输入输出接口,主要用于向risc-v处理器发送复位信号使risc-v处理器启动。
    41.mem_axi_master和mmio_axi_master则表示由risc-v处理器提供的对外的axi总线接口,分别为axi存储总线接口与axi外设控制总线接口,主要用于将访问信号(master)分别传递给外部存储sdram控制器以及多个外设控制器(slave)以此达到对地址空间进行访问的目的。
    42.f2h_axi_slave则表示连接fpga与hps的axi总线从接口,通过该接口可实现fpga与hps的数据交换。
    43.address_filter模块(地址过滤器)的主要作用是将risc-v处理器通过mmio_axi_master对外设控制器访问产生的相应数据转存到指定的内存空间。
    44.uart则表示位于hps侧的串口外设,主要用于打印访问产生的数据。
    45.在测试时,risc-v处理器配置到soc fpga的fpga部分并完成risc-v处理器存储和
    外设axi总线接口(mem_axi_master、mmio_axi_master)与soc fpga的hps侧的连接fpga和soc的axi总线从接口(f2h_axi_slave)的互连;通过hps侧的通用输入输出口(gpio)对risc-v处理器发送复位信号(reset)以启动risc-v处理器。启动完成后,risc-v处理器立即向hps端发送访存以及外设控制信号,对内存和外设进行访问。
    46.而在外设访问过程中,address_filter模块会将risc-v处理器对外设控制器访问产生的相应数据转存到指定地址空间;最后,由hps读取并打印address_filter模块(地址过滤器)转存到指定内存空间后的数据以及打印risc-v处理器访问内存产生的数据。
    47.需要说明的是,在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接连接,也可以通过中间媒介间接连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义;实施例中的附图用以对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
    48.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。

    技术特征:
    1.基于soc fpga的risc-v硬件测试方法,其特征在于,包括:步骤1、将risc-v处理器配置在fpga,并完成与hps的总线互连;步骤2、hps向risc-v处理器发送复位信号,risc-v处理器启动;步骤3、risc-v处理器向hps发送访问存储以及外设控制信号,对内存和外设控制器进行访问;步骤4、hps将访问外设控制器产生的数据通过串口打印,完成risc-v测试。2.根据权利要求1所述的基于soc fpga的risc-v硬件测试方法,其特征在于,risc-v处理的配置过程为:步骤1.1、将risc-v处理器源代码转换为verilog硬件描述语言代码形式,并根据risc-v处理器内部结构,将不同功能模块进行拆分;步骤1.2、在intel硬件开发平台中完成risc-v处理器verilog源代码的全流程编译,并生成可用于配置fpga的二进制sof文件;步骤1.3、通过jtag将sof文件烧写到fpga上,完成risc-v处理器在fpga上的配置。3.根据权利要求1所述的基于soc fpga的risc-v硬件测试方法,其特征在于,fpga中设置有地址筛选器,配置在hps与risc-v处理器之间的互连总线上,用于将risc-v处理器访问外设控制器产生的相应数据转存到指定内存空间。4.根据权利要求3所述的基于soc fpga的risc-v硬件测试方法,其特征在于,步骤4中,hps发送内存访问信号访问地址筛选器转存数据的指定内存空间,再通过串口打印指定内存空间内的数据。5.基于soc fpga的risc-v硬件测试系统,其特征在于,包括:fpga,配置有risc-v处理器,并提供risc-v处理器axi存储总线接口与axi外设控制总线接口;hps,包括通用输入输出接口,向risc-v发送复位信号;以及axi总线从接口与risc-v处理器axi存储总线接口、axi外设控制总线接口连接进行数据交换;以及uart串口,用于打印risc-v处理器访问外设控制器所产生的数据。6.根据权利要求5所述的基于soc fpga的risc-v硬件测试系统,其特征在于,还包括地址过滤器,配置在fpga中,设置于risc-v处理器的axi外设控制总线上,用于将risc-v处理器通过axi外设控制总线对外设控制器访问产生的相应数据转存到指定的内存空间。7.根据权利要求5所述的基于soc fpga的risc-v硬件测试系统,其特征在于,所述hps发送内存访问信号访问地址筛选器转存数据的指定内存空间,再通过串口打印指定内存空间内的数据。

    技术总结
    本发明提供了一种基于SoC FPGA的RISC-V硬件测试方法,包括:步骤1、将RISC-V处理器配置在FPGA,并完成与HPS的总线互连;步骤2、HPS向RISC-V处理器发送复位信号,RISC-V处理器启动;步骤3、RISC-V处理器向HPS发送访问存储以及外设控制信号,对内存和外设控制器进行访问;步骤4、HPS将访问外设控制器产生的数据通过串口打印,完成RISC-V测试。本发明提出的方案使用便利且可适配多种RISC-V处理器,节省了用户大量去熟悉各个厂商提供的硬件测试环境和平台,或者为了测试和验证RISC-V处理器功能而去搭建设计单独的硬件测试平台的时间。而去搭建设计单独的硬件测试平台的时间。而去搭建设计单独的硬件测试平台的时间。


    技术研发人员:彭诗翰 赵釜 游义全 万毅 田亮
    受保护的技术使用者:重庆海云捷迅科技有限公司
    技术研发日:2022.02.17
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-11405.html

    最新回复(0)