一种应用于仿真的CPU模型制造技术

技术编号:30346043 阅读:22 留言:0更新日期:2021-10-12 23:33
本发明专利技术公开一种应用于仿真的CPU模型,本CPU模型配置多个总线接口,每个总线接口均有自己的ID。所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块;指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。以确保指令正确执行。以确保指令正确执行。

【技术实现步骤摘要】
一种应用于仿真的CPU模型


[0001]本专利技术涉及一种应用于仿真的CPU模型,用于CPU与总线之间的逻辑功能验证。

技术介绍

[0002]随着集成电路工艺的进阶和芯片规模的扩大,IP的复用成为SOC设计的重要支撑,而其中片上总线设计是最关键问题。ARM推出的AMBA总线是现在IP开发商和SOC系统集成者最为青睐的工业标准片上结构。AHB总线、APB总线、AXI总线是AMBA总线的重要组成部分。
[0003]一般CPU作为系统的重要组成部分,多采用授权的IP,使用的灵活性和便利性均受到限制。在整个ASIC设计过程之中,前期需要配置CPU参数,将CPU集成进系统,进行RTL仿真,后期还需要进行FPGA综合下板子调试。经过一系列的行为才能通过CPU调度整个系统,观察整个系统的行为是否符合预期。但是若只是验证CPU外的逻辑功能,这将带来巨大的时间成本以及人力成本。
[0004]并且单个SOC的系统结构也越来越复杂,实现的功能越来越多,一个复杂的系统会包含信号采集、加密、解密、存储、输出等许多模块和步骤。面对如此复杂的系统,如何验证电路的功能是否符合设计的预期显得十分重要。

技术实现思路

[0005]针对现有技术的缺陷,本专利技术提供一种应用于仿真的CPU模型,通过模仿CPU的行为,在RTL验证早期即可通过该模型来进行操作外围模块,验证设计功能的正确性,减少设计集成度以及验证平台的复杂度。
[0006]为了解决所述技术问题,本专利技术采用的技术方案是:一种应用于仿真的CPU模型,本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块;指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定发送的具体端口;总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。
[0007]进一步的,CPU模型挂载的总线接口类型包括AHB总线接口、APB总线接口和AXI总线接口。
[0008]进一步的,CPU模型挂载AHB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具
体数据。
[0009]进一步的,CPU挂载APB总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、ADDR、STRB、DATA共6部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,ADDR为接受命令的具体地址,STRB为APB 4使用的STRB信号,DATA为发送的具体数据。
[0010]进一步的,CPU模型挂载AXI总线接口时,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、LENGTH、ADDR、DATA共8部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,LENGTH表示此次传输的数据长度,ADDR为接受命令的具体地址,DATA为发送的具体数据。
[0011]进一步的,本模型支持的协议包括AHB、AHB

lite、AMBA 2 APB、AMBA 3 APB、AMBA 4 APB、AXI3、AXI4、AXI4

LITE。
[0012]本专利技术的有益效果:1、应用于仿真平台,无器件综合限制,可使用System Verilog不可综合的高级程序语句来实现具体模块内容,减少模型建立时间;2、可根据系统需求,配置支持的总线接口个数和使用的协议;3、该模型较传统CPU而言,组成结构有所优化,可以通过较少的模块来实现传统的CPU的功能,从而提高指令执行的效率;4、用该模型替换传统的CPU,可以减少RTL集成复杂度,减少验证平台配置参数的复杂度,从而用较少的时间即可验证系统电路逻辑功能的正确性,减少项目整体的开发周期。
附图说明
[0013]图1为本专利技术的原理框图;图2为实施例1的指令结构示意图;图3为实施例2的指令结构示意图;图4为实施例3的指令结构示意图。
具体实施方式
[0014]下面结合附图和具体实施例对本专利技术作进一步的说明。
[0015]实施例1本实施例公开一种应用于仿真的CPU模型,如图1所示,本CPU模型配置多个总线接口,每个总线接口均有自己的ID;所述模型包括指令解析模块、接口仲裁路由模块、总线协议生成模块和数据比较模块。指令解析模块、接口仲裁路由模块、总线协议生成模块和总线接口依次相连,形成指令或数据传输通道,总线接口、总线协议生成模块、接口仲裁路由模块和数据比较模块依次相连,形成响应传输通道。
[0016]各模块的功能为:指令解析模块实现对编译后的指令进行解析,达到区分指令功能的目的;接口仲裁路由模块与指令解析模块相连,接收解析后的指令,根据指令内容决定
发送的具体端口;总线协议生成模块与接口仲裁路由模块相连,将接收到的指令或数据按照总线协议格式发送到总线接口,达到将数据转换成标准总线协议接口的功能;数据比较模块和指令解析模块、接口仲裁路由模块均相连,用于将执行完指令的结果与接收到的指令进行比较,以确保指令正确执行。
[0017]上述四个模块能够高效的执行指令下发数据达到验证外围电路逻辑功能的目的。
[0018]本实施例所述CPU模型挂载的总线接口为AHB总线接口。如图2所示,指令获取模块获取的指令包括PORTID、CMD、W/R、BURST、SIZE、ADDR、DATA共7部分,PORTID指明发送的指令或数据到达哪个总线接口,CMD表示发送的是数据还是指令,W/R表明该笔传输是读还是写,BURST代表该笔传输的burst类型,SIZE表示该笔传输的数据大小,ADDR为接受命令的具体地址,DATA为发送的具体数据。这样一个完整的指令格式就可以由该CPU进行处理执行。
[0019]本实施例所述CPU模块支持AHB、AHB

lite协议。
[0020]本实施例所述应用于仿真的AHB接口CPU模型,实现对下发的指令进行解析,根据指令内容区分port端口,生成对应总线协议的数据类型,并根据返回的数据进行数据比较,能够简洁且高效的在验证平台中发挥CPU的作用。验证人员只需要下发指令、通过本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所...

【专利技术属性】
技术研发人员:师开伟孙中琳
申请(专利权)人:山东华芯半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1