SOC级访存验证系统及方法、存储控制器初始化方法与流程
- 国知局
- 2024-12-26 16:10:31
本技术涉及芯片验证,具体而言,涉及一种soc级访存验证系统及方法、存储控制器初始化方法。
背景技术:
1、随着集成电路技术的快速发展,集成电路规模越来越大,成本也越来越高,一次流片的代价很大,为了在有限的时间内对设计进行充分验证,仿真加速验证越发重要。
2、处理器芯片设计中,内存的存储控制器是最重要的模块,所有程序的运行都是在内存中进行的,其作用是存放cpu中的运算数据,以及与硬盘等外部存储设备交换的数据,因此为了确保充分地验证,需要对cpu核访存及外设访存进行充分验证。验证包括部件级访存验证和soc(system-on-chip,片上系统)级访存验证。
3、在部件级访存验证中,包含存储控制器和内存,环境主要以uvm方法学构建,存储控制器初始化序列以事务包的形式通过寄存器接口驱动器发送,存储控制器初始化序列在部件接口上打入,只需几分钟的时间,初始化配置完成后,访存程序序列以事务包的形式通过数据接口驱动器发送,验证程序序列在接口上直接发送,验证速度非常快。
4、在soc级访存验证中,最小环境也需集成处理器核、存储控制器、内存、flash(闪存),激励一般使用汇编或者c语言编写存储控制器初始化序列,转换格式后放入到flash中,处理器核从flash取到存储控制器初始化序列,再发送到各个存储控制器上进行存储控制器初始化配置。soc芯片包含多个存储控制器,对于多个存储控制器系统级初始化配置,按照串行顺序方式进行配置,存储控制器初始化完成后,处理器开始进行正常访存数据通路访问。然而,soc级访存验证的方法和程序实现与部件级访存验证存在很大的差异性,需要重新开发验证程序,验证程序的重开发意味着可能会引入新的程序调试风险,当出现这种风险时,会减缓验证速度。
5、此外,随着集成电路规模越来越大,soc级访存验证规模也逐步增大和复杂化,这就导致验证时存储控制器的初始化需要几个小时甚至一天或几天的时间。而存储控制器的初始化时间过长将严重影响soc的验证效率。
技术实现思路
1、本技术实施例的目的在于提供一种soc级访存验证系统及方法、存储控制器初始化方法,用以提高soc级访存验证的验证速度。
2、本技术实施例提供了一种soc级访存验证系统,包括:多个存储控制器、以及每一存储控制器对应的部件级验证环境;其中:每一所述存储控制器与该存储控制器对应的部件级验证环境连接;目标存储控制器用于:接收所述部件级验证环境下发的存储控制器初始化序列进行初始化;所述目标存储控制器为所述多个存储控制器中的任一存储控制器。
3、在上述soc级访存验证系统中,由于每一所述存储控制器与该存储控制器对应的部件级验证环境连接,因此基于上述soc级访存验证系统,一旦需要进行soc级访存验证,就可以利用各存储控制器对应的部件级验证环境直接向各存储控制器下发部件级访存验证时的存储控制器初始化序列,实现各存储控制器的初始化。这样,一方面可以直接复用各存储控制器对应的部件级访存验证时所使用的存储控制器初始化序列,无需重新进行存储控制器初始化部分的程序重开发,不会引入新的程序调试风险,从而可以提高验证效率;另一方面,由于各存储控制器对应的部件级验证环境可以各自独立地向各存储控制器下发存储控制器初始化序列,那么也就意味着在进行soc级访存验证时,各存储控制器可以并行地进行初始化。这样就可以使得整个soc级访存验证的初始化过程用时可以缩减到接近单一一个存储控制器的部件级初始化用时,整个soc级访存验证的初始化过程用时可以缩减至分钟级,从而降低soc级访存验证过程中存储控制器的初始化用时,进而降低了soc级访存验证的用时,提高了soc级访存验证的验证速度,提高了soc级访存验证的验证效率。
4、进一步地,所述soc级访存验证系统还包括:验证指令下发模块、仲裁模块和内存;其中:不同的所述存储控制器分别与不同的所述内存连接,且各所述存储控制器分别通过不同的所述仲裁模块接入各所述存储控制器对应的部件级验证环境;且所述仲裁模块还与所述验证指令下发模块连接;所述目标存储控制器用于:在初始化阶段,通过所连接的仲裁模块接收所述部件级验证环境下发的存储控制器初始化序列,并以进行初始化;以及,在初始化完成后,通过所连接的仲裁模块接收所述验证指令下发模块下发的验证指令,以进行访存验证。
5、在上述实现方式中,在进行soc级访存验证时,通过仲裁模块的作用,使得存储控制器可以在初始化阶段接收存储控制器初始化序列进行初始化,而在初始化完成后接收验证指令下发模块下发的验证指令进行访存验证。这样即可在复用部件级验证环境中的存储控制器初始化序列完成初始化的同时,完成正常的验证功能,保证验证的正常进行。
6、进一步地,所述部件级验证环境包括:所述存储控制器初始化序列,寄存器代理器,结束控制器;所述寄存器代理器用于向所连接的所述仲裁模块发送所述存储控制器初始化序列;所述结束控制器被配置为在所述存储控制器初始化序列发送完毕后不结束仿真。
7、可以理解,在正常的部件级验证环境中会包括有寄存器代理器,在上述实现方案中,通过复用寄存器代理器实现存储控制器初始化序列的外发,无需额外增加模块。同时,通过设置结束控制器,并配置结束控制器在存储控制器初始化序列发送完毕后不结束仿真,这就使得部件级验证环境可以区别于执行部件级访存验证时的流程,使得在复用部件级验证环境的存储控制器初始化序列实现初始化后,仿真还可以继续进行,进而完成soc级访存验证,提高方案的可靠性。
8、进一步地,所述结束控制器以类形式实现,并具有判断函数;所述判断函数用于:在确定接收到预设的使能信号后,调用目标函数;所述目标函数为能够使仿真不结束的函数。
9、通过上述实现方式,可以很容易地实现在存储控制器初始化序列发送完毕后不结束仿真的功能,实现简单。
10、进一步地,所述部件级验证环境还包括:数据接口驱动器;所述数据接口驱动器被配置为不使用。
11、可以理解,在正常的部件级验证环境中会包括有数据接口驱动器,在上述实现方案中,通过配置数据接口驱动器为不使用,从而防止部件级验证环境产生错误的数据接收或发送操作,从而提高存储控制器初始化序列的下发可靠性。
12、进一步地,所述验证指令下发模块包括:处理器核、验证指令存储模块、网络模块;其中,所述处理器核、所述验证指令存储模块和各所述仲裁模块通过所述网络模块连接;所述验证指令存储模块中存储有验证指令;所述处理器核用于从所述验证指令存储模块中获取验证指令并通过所述网络模块下发给所述仲裁模块。
13、在上述实现方案中,处理器核可以通过从验证指令存储模块中取指(即获取指令)并通过网络模块下发的方式实现对于各存储控制器的访存验证,保证验证的正常进行,提高了方案的可靠性。此外,由于各存储控制器的初始化通过各存储控制器的对应的部件级验证环境完成,因此验证指令存储模块中无需再存储存储控制器初始化序列,因此也就可以降低对于验证指令存储模块的存储能力的需求,提高系统的可实现性。
14、本技术实施例还提供了一种soc级访存验证过程中的存储控制器初始化方法,应用于soc级访存验证系统的目标存储控制器上;所述soc级访存验证系统包括:多个存储控制器以及每一存储控制器对应的部件级验证环境;其中:每一所述存储控制器与该存储控制器对应的部件级验证环境连接;所述目标存储控制器为所述多个存储控制器中的任一存储控制器;所述方法包括:接收所连接的所述部件级验证环境下发的存储控制器初始化序列进行初始化。
15、基于上述实现方案,通过各存储控制器对应的部件级验证环境直接向各存储控制器下发部件级访存验证时的存储控制器初始化序列,实现各存储控制器的初始化。这样一方面可以直接复用各存储控制器对应的部件级访存验证时所使用的存储控制器初始化序列,无需重新进行存储控制器初始化部分的程序重开发,不会引入新的程序调试风险,从而可以提高验证效率;另一方面,由于各存储控制器对应的部件级验证环境可以各自独立地向各存储控制器下发存储控制器初始化序列,那么也就意味着在进行soc级访存验证时,各存储控制器可以并行地进行初始化。这样就可以使得整个soc级访存验证的初始化过程用时可以缩减到接近单一一个存储控制器的初始化用时,整个soc级访存验证的初始化过程用时可以缩减至分钟级,从而降低soc级访存验证过程中存储控制器的初始化用时,进而降低了soc级访存验证的用时,提高了soc级访存验证的验证速度,提高了soc级访存验证的验证效率。
16、本技术实施例还提供了一种soc级访存验证方法,应用于soc级访存验证系统中;所述soc级访存验证系统包括:验证指令下发模块、仲裁模块、内存、多个存储控制器、每一存储控制器对应的部件级验证环境;其中:不同的所述存储控制器分别与不同的所述内存连接,且各所述存储控制器分别通过不同的所述仲裁模块接入各所述存储控制器对应的部件级验证环境;且所述仲裁模块还与所述验证指令下发模块连接;所述方法包括:目标存储控制器通过所连接的仲裁模块接收所述部件级验证环境下发的存储控制器初始化序列,以进行初始化;在初始化完成后,所述目标存储控制器通过所连接的仲裁模块接收所述验证指令下发模块下发的验证指令,以进行访存验证;所述目标存储控制器为所述多个存储控制器中的任一存储控制器。
17、基于上述实现方式,一方面可以直接复用各存储控制器对应的部件级访存验证时所使用的存储控制器初始化序列,无需重新进行存储控制器初始化部分的程序重开发,不会引入新的程序调试风险,从而可以提高验证效率;另一方面,由于各存储控制器对应的部件级验证环境可以各自独立地向各存储控制器下发存储控制器初始化序列,那么也就意味着在进行soc级访存验证时,各存储控制器可以并行地进行初始化。这样就可以使得整个soc级访存验证的初始化过程用时可以缩减到接近单一一个存储控制器的初始化用时,整个soc级访存验证的初始化过程用时可以缩减至分钟级,从而降低soc级访存验证过程中存储控制器的初始化用时,进而降低了soc级访存验证的用时,提高了soc级访存验证的验证速度,提高了soc级访存验证的验证效率。
18、进一步地,所述部件级验证环境包括:结束控制器;在通过所连接的仲裁模块接收所述验证指令下发模块下发的验证指令之前,所述方法还包括:将所述结束控制器配置为在所述存储控制器初始化序列发送完毕后不结束仿真。
19、进一步地,所述验证指令下发模块包括:处理器核、验证指令存储模块、网络模块;其中,所述处理器核、所述验证指令存储模块和各所述仲裁模块通过所述网络模块连接;所述验证指令存储模块中存储有验证指令;其中:通过所连接的仲裁模块接收到的所述验证指令为所述处理器核从所述验证指令存储模块中获取到,并通过所述网络模块下发的验证指令。
本文地址:https://www.jishuxx.com/zhuanli/20241216/348526.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表