Cpu配置方法、cpu配置装置及芯片仿真方法

文档序号:169315 发布日期:2021-10-29 浏览:65次 >En<

阅读说明:本技术 Cpu配置方法、cpu配置装置及芯片仿真方法 (CPU configuration method, CPU configuration device and chip simulation method ) 是由 唐飞 朱佳轶 常志恒 于 2021-07-02 设计创作,主要内容包括:本申请提供了一种CPU配置装置、CPU配置方法及芯片仿真方法,其中,所述CPU配置方法,应用于芯片仿真时通过CPU配置引擎对被测试对象进行配置,所述被测试对象具有多个与CPU相连接的子模块,所述方法包括:为与所述CPU连接的每一所述子模块配置一CPU配置引擎;以及基于每一所述CPU配置引擎配置各子模块。本申请通过例化复制多份CPU配置引擎,分别连接到每一个独立的具有CPU配置接口的子模块上,完成多个子模块配置的并行下载从而缩短了每一个测试用例的仿真时间。同时,支持多种API供用户进行扩展性编程,并为每一个CPU配置引擎搭配后门访问模式,进一步提高配置效率,缩短配置时间,在相同的时间内完成更多测试用例的测试。(The application provides a CPU configuration device, a CPU configuration method and a chip simulation method, wherein the CPU configuration method is used for configuring a tested object through a CPU configuration engine when being applied to chip simulation, the tested object is provided with a plurality of sub-modules connected with a CPU, and the method comprises the following steps: configuring a CPU configuration engine for each sub-module connected with the CPU; and configuring each submodule based on each CPU configuration engine. The method and the device have the advantages that multiple CPU configuration engines are copied in an instancing mode and are respectively connected to each independent sub-module with the CPU configuration interface, and the parallel downloading of the configuration of the sub-modules is completed, so that the simulation time of each test case is shortened. Meanwhile, various APIs are supported for the user to conduct the extensible programming, a back door access mode is matched for each CPU configuration engine, the configuration efficiency is further improved, the configuration time is shortened, and the test of more test cases is completed in the same time.)

CPU配置方法、CPU配置装置及芯片仿真方法

技术领域

本发明涉及集成电路技术领域,尤其涉及一种CPU配置方法、CPU配置装置及芯片仿真方法。

背景技术

在专用集成电路(ASIC)验证流程中,按照层次划分,一般我们会称之为芯片系统级(chip level/system level),子系统级(sub-system level)和模块级(module level/unit level),这样做的好处是便于拆解功能模块,实现人员并行工作协同,提高项目的执行效率。从设计和验证两方面考虑,合适的复杂度模块也有助于估计合适的工作量和人员分配,设计最终是通过模块化来集成,而验证的环境在模块化后,也可以方便在更高级的验证环境中复用。任何测试用例在发送激励前通常都需要通过CPU接口配置DUT内部寄存器或者存储器,使其工作在特定的模式下。当执行芯片系统级和子系统级验证任务时,需要通过CPU接口将系统包含的所有模块配置在对应的工作模式下。

现有技术中,对于一个芯片系统级和子系统级验证环境来说,只会提供一个CPU配置接口,传统的验证流程中,所有的配置信息会利用这个唯一的CPU配置接口,逐条按需下载到对应子模块中。测试用例所需要花费的配置时间完全取决于配置的条目数,条目数越多则花费时间越长。

由于只有唯一的CPU配置接口,每条配置需逐条下载,将耗费大量的配置时间,配置的条目数与仿真配置时间成线性增长关系,随着配置条目数量的增加将大大降低仿真效率。

发明内容

鉴于现有技术中存在的上述技术问题,本申请提供了一种鉴于现有技术由于配置条目数量的增多时将大大降低仿真效率的问题,本发明方法提出一种利用多CPU仿真配置引擎并行完成模块级配置的CPU配置装置及CPU配置方法,以提高系统级仿真任务配置效率。

为了实现上述发明目的,本申请提供了一种CPU配置方法,应用于芯片仿真时通过CPU配置引擎对被测试对象进行配置,所述被测试对象具有多个与CPU相连接的子模块,所述方法包括:为与所述CPU连接的每一所述子模块配置一CPU配置引擎;以及基于每一所述CPU配置引擎配置各子模块。

可选地,所述CPU配置引擎配置有应用程序接口,所述方法还包括:基于所述应用程序接口进行扩展性编程。

可选地,所述CPU配置方法还包括:通过支持后门配置的快速配置下载模式配置各子模块。

为了实现上述发明目的,本申请提供了一种CPU配置装置,应用于芯片仿真时通过CPU配置引擎对被测试对象进行配置,所述被测试对象具有多个与CPU相连接的子模块,包括:多个CPU配置引擎,分别对应与所述多个子模块通信连接,被配置为用于分别配置所述多个子模块。

可选地,所述CPU配置引擎配置有:应用程序接口,以供使用者进行扩展性编程。

可选地,所述应用程序接口被配置为:按照地址的普通读、普通写、突发读、突发写、带掩码写等操作,和/或按照寄存器或存储器名称的普通读、普通写、突发读、突发写、带掩码写等操作。

可选地,所述CPU配置引擎被配置为:支持后门配置的快速配置下载模式,以在无需通过CPU总线的握手逻辑下,实现对各子模块的配置。

为了实现上述发明目的,本申请提供了一种芯片仿真方法,应用上文所述的CPU配置装置或上文所述的CPU配置装置配置被测试对象。

本申请通过例化复制多份CPU配置引擎,分别连接到每一个独立的具有CPU配置接口的子模块上,完成多个子模块配置的并行下载从而缩短了每一个测试用例的仿真时间。同时,支持多种API供用户进行扩展性编程,并为每一个CPU配置引擎搭配后门访问模式,进一步提高配置效率,缩短配置时间,在相同的时间内完成更多测试用例的测试。

