CN113496107B - 一种可综合的cpu模型 - Google Patents

一种可综合的cpu模型 Download PDF

Info

Publication number
CN113496107B
CN113496107B CN202110725827.9A CN202110725827A CN113496107B CN 113496107 B CN113496107 B CN 113496107B CN 202110725827 A CN202110725827 A CN 202110725827A CN 113496107 B CN113496107 B CN 113496107B
Authority
CN
China
Prior art keywords
instruction
data
module
bus
cpu
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
Application number
CN202110725827.9A
Other languages
English (en)
Other versions
CN113496107A (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 CN202110725827.9A priority Critical patent/CN113496107B/zh
Publication of CN113496107A publication Critical patent/CN113496107A/zh
Application granted granted Critical
Publication of CN113496107B publication Critical patent/CN113496107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开一种可综合的CPU模型,本CPU模型配置多个总线接口,每个总线接口均有自己的ID。所述CPU模型包括指令获取模块、指令解析模块、数据比较模块、接口仲裁路由模块和总线协议生成模块。指令获取模块用于获取模型运行所需的指令,并将指令提供给指令解析模块;指令解析模块将编译后的指令解析成CPU能够识别的二进制,达到区分指令功能的目的,然后将解析后的指令传递至数据比较模块;数据比较模块将执行完指令的结果与收到的指令进行比较,从而判断指令是否正确执行;接口仲裁路由模块根据指令内容决定发送的总线端口;总线协议生成模块将接收到的指令或数据按照总线协议格式发送到总线接口。

Description

一种可综合的CPU模型
技术领域
本发明涉及一种可综合的CPU模型,用于CPU与总线之间的逻辑功能验证。
背景技术
随着集成电路的不断发展,系统设计的规模越来越大,模块划分的也越来越复杂,作为调度系统工作的核心CPU,显得也越来越重要。一般CPU作为系统的重要组成部分,多采用授权的IP,使用的灵活性和便利性均受到限制。在整个ASIC设计过程之中,前期需要配置CPU参数,将CPU集成进系统,进行RTL仿真,后期还需要进行FPGA综合下板子调试。经过一系列的行为才能通过CPU调度整个系统,观察整个系统的行为是否符合预期。但是若只是验证CPU外的逻辑功能,这将带来巨大的时间成本以及人力成本。
发明内容
针对现有技术的缺陷,本发明提供一种可综合的CPU模型,通过模仿CPU的行为,驱动不同类型总线进行系统的读写等操作,来实现CPU系统对外围模块的配置和使用,达到CPU系统原型验证的目的,甚至可以在简单的无需复杂运算的场合,实现对CPU的全替换。
为了解决所述技术问题,本发明采用的技术方案是:一种可综合的CPU模型,本CPU模型配置多个总线接口,包括指令获取模块、指令解析模块、数据比较模块、接口仲裁路由模块和总线协议生成模块;
所述指令获取模块用于获取模型运行所需的指令,并将指令提供给指令解析模块;
指令解析模块实现对编译后的指令解析成CPU能够识别的二进制,达到区分指令功能的目的,然后将解析后的指令传递至数据比较模块;
数据比较模块将执行完指令的结果与收到的指令进行比较,从而判断指令是否正确执行;
接口仲裁路由模块根据指令内容决定发送的总线端口;
总线协议生成模块将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能。
进一步的,所述指令获取模块为指令存储模块、指令读取模块、外设接口中的一种或多个组合。
进一步的,指令获取模块为多个组合时,CPU模型设置指令获取启动模块,所述指令获取启动模块为外部引脚接拨码开关。
进一步的,本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。
本发明为一种可综合的CPU模型,有以下有益效果:
1、模型为完全可综合设计,可以实现对系统的原型验证;
2、可根据系统需求,配置支持的总线接口个数;
3、在无需复杂运算的场合可实现对CPU的替代,突破对CPU IP的依赖;
4、该模型较传统CPU而言,结构简单,可以通过较少的模块来实现传统的CPU的功能,从而提高指令执行的效率;
5、用该模型替换传统的CPU,可以减少RTL集成复杂度,减少CPU配置参数的复杂度,从而用较少的时间即可验证系统电路逻辑功能的正确性,减少项目整体的开发周期。
附图说明
图1为实施例1所述可综合CPU模型框图;
图2为内嵌指令存储的可综合CPU模型框图;
图3为从外部存储读取指令的可综合CPU模型框图;
图4为外设接口获取指令的可综合CPU模型框图;
图5为挂载AHB总线接口时,指令结构示意图;
图6为挂载APB总线接口时,指令结构示意图;
图7为挂载AXI总线接口时,指令结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步的说明。
实施例1
本实施例公开一种可综合的CPU模型,如图1所示,本CPU模型挂载n个总线接口,n为大于1的正整数,n可根据系统需求配置。
CPU模型包括指令获取模块、指令解析模块、数据比较模块、接口仲裁路由模块和总线协议生成模块。
所述指令获取模块用于获取模型运行所需的指令,并将指令提供给指令解析模块;
指令解析模块实现对编译后的指令解析成CPU能够识别的二进制,达到区分指令功能的目的,然后将解析后的指令传递至数据比较模块;
数据比较模块将执行完指令的结果与收到的指令进行比较,从而判断指令是否正确执行;
接口仲裁路由模块根据指令内容决定发送的总线端口;
总线协议生成模块将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能。
本实施例中,所述指令获取模块由指令存储模块、指令读取模块、外设接口组合而成,三种模块均可实现指令获取。为了确定指令获取的方式,CPU模型设置指令获取启动模块,所述指令获取启动模块为外部引脚接拨码开关,通过拨码开关确定由三个模块中的一个来获取指令。
实施例2
本实施例中,如图2所示,所述指令获取模块为指令存储模块,即通过内嵌指令存储的方式获取指令,获取后的指令传递至指令解析模块。
实施例3
如图3所示,本实施例的指令获取模块为指令读取模块,即通过外部存储读取指令的方式获取指令,获取后的指令传递至指令解析模块。
实施例4
如图4所示,本实施例的指令获取模块为外设接口,即通过外设接口获取指令,获取后的指令传递至指令解析模块。
上述三种实施例中的CPU模型均可以挂载包括AHB总线接口、APB总线接口和AXI总线接口在内的AMBA总线接口。
如图5所示,CPU模型挂载AHB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。
如图6所示,CPU模型挂载APB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。
如图7所示,CPU模型挂载AXI总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。
本实施例所述CPU模型支持的协议包括AHB、AHB-lite、AMBA 2 APB、AMBA 3 APB、AMBA 4 APB、AXI3、AXI4、AXI4-LITE。这些协议是AMBA协议的重要组成部分。
AHB(Advanced High performance Bus)系统总线是AMBA总线规范2.0的重要组成部分,因为分块处理、单周期总线主机移交、单时钟沿操作、流水线操作、更宽的数据总线架构、支持多个总线主从设备的特性,成为IP开发商和SOC系统集成者最为青睐的工业标准片上结构,在高性能模块(如 CPU、DMA 和 DSP 等)之间的广泛使用。
APB(Advanced Peripheral Bus) 外围总线是AMBA总线规范的重要组成部分,主要用于低带宽的周边外设之间的连接和系统中挂载模块的寄存器配置,是SOC系统中普遍采用的控制通路总线协议。APB总线随着AMBA体系的升级,逐渐形成AMBA 2 APB、AMBA 3APB、AMBA 4 APB的APB协议序列,对不同APB协议的兼容性已成为对外围设备和寄存器控制通路的主要限制,是CPU设计中用于控制通路的通用接口。
AXI系统总线是AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。目前,AXI协议普遍在大规模、超大规模的SOC系统内使用,特别是主流的高性能嵌入式CPU,均使用AXI接口作为外部通讯接口使用。
验证时,使用人员只需参考图五中的指令格式发送指令,并参考图一指令编译部分使用脚本将特定的指令转换成CPU可识别的二进制即可。该模型便可实现CPU的功能执行指令发送数据,并返回结果进行数据比较。可以避免传统设计验证流程中复杂的CPU集成以及使用难度很大的问题,加快项目开发周期,减少人力以及时间资源上的开销。
本发明所述CPU模型支持指令解析,可根据编译后的用户指令进行解析,由接口仲裁部分进行仲裁,然后根据实际总线生成不同的总线协议的数据,可以同时配置多个总线接口以支持不同的总线接口需求。指令来源可以通过指令读取模块产生指令由APB总线接口从外部存储读取,可以通过外设接口读取获得,可以从模型内部例化的存储直接获取。该CPU模型还包含数据比较部分,可将取回的数据与解析后的指令作比较,将比较结果反馈给指令解析部分,以保证数据的正确性。本发明提出的可综合的CPU模型,简化了建立CPU的方法,优化了系统搭建和基础功能验证的效率,支持外设输入编译指令或从内部烧录的指令自启动,发送指令序列进行读写数据,验证外围设备的合理性和正确性,使得芯片设计和验证流程变的更加高效。
以上描述的尽是本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

Claims (8)

1.一种可综合的CPU模型,其特征在于:本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述CPU模型包括指令获取模块、指令解析模块、数据比较模块、接口仲裁路由模块和总线协议生成模块;
所述指令获取模块用于获取模型运行所需的指令,并将指令提供给指令解析模块;
指令解析模块将编译后的指令解析成CPU能够识别的二进制,达到区分指令功能的目的,然后将解析后的指令传递至数据比较模块;
数据比较模块将执行完指令的结果与收到的指令进行比较,从而判断指令是否正确执行;
接口仲裁路由模块根据指令内容决定发送的总线端口;
总线协议生成模块将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能。
2.根据权利要求1所述的可综合的CPU模型,其特征在于:所述指令获取模块为指令存储模块、指令读取模块、外设接口中的一种或多个组合。
3.根据权利要求2所述的可综合的CPU模型,其特征在于:指令获取模块为多个组合时,CPU模型设置指令获取启动模块,所述指令获取启动模块为外部引脚接拨码开关。
4.根据权利要求1所述的可综合的CPU模型,其特征在于:本CPU模型挂载的总线接口类型包括AHB总线接口、APB总线接口和AXI总线接口。
5.根据权利要求4所述的可综合的CPU模型,其特征在于:本CPU模型挂载AHB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。
6.根据权利要求4所述的可综合的CPU模型,其特征在于:本CPU挂载APB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。
7.根据权利要求4所述的可综合的CPU模型,其特征在于:本CPU模型挂载AXI总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。
8.根据权利要求1-7任一项所述的可综合的CPU模型,其特征在于:本模型支持的协议包括AHB、AHB-lite、AMBA 2 APB、AMBA 3 APB、AMBA 4 APB、AXI3、AXI4、AXI4-LITE。
CN202110725827.9A 2021-06-29 2021-06-29 一种可综合的cpu模型 Active CN113496107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110725827.9A CN113496107B (zh) 2021-06-29 2021-06-29 一种可综合的cpu模型

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110725827.9A CN113496107B (zh) 2021-06-29 2021-06-29 一种可综合的cpu模型

Publications (2)

Publication Number Publication Date
CN113496107A CN113496107A (zh) 2021-10-12
CN113496107B true CN113496107B (zh) 2024-04-09

Family

ID=77998126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110725827.9A Active CN113496107B (zh) 2021-06-29 2021-06-29 一种可综合的cpu模型

Country Status (1)

Country Link
CN (1) CN113496107B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010007048A (ko) * 1999-06-26 2001-01-26 양세양 내장형 시스템을 위한 신속 프로토타이핑 장치에서의 신속디버깅 방법
EP1533723A2 (en) * 2003-11-18 2005-05-25 Quickturn Design Systems, Inc. Method, apparatus and computer-readable medium for simulation and visualization data transfer between an emulation system and a simulator
CN102193887A (zh) * 2010-03-11 2011-09-21 炬力集成电路设计有限公司 多通道桥接器及总线系统
CN104714907A (zh) * 2013-12-11 2015-06-17 中国航空工业第六一八研究所 一种pci总线转换为isa和apb总线设计方法
CN109472061A (zh) * 2018-10-17 2019-03-15 北京广利核系统工程有限公司 一种可重用的仿真验证平台及仿真验证方法
CN110457744A (zh) * 2019-06-27 2019-11-15 山东方寸微电子科技有限公司 一种sd/sdio设备仿真模型框架及其设计方法
CN111008508A (zh) * 2019-12-26 2020-04-14 山东方寸微电子科技有限公司 一种接口类ip系统应用验证平台和验证方法
WO2020103058A1 (zh) * 2018-11-21 2020-05-28 吴国盛 可编程运算与控制芯片、设计方法及其装置
CN113496108A (zh) * 2021-06-29 2021-10-12 山东华芯半导体有限公司 一种应用于仿真的cpu模型

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10909287B2 (en) * 2017-06-28 2021-02-02 Intel Corporation Methods, systems and apparatus to improve FPGA pipeline emulation efficiency on CPUs

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010007048A (ko) * 1999-06-26 2001-01-26 양세양 내장형 시스템을 위한 신속 프로토타이핑 장치에서의 신속디버깅 방법
EP1533723A2 (en) * 2003-11-18 2005-05-25 Quickturn Design Systems, Inc. Method, apparatus and computer-readable medium for simulation and visualization data transfer between an emulation system and a simulator
CN102193887A (zh) * 2010-03-11 2011-09-21 炬力集成电路设计有限公司 多通道桥接器及总线系统
CN104714907A (zh) * 2013-12-11 2015-06-17 中国航空工业第六一八研究所 一种pci总线转换为isa和apb总线设计方法
CN109472061A (zh) * 2018-10-17 2019-03-15 北京广利核系统工程有限公司 一种可重用的仿真验证平台及仿真验证方法
WO2020103058A1 (zh) * 2018-11-21 2020-05-28 吴国盛 可编程运算与控制芯片、设计方法及其装置
CN110457744A (zh) * 2019-06-27 2019-11-15 山东方寸微电子科技有限公司 一种sd/sdio设备仿真模型框架及其设计方法
CN111008508A (zh) * 2019-12-26 2020-04-14 山东方寸微电子科技有限公司 一种接口类ip系统应用验证平台和验证方法
CN113496108A (zh) * 2021-06-29 2021-10-12 山东华芯半导体有限公司 一种应用于仿真的cpu模型

Also Published As

Publication number Publication date
CN113496107A (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
TWI793791B (zh) 用外部輸入/輸出介面以支援測試、除錯或追蹤資訊的通訊之運算系統
CN112580295B (zh) 多核SoC芯片的自动化验证方法、系统及装置
US6876941B2 (en) Testing compliance of a device with a bus protocol
US8281280B2 (en) Method and apparatus for versatile controllability and observability in prototype system
CN107992390B (zh) 一种基于片上总线的芯片调试方法
Bjerregaard et al. An OCP compliant network adapter for GALS-based SoC design using the MANGO network-on-chip
CN101840368B (zh) 多核处理器的jtag实时片上调试方法及其系统
CN101937412B (zh) 一种片上系统及其访问方法
WO2018218954A1 (zh) 一种验证平台和验证方法、计算机存储介质
CN105335548A (zh) 一种用于ice的mcu仿真方法
CN115146568A (zh) 一种基于uvm的芯片验证系统及验证方法
US7212961B2 (en) Interface for rapid prototyping system
CN111290986A (zh) 一种基于神经网络的总线互联系统
CN111176926B (zh) 一种基于双口sram的ip核仿真系统及仿真方法
CN115496018A (zh) 一种SoC芯片多版本验证方法、装置及设备
CN113496108B (zh) 一种应用于仿真的cpu模型
CN113326670A (zh) 原型验证系统、方法、处理单元、及设备
CN113496107B (zh) 一种可综合的cpu模型
CN109933553B (zh) 一种控制系统及其设计方法、一组控制系统、电子装置
CN112162879A (zh) 一种实时多核dsp软件的日志系统
Mahale et al. Architecture Analysis and Verification of I3C Protocol
CN111079922B (zh) 基于axi-apb的神经网络交互系统、方法、服务器及存储介质
CN108228517A (zh) I3c电路设备、系统及通信方法
Lee et al. A low-cost SOC debug platform based on on-chip test architectures
CN114546917B (zh) 一种fpga侧辅助ip系统

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