一种基于Spike模拟器的RISC-VCPU功能单元建模方法与流程

allin2026-08-28  7


本发明涉及cpu设计领域,具体而言,涉及一种基于spike模拟器的risc-v cpu功能单元建模方法。


背景技术:

1、传统的riscv cpu设计和前仿真与验证过程简单描述为以下四个步骤:

2、(1)cpu总体架构和微架构设计阶段;

3、(2)cpu功能描述阶段,详细描述cpu各个模块及功能;

4、(3)rtl编码阶段,设计人员将使用硬件描述语言进行rtl编码,实现各个模块的功能;

5、(4)仿真与验证阶段,使用仿真工具,验证各个模块的功能是否正确,及其他测试工作;等一系列步骤。

6、由以上过程可知,在riscv cpu设计之后、仿真与验证之前,需要将riscv cpu模块进行rtl编码才能对riscv cpu设计的正确性进行检验。


技术实现思路

1、本发明提供一种基于spike模拟器的risc-v cpu功能单元建模方法,用以解决上述现有技术存在的技术问题。

2、为达到上述目的,本发明提供了一种基于spike模拟器的risc-v cpu功能单元建模方法,其包括:

3、s1:在risc-v cpu功能单元设计阶段,为risc-v cpu功能单元构建systemverilog模块sim_intf,作为该建模方法的应用场景,risc-v cpu功能单元包括取指单元和执行单元;

4、s2:在system verilog中创建一个类simproxy,类simproxy具有以下四种建模功能:runat执行具体指令功能、rununtil执行至具体指令时停止功能、decistream指令译码功能以及revertto回退功能,四种建模功能供sim_intf应用;

5、s3:创建c语言函数库,通过dpi-c在verilog中调用c语言函数实现类simproxy的四种建模功能;

6、s4:对spike模拟器进行扩展,使得spike模拟器能够接收外部传入的建模功能请求并执行;

7、s5:为risc-v cpu功能单元构建模型时,sim_intf调用类simproxy的建模功能,对risc-v cpu功能单元进行建模,建模过程中需要执行的建模功能请求由tcp传输至spike模拟器执行并且由spike模拟器返回执行结果,根据执行结果判断risc-v cpu功能单元的正确性。

8、在本发明的一实施例中,c语言函数库进一步提供c函数接口,使用sc tests库通过c函数接口对四种建模功能进行正确性测试。

9、在本发明的一实施例中,步骤s5中,进一步通过uvm搭建仿真环境验证构建的模型是否正确。

10、在本发明的一实施例中,runat执行具体指令功能的实现方法为确定具体指令的pc值;

11、rununtil执行至具体指令时停止功能的实现方法为设置循环,循环停止条件为执行到设定pc值时,循环体内为执行下一条指令的函数;

12、decistream指令译码功能的实现方法为将256个字节进行划分成各个指令,过程中判断划分2、4、6、8个字节后指令是否有效;

13、revertto回退功能的实现方法是每次执行保存寄存器和内存相关数据,有限的回退n步,以n步前保存的寄存器和内存相关数据覆盖掉当前数据。

14、在本发明的一实施例中,步骤s5中,spike模拟器设置一等待时间,以接收由tcp传输至spike模拟器的建模功能请求。

15、本发明提供的基于spike模拟器的risc-v cpu功能单元建模方法具有以下有益技术效果:

16、(1)为设计人员在risc-v cpu功能单元设计阶段提供仿真环境和建模功能,以快速验证cpu设计的合理性,解决了编写rtl代码实现cpu各模块后才能进行验证的问题,简化cpu功能单元设计和验证的过程;

17、(2)以简洁的方式对spike进行扩展,使其可以接收外部传送的特定建模功能请求(如指令译码、执行等)并执行仿真操作,通过增加建模功能指令,从而有效应用于risc-vcpu功能单元建模的过程中;增加了system verilog类中的建模功能,并通过c语言进行具体实现。以上功能为cpu功能单元的建模提供了有效方案,且可以验证cpu功能单元设计的正确性,省略了rtl编码的复杂过程。

18、(3)risc-v cpu功能单元包括了取指单元和执行单元,使得本发明的应用范围更加广泛、应用场景更加多样化。

19、(4)本发明不仅限于参与risc-v cpu功能单元的建模过程,应用过程中也包含其他的作用。首先,可以将建模功能的执行结果建立成参考模型,成为其他指令执行结果作为的对比基准,便于设计人员对cpu的功能进行验证。其次,建模功能可以为设计人员建立的其他模型提供指令流,作为一种外部激励的形式存在。

20、综上,本发明与现有技术相比,存在明显优势,并且应用场景和具体作用均十分广泛。



技术特征:

1.一种基于spike模拟器的risc-v cpu功能单元建模方法,其特征在于,包括:

2.根据权利要求1所述的基于spike模拟器的risc-v cpu功能单元建模方法,其特征在于,c语言函数库进一步提供c函数接口,使用sc tests库通过c函数接口对四种建模功能进行正确性测试。

3.根据权利要求1所述的基于spike模拟器的risc-v cpu功能单元建模方法,其特征在于,步骤s5中,进一步通过uvm搭建仿真环境验证构建的模型是否正确。

4.根据权利要求1所述的基于spike模拟器的risc-v cpu功能单元建模方法,其特征在于,

5.根据权利要求1所述的基于spike模拟器的risc-v cpu功能单元建模方法,其特征在于,步骤s5中,spike模拟器设置一等待时间,以接收由tcp传输至spike模拟器的建模功能请求。


技术总结
一种基于Spike模拟器的RISC‑V CPU功能单元建模方法,包括:S1:为RISC‑V CPU功能单元构建System Verilog模块sim_intf;S2:在System Verilog中创建一个类SimProxy;S3:创建C语言函数库;S4:对Spike模拟器进行扩展;S5:为RISC‑V CPU功能单元构建模型时,sim_intf调用类SimProxy的建模功能,对RISC‑V CPU功能单元进行建模,建模过程中需要执行的建模功能请求由TCP传输至Spike模拟器执行并且由Spike模拟器返回执行结果,根据执行结果判断RISC‑V CPU功能单元的正确性。

技术研发人员:姜志颖,冯泽坤,常晓涛,范东睿
受保护的技术使用者:苏州睿芯集成电路科技有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-30759.html

最新回复(0)