CN113496108A - 一种应用于仿真的cpu模型 - Google Patents

一种应用于仿真的cpu模型 Download PDF

Info

Publication number
CN113496108A
CN113496108A CN202110726312.0A CN202110726312A CN113496108A CN 113496108 A CN113496108 A CN 113496108A CN 202110726312 A CN202110726312 A CN 202110726312A CN 113496108 A CN113496108 A CN 113496108A
Authority
CN
China
Prior art keywords
instruction
data
interface
module
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.)
Granted
Application number
CN202110726312.0A
Other languages
English (en)
Other versions
CN113496108B (zh
Inventor
师开伟
孙中琳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202110726312.0A priority Critical patent/CN113496108B/zh
Publication of CN113496108A publication Critical patent/CN113496108A/zh
Application granted granted Critical
Publication of CN113496108B publication Critical patent/CN113496108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction 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模型,用于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。
CN202110726312.0A 2021-06-29 2021-06-29 一种应用于仿真的cpu模型 Active CN113496108B (zh)

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 true CN113496108A (zh) 2021-10-12
CN113496108B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496107A (zh) * 2021-06-29 2021-10-12 山东华芯半导体有限公司 一种可综合的cpu模型

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193887A (zh) * 2010-03-11 2011-09-21 炬力集成电路设计有限公司 多通道桥接器及总线系统
US20120110106A1 (en) * 2010-11-02 2012-05-03 Sonics, Inc. Apparatus and methods for on layer concurrency in an integrated circuit
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 山东华芯半导体有限公司 一种支持多协议的复合总线控制器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102193887A (zh) * 2010-03-11 2011-09-21 炬力集成电路设计有限公司 多通道桥接器及总线系统
US20120110106A1 (en) * 2010-11-02 2012-05-03 Sonics, Inc. Apparatus and methods for on layer concurrency in an integrated circuit
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 山东华芯半导体有限公司 一种支持多协议的复合总线控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113496107A (zh) * 2021-06-29 2021-10-12 山东华芯半导体有限公司 一种可综合的cpu模型
CN113496107B (zh) * 2021-06-29 2024-04-09 山东华芯半导体有限公司 一种可综合的cpu模型

Also Published As

Publication number Publication date
CN113496108B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US11720479B2 (en) Real time analysis and control for a multiprocessor system
CN113297017B (zh) 一种基于uvm的soc验证系统及方法
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
CN105008943A (zh) 对在fpga块内分组创建加速的测试仪
US20220292248A1 (en) Method, system and verifying platform for system on chip verification
CN101093521B (zh) 一种fpga仿真装置及其方法
EP1235152A2 (en) Apparatus and method for in-circuit emulation using a high-level programming language
CN113342583B (zh) 芯片验证系统、方法、装置、设备和存储介质
CN111064449A (zh) 一种基于uvm平台的数字降采样滤波器的验证平台及方法
CN114036013A (zh) 一种基于uvm的应答器芯片多模块同步验证平台和验证方法
US8949752B2 (en) System and method of emulating multiple custom prototype boards
CN115146568A (zh) 一种基于uvm的芯片验证系统及验证方法
CN112861468A (zh) 一种软硬件协同仿真验证的方法、装置和介质
CN115562982A (zh) 参考模型调试方法、装置、电子设备和存储介质
CN115496018A (zh) 一种SoC芯片多版本验证方法、装置及设备
CN114721986A (zh) 基于通用验证方法的异构直接存储器访问验证方法及系统
CN113496108A (zh) 一种应用于仿真的cpu模型
CN112162879A (zh) 一种实时多核dsp软件的日志系统
CN111176926B (zh) 一种基于双口sram的ip核仿真系统及仿真方法
CN114780143A (zh) 基于uvm的can控制器激励序列生成方法、装置和验证平台
CN113496107B (zh) 一种可综合的cpu模型
CN113609052A (zh) 基于fpga和微处理器的芯片模拟系统及实现方法
Busá et al. RAPIDO: a modular, multi-board, heterogeneous multi-processor, PCI bus based prototyping framework for the validation of SoC VLSI designs
CN112836455B (zh) 一种soc仿真方法及系统
CN115509146B (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