附图说明

图1为本申请的实施例中CPU及CPU配置装置的结构示意图;

图2为本申请的实施例中所提供的CPU配置方法的示意图。

具体实施方式

在下文,将参照附图详细描述示范性实施方式。然而,本申请不限于下面的实施方式,而是包括在本公开的技术范围内的各种改变、替代和变形。术语“第一”、“第二”等可以用于解释各种元件,元件的个数并不受这样的术语的限制。这些术语只是用于将一个元件与另一元件区分开。因此,在一个实施方式中被称为第一元件的元件可以在另一实施方式中被称为第二元件。除非上下文有另外的要求,否则单数形式不排除复数形式。

在下面的描述中,术语“包括”或“包含”用于表示特征、数字、步骤、操作、元件、部分或其组合而不排除其他特征、数字、步骤、操作、元件、部分或其组合。

在专用集成电路(ASIC)验证流程中,按照层次划分,一般我们会称之为芯片系统级(chip level/system level),子系统级(sub-system level)和模块级(module level/unit level).这样做的好处是便于拆解功能模块,实现人员并行工作协同,提高项目的执行效率。从设计和验证两方面出发,模块复杂度的适当设计也有助于估计合适的工作量和人员分配,设计最终是通过模块化来集成,而验证的环境在模块化后,也可以方便在更高级的验证环境中复用。通常任何测试用例在发送激励前都需要通过CPU接口配置DUT内部寄存器或者存储器,使其工作在特定的模式下。当执行芯片系统级和子系统级验证任务时,需要通过CPU接口将系统包含的所有模块配置在对应的工作模式下。

对于一个芯片系统级和子系统级验证环境来说,只会提供一个CPU配置接口,传统的验证流程中,所有的配置信息会利用这个唯一的CPU配置接口,逐条按需下载到对应子模块中。测试用例所需要花费的配置时间完全取决于配置的条目数,条目数越多则花费时间越长。

由于只有唯一的CPU配置接口,每条配置逐条下载,将耗费大量的配置时间,配置的条目数与仿真配置时间成线性增长关系,随着配置条目数量的增加将大大降低仿真效率。

为了解决上述技术问题,本实施例提供了一种CPU配置方法,应用于芯片仿真时对被测试对象(DUT)进行配置,被测试对象包括多个子模块,子模块包括模块0至模块7,如图1所示,以CPU包括主CPU及三个子CPU为例,三个子CPU分别为子CPU1、子CPU2及子CPU3,每一子CPU连接多个子模块,其中,子CPU1连接模块0、模块1及模块2,子CPU2连接模块3、模块4、模块5,子CPU3连接模块6、模块7。

本实施例所提供的方法如图2所示,包括:为CPU(主CPU或任意个子CPU)所连接的每一子模块配置一CPU配置引擎(也即图1中的CPU配置引擎0~7);以及基于每一CPU配置引擎配置各子模块。

如此设置,能够使得各子模块并行配置,大大降低了配置CPU所需的时间。

可选地,CPU配置引擎配置有应用程序接口(也称API接口,ApplicationProgramming Interface),API接口是预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。

API接口可以包括:按照地址的普通读、普通写、突发读、突发写、带掩码写等操作,按照寄存器或存储器名称的普通读、普通写、突发读、突发写、带掩码写等操作。用户可以通过自编码的方式调用上述API接口,完成对各自模块的配置代码编写。

可选地,配置CPU的方法还包括:基于应用程序接口进行扩展性编程。

可选地,CPU配置方法还包括:通过支持后门配置的快速配置下载模式配置各子模块。

后门配置的前提是每个对应的CPU配置引擎获取所配置对象的寄存器和存储器的逻辑层级关系,然后通过verilog描述语言所提供的强赋值语句将配置对象的值改写为对应的配置值,或者利用强取值语句将配置对象当前的值读取出来,后门访问的优点是不需要通过CPU总线的握手逻辑,配置过程不消耗仿真时间,在某个时刻完成所有操作,对一个模块中的多个寄存器或者存储器也实现了同步配置,进一步提升了配置效率,大大缩短了配置时间。

可选地,继续参考图1,本实施例提供了一种CPU配置装置,应用于芯片仿真,CPU(主CPU或子CPU)连接多个子模块,包括:多个CPU配置引擎,分别对应与多个子模块通信连接,被配置为用于分别配置多个子模块。

可选地,CPU配置引擎配置有:应用程序接口(未图示),以供使用者进行扩展性编程。

可选地,应用程序接口被配置为:按照地址的普通读、普通写、突发读、突发写、带掩码写等操作,和/或按照寄存器或存储器名称的普通读、普通写、突发读、突发写、带掩码写等操作。

可选地,CPU配置引擎被配置为:支持后门配置的快速配置下载模式,以在无需通过CPU总线的握手逻辑下,实现对各子模块的配置。

可选地,本实施例提供了提供了一种芯片仿真方法,应用上文所述的CPU配置装置或上文所述的CPU配置装置配置DUT。

本申请通过例化复制多份CPU配置引擎,分别连接到每一个独立的具有CPU配置接口的子模块上,完成多个子模块配置的并行下载从而缩短了每一个测试用例的仿真时间。同时,支持多种API供用户进行扩展性编程,并为每一个CPU配置引擎搭配后门访问模式,进一步提高配置效率,缩短配置时间,在相同的时间内完成更多测试用例的测试。

本发明的技术内容及技术特征已揭示如上,然后熟悉本领域的技术人员仍可基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请的权利要求所涵盖。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于机器学习的电流源注入模型建立方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类