CN113496108B - 一种应用于仿真的cpu模型 - Google Patents
一种应用于仿真的cpu模型 Download PDFInfo
- Publication number
- CN113496108B CN113496108B CN202110726312.0A CN202110726312A CN113496108B CN 113496108 B CN113496108 B CN 113496108B CN 202110726312 A CN202110726312 A CN 202110726312A CN 113496108 B CN113496108 B CN 113496108B
- Authority
- CN
- China
- Prior art keywords
- instruction
- data
- module
- interface
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 16
- 230000005540 biological transmission Effects 0.000 claims description 24
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 claims description 11
- DDOQBQRIEWHWBT-UHFFFAOYSA-N 2-azaniumyl-4-phosphonobutanoate Chemical compound OC(=O)C(N)CCP(O)(O)=O DDOQBQRIEWHWBT-UHFFFAOYSA-N 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000012795 verification Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000033772 system development Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000012942 design verification Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开一种应用于仿真的CPU模型,本CPU模型配置多个总线接口,每个总线接口均有自己的ID。所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块;指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。
Description
技术领域
本发明涉及一种应用于仿真的CPU模型,用于CPU与总线之间的逻辑功能验证。
背景技术
随着集成电路工艺的进阶和芯片规模的扩大,IP的复用成为SOC设计的重要支撑,而其中片上总线设计是最关键问题。ARM推出的AMBA总线是现在IP开发商和SOC系统集成者最为青睐的工业标准片上结构。AHB总线、APB总线、AXI总线是AMBA总线的重要组成部分。
一般CPU作为系统的重要组成部分,多采用授权的IP,使用的灵活性和便利性均受到限制。在整个ASIC设计过程之中,前期需要配置CPU参数,将CPU集成进系统,进行RTL仿真,后期还需要进行FPGA综合下板子调试。经过一系列的行为才能通过CPU调度整个系统,观察整个系统的行为是否符合预期。但是若只是验证CPU外的逻辑功能,这将带来巨大的时间成本以及人力成本。
并且单个SOC的系统结构也越来越复杂,实现的功能越来越多,一个复杂的系统会包含信号采集、加密、解密、存储、输出等许多模块和步骤。面对如此复杂的系统,如何验证电路的功能是否符合设计的预期显得十分重要。
发明内容
针对现有技术的缺陷,本发明提供一种应用于仿真的CPU模型,通过模仿CPU的行为,在RTL验证早期即可通过该模型来进行操作外围模块,验证设计功能的正确性,减少设计集成度以及验证平台的复杂度。
为了解决所述技术问题,本发明采用的技术方案是:一种应用于仿真的CPU模型,本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块;
指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;
接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;
总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;
数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。
进一步的,CPU模型挂载的总线接口类型包括AHB总线接口、APB总线接口和AXI总线接口。
进一步的,CPU模型挂载AHB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。
进一步的,CPU挂载APB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。
进一步的,CPU模型挂载AXI总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。
进一步的,本模型支持的协议包括AHB、AHB-lite、AMBA 2 APB、AMBA 3 APB、AMBA4 APB、AXI3、AXI4、AXI4-LITE。
本发明的有益效果:
1、应用于仿真平台,无器件综合限制,可使用System Verilog不可综合的高级程序语句来实现具体模块内容,减少模型建立时间;
2、可根据系统需求,配置支持的总线接口个数和使用的协议;
3、该模型较传统CPU而言,组成结构有所优化,可以通过较少的模块来实现传统的CPU的功能,从而提高指令执行的效率;
4、用该模型替换传统的CPU,可以减少RTL集成复杂度,减少验证平台配置参数的复杂度,从而用较少的时间即可验证系统电路逻辑功能的正确性,减少项目整体的开发周期。
附图说明
图1为本发明的原理框图;
图2为实施例1的指令结构示意图;
图3为实施例2的指令结构示意图;
图4为实施例3的指令结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的说明。
实施例1
本实施例公开一种应用于仿真的CPU模型,如图1所示,本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块。指令解析模块、接口仲裁路由模块、总线协议生成模块和总线接口依次相连,形成指令或数据传输通道,总线接口、总线协议生成模块、接口仲裁路由模块和数据比较模块依次相连,形成响应传输通道。
各模块的功能为:
指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;
接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;
总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;
数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。
上述四个模块能够高效的执行指令下发数据达到验证外围电路逻辑功能的目的。
本实施例所述CPU模型挂载的总线接口为AHB总线接口。如图2所示,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。这样一个完整的指令格式就可以由该CPU进行处理执行。
本实施例所述CPU模块支持AHB、AHB-lite协议。
本实施例所述应用于仿真的AHB接口CPU模型,实现对下发的指令进行解析,根据指令内容区分port端口,生成对应总线协议的数据类型,并根据返回的数据进行数据比较,能够简洁且高效的在验证平台中发挥CPU的作用。验证人员只需要下发指令、通过脚本进行指令编译,便可通过该CPU模型访问总线,进行数据交换,达到验证系统功能的目的。相较于传统的CPU而言,集成、验证都更加简洁,可以使得系统开发周期大大缩短。
实施例2
本实施例所述CPU模型的结构、原理与实施例1相同,不同的是,其挂载的总线接口为APB总线接口。如图3所示,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。这样一个完整的指令格式就可以由该CPU进行处理执行。
本实施例所述CPU模块支持AMBA 2 APB、AMBA 3 APB、AMBA 4 APB协议。
本实施例所述应用于仿真的APB接口CPU模型,实现对下发的指令进行解析,根据指令内容区分port端口,生成对应总线协议的数据类型,并根据返回的数据进行数据比较,能够简洁且高效的在验证平台中发挥CPU的作用。验证人员只需要下发指令、通过脚本进行指令编译,便可通过该CPU模型访问总线,进行数据交换,达到验证系统功能的目的。相较于传统的CPU而言,集成、验证都更加简洁,可以使得系统开发周期大大缩短。
实施例3
本实施例所述CPU模型的结构、原理与实施例1相同,不同的是,其挂载的总线接口为AXI总线接口。如图4所示,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。这样一个完整的指令格式就可以由该CPU进行处理执行。
本实施例所述CPU模块支持AXI3、AXI4、AXI4-LITE协议。
本实施例所述应用于仿真的AXI接口CPU模型,实现对下发的指令进行解析,根据指令内容区分port端口,生成对应总线协议的数据类型,并根据返回的数据进行数据比较,能够简洁且高效的在验证平台中发挥CPU的作用。验证人员只需要下发指令、通过脚本进行指令编译,便可通过该CPU模型访问总线,进行数据交换,达到验证系统功能的目的。相较于传统的CPU而言,集成、验证都更加简洁,可以使得系统开发周期大大缩短。
上述3个实施例所述CPU模块支持指令解析,可根据编译后的用户指令进行解析,由接口仲裁部分进行仲裁,然后根据实际总线生成不同的总线协议的数据,可以同时配置多个总线接口以支持不同的总线接口需求。此外,该CPU模型还包含数据比较部分,可将取回的数据与解析后的指令作比较,将比较结果反馈给指令解析部分,以保证数据的正确性。本发明提出的应用于仿真的AHB接口CPU模型,简化了建立CPU的方法,优化了验证平台的搭建,只需要下发指令序列进行编译即可通过该CPU进行读写数据,验证外围设备的合理性和正确性,使得芯片设计和验证流程变的更加高效。
验证时,验证人员只需参考图2至4中的指令格式发送指令,并参考图一指令编译部分使用脚本将特定的指令转换成CPU可识别的二进制即可。该模型便可实现CPU的功能执行指令发送数据,并返回结果进行数据比较。可以避免传统设计验证流程中复杂的CPU集成以及使用难度很大的问题,加快项目开发周期,减少人力以及时间资源上的开销。
以上描述的仅是本发明的基本原理和优选实施例,本领域技术人员根据本发明作出的改进和替换,属于本发明的保护范围。
Claims (6)
1.一种应用于仿真的CPU模型,其特征在于:本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块;
指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;
接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;
总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;
数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行;
指令解析模块、接口仲裁路由模块、总线协议生成模块和总线接口依次相连,形成指令或数据传输通道,总线接口、总线协议生成模块、接口仲裁路由模块和数据比较模块依次相连,形成响应传输通道。
2.根据权利要求1所述的应用于仿真的CPU模型,其特征在于:CPU模型挂载的总线接口类型包括AHB总线接口、APB总线接口和AXI总线接口。
3.根据权利要求2所述的应用于仿真的CPU模型,其特征在于:CPU模型挂载AHB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。
4.根据权利要求2所述的应用于仿真的CPU模型,其特征在于:CPU挂载APB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。
5.根据权利要求2所述的应用于仿真的CPU模型,其特征在于:CPU模型挂载AXI总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。
6.根据权利要求1-5任一项所述的应用于仿真的CPU模型,其特征在于:本模型支持的协议包括AHB、AHB-lite、AMBA 2 APB、AMBA 3 APB、AMBA 4 APB、AXI3、AXI4、AXI4-LITE。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726312.0A CN113496108B (zh) | 2021-06-29 | 2021-06-29 | 一种应用于仿真的cpu模型 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110726312.0A CN113496108B (zh) | 2021-06-29 | 2021-06-29 | 一种应用于仿真的cpu模型 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113496108A CN113496108A (zh) | 2021-10-12 |
CN113496108B true CN113496108B (zh) | 2024-03-15 |
Family
ID=77998158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110726312.0A Active CN113496108B (zh) | 2021-06-29 | 2021-06-29 | 一种应用于仿真的cpu模型 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113496108B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113496107B (zh) * | 2021-06-29 | 2024-04-09 | 山东华芯半导体有限公司 | 一种可综合的cpu模型 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193887A (zh) * | 2010-03-11 | 2011-09-21 | 炬力集成电路设计有限公司 | 多通道桥接器及总线系统 |
CN110457744A (zh) * | 2019-06-27 | 2019-11-15 | 山东方寸微电子科技有限公司 | 一种sd/sdio设备仿真模型框架及其设计方法 |
CN111008508A (zh) * | 2019-12-26 | 2020-04-14 | 山东方寸微电子科技有限公司 | 一种接口类ip系统应用验证平台和验证方法 |
CN111338996A (zh) * | 2020-02-20 | 2020-06-26 | 山东华芯半导体有限公司 | 一种支持多协议的复合总线控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8438306B2 (en) * | 2010-11-02 | 2013-05-07 | Sonics, Inc. | Apparatus and methods for on layer concurrency in an integrated circuit |
-
2021
- 2021-06-29 CN CN202110726312.0A patent/CN113496108B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193887A (zh) * | 2010-03-11 | 2011-09-21 | 炬力集成电路设计有限公司 | 多通道桥接器及总线系统 |
CN110457744A (zh) * | 2019-06-27 | 2019-11-15 | 山东方寸微电子科技有限公司 | 一种sd/sdio设备仿真模型框架及其设计方法 |
CN111008508A (zh) * | 2019-12-26 | 2020-04-14 | 山东方寸微电子科技有限公司 | 一种接口类ip系统应用验证平台和验证方法 |
CN111338996A (zh) * | 2020-02-20 | 2020-06-26 | 山东华芯半导体有限公司 | 一种支持多协议的复合总线控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN113496108A (zh) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11720479B2 (en) | Real time analysis and control for a multiprocessor system | |
US12093631B2 (en) | Method, system and verifying platform for system on chip verification | |
US8438306B2 (en) | Apparatus and methods for on layer concurrency in an integrated circuit | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
US20110307847A1 (en) | Hybrid system combining TLM simulators and HW accelerators | |
CN101937412B (zh) | 一种片上系统及其访问方法 | |
CN107992390B (zh) | 一种基于片上总线的芯片调试方法 | |
CN113297017A (zh) | 一种基于uvm的soc验证系统及方法 | |
CN105008943A (zh) | 对在fpga块内分组创建加速的测试仪 | |
US8532975B2 (en) | System and method implementing a simulation acceleration capture buffer | |
US6917998B1 (en) | Reusable complex multi-bus system hardware prototype system | |
CN112241347B (zh) | 实现SystemC验证的方法和验证平台组件架构 | |
CN114721986B (zh) | 基于通用验证方法的异构直接存储器访问验证方法及系统 | |
CN115146568A (zh) | 一种基于uvm的芯片验证系统及验证方法 | |
CN111176926B (zh) | 一种基于双口sram的ip核仿真系统及仿真方法 | |
CN113496108B (zh) | 一种应用于仿真的cpu模型 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN116451617A (zh) | 芯片仿真中基于仿真波形的信息处理方法、装置及应用 | |
Xiao et al. | Design of AXI bus based MPSoC on FPGA | |
CN113204929B (zh) | 基于sv和uvm实现ahb vip的方法、电子装置及存储介质 | |
CN112557886B (zh) | 协议转换桥接电路以及系统级芯片 | |
CN113496107B (zh) | 一种可综合的cpu模型 | |
US9547568B2 (en) | Method and apparatus for verifying circuit design | |
Zhou et al. | The Design Of UVM Verification Platform Based on Data Comparison | |
CN115983172B (zh) | 用于后仿真的方法和仿真平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |