CN102184290A - 一种嵌入式微处理器的周期精确和位精确系统级模型 - Google Patents

一种嵌入式微处理器的周期精确和位精确系统级模型 Download PDF

Info

Publication number
CN102184290A
CN102184290A CN 201110116652 CN201110116652A CN102184290A CN 102184290 A CN102184290 A CN 102184290A CN 201110116652 CN201110116652 CN 201110116652 CN 201110116652 A CN201110116652 A CN 201110116652A CN 102184290 A CN102184290 A CN 102184290A
Authority
CN
China
Prior art keywords
data
instruction
true
submodule
signal
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
CN 201110116652
Other languages
English (en)
Other versions
CN102184290B (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.)
Phytium Technology Co Ltd
Original Assignee
Tianjin University
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 Tianjin University filed Critical Tianjin University
Priority to CN 201110116652 priority Critical patent/CN102184290B/zh
Publication of CN102184290A publication Critical patent/CN102184290A/zh
Application granted granted Critical
Publication of CN102184290B publication Critical patent/CN102184290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种嵌入式微处理器的周期精确和位精确的系统级模型,涉及嵌入式处理器设计技术领域,嵌入式微处理器为C*CORE310处理器,系统级模型包括:指令集仿真器和SystemC Wrapper,SystemC Wrapper运用系统级语言在抽象层次上封装指令集仿真器,调用指令集仿真器的运行函数,对指令进行取指、译码、执行和相应寄存器写回操作,通过VCI接口方法实现指令集仿真器与总线的指令和数据的交互;处理器的模式包括:用户编程模式和管理员编程模式,在用户编程模式下,访问16个32位通用寄存器和进位标志位;在管理员编程模式下,访问16个32位通用寄存器、16个替换寄存器以及特殊功能单元寄存器。

Description

一种嵌入式微处理器的周期精确和位精确系统级模型
技术领域
本发明涉及嵌入式处理器设计技术领域,特别涉及一种嵌入式微处理器的周期精确和位精确系统级模型。
背景技术
随着SoC复杂度呈现出指数级增长,越来越多的处理器、存储器和外设逻辑构成一个完整的电子系统被集成到一块芯片上,给SoC设计的软硬件工程师带来了极大的挑战。传统的SoC设计只有在真实的硬件存在条件下才能够进行软件开发,以及软硬件结合的系统验证。但SoC系统越来越复杂,使得工期增长,上市时间越来越短,传统RTL级的设计已无法满足设计的需求,迫使设计者寻求一种新的设计方法即ESL(Electronic System Level,电子系统级)设计。ESL设计是以抽象方式来描述SoC系统,给软硬件工程师提供一个虚拟的硬件原型平台,用以进行硬件系统结构的探究和软件程序的开发。在ESL设计中,SoC系统的描述和仿真速度快,使设计工程师可以快速的分析SoC系统结构的优劣。一方面,功能正确和时钟精确的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间;另一方面,系统设计更早地与验证流程相结合,能确定工程开发产品的正确性。TLM(Tranction Level Modeling,事务级模型)作为ESL设计的核心,将运算功能和通信功能分开,模块之间的通信通过函数调用来实现,减少了事件和信息的处理,并且能够根据具体的实际需求提供相应的设计精度。TLM在抽象层次上描述SoC系统,可以分为三种模型即非定时的模型、周期近似的模型及周期精确的模型。
ISS(Instruction Set Simulator,指令集仿真器)作为ESL设计仿真平台的主要器件,是现代处理器设计和软件设计过程中的一部分。ISS利用宿主机模拟目标机每条指令的运行过程,是模拟目标机处理器的重要软件。ISS能够使早期的软件开发成为可能,以及能够评估指令集结构,在硬件原型构造出来之前,即可对包含软件和硬件的整个嵌入式系统的功能进行验证,根据所提供的时序精度对系统体系结构进行设计。VCI(Virtual Component Interface,虚拟部件接口)是由VSIA(Virtual Socket Interface Alliance)提出的,可以提供虚拟器件与总线或虚拟器件与虚拟器件之间统一的接口协议。VCI协议实现简单,可以通过点对点的方式进行通信,使用了VCI标准的ISS可以与使用同样VCI标准的总线或虚拟器件直接相连,而无需对ISS做任何的修改,具有很强的可移植性。
苏州国芯公司的32位嵌入式微处理器C*CORE310具有国家自主知识产权,以其灵活性高、功耗低、面积小、性能高和成本低等特点在SoC设计领域得到了越来越广泛的应用。C*CORE310处理器因其固定位宽的16位指令集,比其他32位的处理器提高了代码密度,可以使用更小的存储单元来达到同样的应用目的,从而减小芯片的面积,降低设计成本。但现有的C*CORE310处理器缺少ESL高抽象层次模型,无法进行基于C*CORE310的SoC软硬件协同设计和验证。
发明内容
为了提供C*CORE310处理器的周期精确和位精确的系统级模型,能够为基于C*CORE310处理器的SoC设计提供性能评估;并且能够为软件工程师提供软硬件协同开发和验证平台,本发明提供了一种嵌入式微处理器的周期精确和位精确系统级模型,详见下文描述:
一种嵌入式微处理器的周期精确和位精确系统级模型,所述嵌入式微处理器为C*CORE310处理器,所述系统级模型包括:指令集仿真器和SystemC Wrapper,所述SystemC Wrapper运用系统级语言在抽象层次上封装所述指令集仿真器,调用指令集仿真器的运行函数,对指令进行取指、译码、执行和相应寄存器写回操作,通过VCI接口方法实现指令集仿真器与总线的指令和数据的交互;所述C*CORE310处理器包括:用户编程模式和管理员编程模式,在所述用户编程模式下,访问16个32位通用寄存器和进位标志位;在所述管理员编程模式下,访问16个32位通用寄存器、16个替换寄存器以及特殊功能单元寄存器。
通过所述SystemC Wrapper调用所述指令集仿真器中的运行函数来控制所述指令集仿真器进行取指、译码、执行和所述相应寄存器写回操作。
所述SystemC Wrapper包括:transition()进程和genMoore()进程,所述transition()进程在时钟上升沿被触发,实现指令状态机、数据状态机和命令操作状态机的状态转换,根据所述相应寄存器的现有值和输入信号来计算所述相应寄存器下一状态的值;所述genMoore()进程在时钟下降沿被触发,通过所述VCI接口方法实现所述指令集仿真器的命令、数据和地址分别与总线的通信;根据所述相应寄存器的现有值和输入信号来产生所述相应寄存器的输出值。
所述指令集仿真器包括:请求取指子模块、指令响应子模块、译码子模块、指令执行子模块、数据请求子模块和数据响应子模块,
所述请求取值子模块用于请求所述指令集仿真器的指令信息;
所述指令响应子模块用于获取指令;
所述译码子模块用于执行指令译码操作;
所述指令执行子模块用于完成相应的指令执行操作;
所述数据请求子模块用于请求所述指令集仿真器的数据;
所述数据响应子模块将从存储器中取得的数据赋给所述通用寄存器。
所述系统级模型采用多级索引进行译码操作,将16字长的指令平均分为4段,每一个字段长4位,在内存中建立多级索引表。
所述系统级模型采用多级索引进行译码操作具体为:
以指令的第一个字段为地址在第一级索引表中寻找,判断查找成功标志是否为真,若为真,则译码成功;否则该行给出第二级索引表的起始地址;以指令的第二个字段为地址在第二级索引表中寻找,判断所述查找成功标志是否为真,若为真,则译码成功;否则该行给出第三级索引表的起始地址;以指令的第三个字段为地址在第三级索引表寻找,判断所述查找成功标志是否为真,若为真,则译码成功;否则该行给出第四级索引表的起始地址;依此类推,最终完成译码操作。
当所述指令状态机在指令空闲状态时,通过调用所述指令请求子模块判断是否有指令请求信号以及阻塞指令读操作是否为假,若所述指令请求信号为真且所述阻塞指令读操作为假,则转入指令等待状态;当同时存在所述指令请求信号和数据请求信号时,所述命令操作状态机的空状态先响应所述指令请求信号,直到取到指令之后响应所述数据请求信号;
所述命令操作状态机在时钟的上升沿被触发,当所述命令操作状态机进入指令读响应状态时,给出读指令是否成功信号,所述指令状态机检测到所述读指令是否成功信号,转入所述指令空闲状态,进入下一个指令周期;
当所述数据状态机在数据空闲状态时,通过调用所述数据请求子模块判断是否有所述数据请求信号以及数据读信号是否为真,若所述数据请求信号为真且所述数据读信号为真,则转入数据读等待状态;通过调用所述数据请求子模块判断是否有所述数据请求信号以及数据写信号是否为真,若所述数据请求信号为真且所述数据写信号为真,则转入数据写等待状态;
当所述命令操作状态机进入数据读响应状态时,给出读数据是否成功信号,所述数据状态机检测到所述读数据是否成功信号,转入所述数据空闲状态;当所述命令操作状态机进入数据写响应状态时,给出写数据是否成功信号,所述数据状态机检测到所述写数据是否成功信号,转入所述数据空闲状态;
当所述命令操作状态机在命令空闲状态时,接收到数据写请求信号,转入数据写命令状态,在时钟的下降沿所述C*CORE310处理器给总线发送所述数据请求信号以及写数据和地址等信息;在下一个时钟的上升沿,所述命令操作状态机判断总线是否有返回的握手信号,若有,则进入数据写响应状态;在此时钟的下降沿,所述C*CORE310处理器发出数据请求成功信号;在时钟的上升沿,判断总线是否有返回的握手信号,若有,则进入所述命令空闲状态。
本发明提供的技术方案的有益效果是:
本发明提供了一种嵌入式微处理器的周期精确和位精确系统级模型,本发明针对C*CORE310嵌入式微处理器,采用新兴的ESL设计方法在不同的抽象层次上建立C*CORE310处理器的周期精确和位精确的系统级模型,该抽象模型包括周期精确和位精确的C*CORE310ISS和SystemC Wrapper等,可辅助设计者完成以C*CORE310处理器为核心的SoC功能验证与性能评测;同时也为基于C*CORE310处理器的SoC产品的顺利推广提供技术支持与保障;将所建立的周期精确和位精确的系统级模型与传统的RTL级模型比较,实验表明所建立的系统级模型可以获得与RTL级模型相似的精确度。
附图说明
图1为本发明提供的一种嵌入式微处理器的周期精确和位精确系统级模型示意图;
图2为本发明提供的指令集仿真流程框图;
图3为本发明提供的三级索引表图;
图4为本发明提供的基于索引技术的译码流程图;
图5为本发明提供的指令状态机图;
图6为本发明提供的数据状态机图;
图7为本发明提供的VCI握手协议图;
图8为本发明提供的命令操作状态机图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了提供C*CORE310处理器的周期精确和位精确的系统级模型,能够为基于C*CORE310处理器的SoC设计提供性能评估;并且能够为软件工程师提供软硬件协同开发和验证平台,本发明实施例提供了一种嵌入式微处理器的周期精确和位精确系统级模型,详见下文描述:
参见图1,一种嵌入式微处理器的周期精确和位精确系统级模型,嵌入式微处理器为C*CORE310处理器,系统级模型包括:指令集仿真器ISS和SystemC Wrapper,SystemC Wrapper运用系统级语言在抽象层次上封装指令集仿真器,调用指令集仿真器的运行函数,对指令进行取指、译码、执行和相应寄存器写回操作,通过VCI接口方法实现指令集仿真器与总线的指令和数据的交互。
指令集仿真器ISS作为C*CORE310处理器模型的核心,是运用C或C++语言在非定时抽象层次上描述的事务级模型。SystemC Wrapper运用SystemC系统级语言,在周期精确和位精确的抽象层次上封装指令集仿真器ISS,通过VCI信号转换接口技术实现ISS与总线的指令和数据的交互,具有时序的精确性。参见图1,C*CORE310ISS的模型运用了改进型的基于解释的技术,在译码阶段根据C*CORE310指令集独有的特点采用多级索引译码技术,改进了传统的译码方法。基于解释技术的指令集仿真策略是目前应用较广泛的一种仿真器实现技术,该仿真器实现技术与基于编译的技术相比具有实现简单、运用灵活的特点。在C*CORE310ISS模型过程中,首先在内存中建立有关C*CORE310处理器状态的数据结构,然后根据C*CORE310指令的流水线分别对指令进行取指、译码、执行和写回等操作,完成指令流水的仿真功能。
为了得到周期精确和位精确的C*CORE310处理器模型,采用SystemC封装指令集仿真器ISS,在SystemC进程中通过SystemC Wrapper调用指令集仿真器ISS中的运行函数来控制指令集仿真器ISS进行取指、译码、执行和相应寄存器写回操作。
VCI信号转换接口定义两个SC_METHOD进程,即transition()进程和genMoore()进程。transition()进程在时钟上升沿被触发,实现指令状态机、数据状态机和操作命令状态机的状态转换;而genMoore()进程在时钟下降沿被触发,通过VCI信号转换接口实现C*CORE310ISS的命令、数据、地址等信号与总线的通信。
参见图2,指令集仿真器ISS的模型描述了基于改进型解释技术的ISS模型过程,基于高级语言描述的应用经过C*CORE310处理器的交叉编译器得到二进制可执行代码,被装载器加载到虚拟的存储器中,SystemC Wrapper调用指令集仿真器ISS中的运行函数,对指令进行取指、译码、执行和寄存器写回等操作。按照图2中所示循环执行,直到程序结束或异常退出。
C*CORE310处理器定义了两种编程模式,分别是用户编程模式和管理员编程模式。在用户编程模式下,程序可访问16个32位通用寄存器和进位标志位(C位);在管理员编程模式下,程序可访问16个32位通用寄存器、16个替换寄存器以及特殊功能单元寄存器(例如:异常屏蔽寄存器EPSR、EPC、FPSRFPC,向量基址寄存器VBR等)。
指令集仿真器包括:请求取指子模块、指令响应子模块、译码子模块、指令执行子模块、数据请求子模块和数据响应子模块,
其中,请求取指子模块用于得到指令集仿真器ISS指令请求的参数,通过请求取指函数getInstructionRequest(bool&req,uint32_t&address)实现,req代表请求信号,address代表指令请求地址,在该函数每次被调用时,req被赋值为真。
其中,指令响应子模块用于获取指令,通过指令响应函数setInstruction(bool error,uint32_t ins)实现,error代表从存储器中取回的指令是否有错,error等于1表示有错;ins代表请求得到的指令。
其中,译码子模块用于执行指令译码操作,译码子模块通过译码函数decode()实现。
传统的指令译码逻辑针对每一条指令操作码给出其最大值和最小值,当进行指令译码时,将指令操作码的值逐一比较,查找到正确的区间完成译码。尽管这种译码逻辑简单易于实施,但是软件需要大量开销,严重降低了指令的仿真速度。针对C*CORE310指令集操作码长度不固定的特点,采用多级索引技术进行译码操作,将16长的指令平均分为4段,每一个字段长4位,在内存中建立多级索引表,参见图3,描述了一个三级索引表,第一级索引表中每一行的地址对应指令的第一字段值(高四位),第二级索引表中每一行的地址对应指令的第二字段值,依此类推。索引表的第一列指明译码成功的指令或者下一级索引表的起始地址,第二列是查找成功标志Flag。下面结合图4来说明基于多级索引技术的指令译码过程:
以指令的第一个字段(高四位)为地址在第一级索引表中寻找,判断查找成功标志Flag是否为真,若为真,则译码成功;否则该行给出第二级索引表的起始地址;以指令的第二个字段为地址在第二级索引表中寻找,判断查找成功标志Flag是否为真,若为真,则译码成功;否则该行给出第三级索引表的起始地址;以指令的第三个字段为地址在第三级索引表寻找,判断查找成功标志Flag是否为真,若为真,则译码成功;否则该行给出第四级索引表的起始地址;依此类推,最终完成译码操作。
其中,指令执行子模块用于完成相应的指令执行操作。
step()函数是ISS模型的重要入口函数,该函数调用了译码逻辑、指令执行逻辑及对异常做出相应处理。指令执行逻辑是由102个函数组成,每一个函数的实现都对应一条指令的功能,下面给出jmp跳转指令的具体实现方式:
Figure BDA0000059589820000071
在step()函数中根据所译码出的操作码,运用函数指针的具体方法找到相应的指令执行函数,完成指令执行操作。C*CORE310处理器的大部分指令是在1个周期内完成的,少部分的指令执行周期大于1,为了得到延迟精确的指令,setInsDelay()函数被用于多周期指令集中,下面给出setInsDelay()函数具体实现方式:
Figure BDA0000059589820000081
其中,数据请求子模块用于得到指令集仿真器ISS数据请求的数据,通过数据请求函数void getDataRequest(bool &req,enum DataAccessType&type,uint32_t&addr,uint32_t wdata[16],uint32_t&rnum,uint32_t&wnum)实现,req代表数据请求信号,type表明数据访问类型,address表示数据请求地址。由于C*CORE310处理器存在burst操作的存取指令,例如STM和LDM等指令,用函数参数wdata、rnum和wnum来支持burst操作的存取指令。dataAccessType支持读字、读半字和写字节等一系列访存操作,下面给出了具体实现方式:
其中,数据响应子模块将从虚拟存储器中取得的数据赋给通用寄存器,通过数据响应函数void setDataResponse(bool error,uint32_t rdata[16],uint32_t mum)实现,rdata[16]表示读操作数组,用于单个读操作或burst读操作,rnum是读请求的数目。虚拟部件接口VCI调用该数据响应函数,将从虚拟存储器中取得的数据赋给C*CORE310中的通用寄存器。
SystemC Wrapper是C*CORE310ISS的指令和数据控制器,通过由时钟驱动的SC_METHOD进程来控制指令集仿真器ISS与总线进行指令和数据的交互,能够达到周期精确和位精确。SystemC Wrapper用SystemC语言定义了transition()和genMoore()两种SC_METHOD进程。其中,genMoore()进程在时钟下降沿被触发,根据相应寄存器的现有值和输入信号来产生相应寄存器的输出值;另外,transition()进程根据相应寄存器的现有值和输入信号来计算相应寄存器下一状态的值,它包含三个状态机的转换,即指令状态机,数据状态机以及命令操作状态机,在时钟上升沿被触发,实现指令状态、数据状态和命令操作状态的转换。
参见图5,指令状态机在指令空闲状态INS_IDLE时,通过调用指令请求子模块判断是否有指令请求信号ireq.valid以及阻塞指令读操作r_block是否为假,若指令请求信号ireq.valid为真且阻塞指令读操作r_block为假,则转入指令等待状态INS_WAIT;当同时存在指令请求信号和数据请求信号时,命令操作状态机的空状态CMD_IDLE先响应指令请求信号,直到取到指令之后才响应数据请求信号,但此时下一条指令请求信号亦存在,阻塞指令读操作r_block的作用在于阻塞该指令的数据请求信号。
命令操作状态机在时钟上升沿被触发,当命令操作状态机进入指令读响应状态INS_READ_RSP时,给出读指令是否成功信号r_ins_rsp,指令状态机检测到该读指令是否成功信号r_ins_rsp,转入指令空闲状态INS_IDLE,从而进入下一个指令周期。
参见图6,数据状态机在数据空闲状态DATA_IDLE时,通过调用数据请求子模块判断是否有数据请求信号dreq.valid以及数据读信号read是否为真,若数据请求信号dreq.valid为真且数据读信号read为真,则转入数据读等待状态DATA_READ_WAIT;通过调用数据请求子模块判断是否有数据请求信号dreq.valid以及数据写信号write是否为真,若数据请求信号dreq.valid为真且数据写信号write为真,则转入数据写等待状态DATA_WRITE_WAIT。
当命令操作状态机进入数据读响应状态DATA_READ_RSP时,给出读数据是否成功信号r_data_read_rsp,数据状态机检测到读数据是否成功信号r_data_read_rsp,转入数据空闲状态DATA_IDLE;当命令操作状态机进入数据写响应状态DATA_WRITE_RSP时,给出写数据是否成功信号r_data_write_rsp,数据状态机检测到写数据是否成功信号r_data_write_rsp,转入数据空闲状态DATA_IDLE。
命令操作状态机使用虚拟部件接口VCI的标准协议以控制指令集仿真器ISS的指令和数据分别与总线的交互。参见图7,展示了作为VCI发起者的C*CORE310处理器与作为VCI接收者的总线,通过两次握手进行通信的例子。握手协议的目的是通过在两个方向上传输控制信息来同步VCI发起者和VCI接收者。在请求方向上,握手信号被称为CMDVAL和CMDACK,而在响应方向上,握手信号被称为RSPVAL和RSPACK。
参见图8,当命令操作状态机在命令空闲状态CMD_IDLE时,接收到数据写请求信号r_data_write_req,转入数据写命令状态DATA_WRITE_CMD,在时钟的下降沿作为VCI发起者的C*CORE310处理器给作为VCI接收者的总线发送握手信号p_vci.cmdval以及写数据和地址等信息;在下一个时钟的上升沿,判断总线是否有返回的握手信号p_vci.cmdack,若有,则进入数据写响应状态DATA_WRITE_RSP;在时钟的下降沿,VCI发起者的C*CORE310处理器发出数据请求成功信号p_vci.rspack;在时钟的上升沿,判断总线是否有返回的握手信号p_vci.rspval,若有,则进入命令空闲状态CMD_IDLE,此时,完成了一个完整的写操作。
综上所述,本发明实施例提供了一种嵌入式微处理器的周期精确和位精确系统级模型,本发明实施例针对C*CORE310嵌入式微处理器,采用新兴的ESL设计方法在不同的抽象层次上建立C*CORE310处理器的周期精确和位精确的系统级模型,该抽象模型包括周期精确和位精确的C*CORE310处理器的ISS和SystemC Wrapper等,可辅助设计者完成以C*CORE310处理器为核心的SoC功能验证与性能评测;同时也为基于C*CORE310处理器的SoC产品的顺利推广提供技术支持与保障;将所建立的周期精确和位精确的系统级模型与传统的RTL级模型比较,实验表明所建立的系统级模型可以获得与RTL级模型相似的精确度。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种嵌入式微处理器的周期精确和位精确系统级模型,所述嵌入式微处理器为C*CORE310处理器,其特征在于,所述系统级模型包括:指令集仿真器和SystemC Wrapper,所述SystemC Wrapper运用系统级语言在抽象层次上封装所述指令集仿真器,调用指令集仿真器的运行函数,对指令进行取指、译码、执行和相应寄存器写回操作,通过VCI接口方法实现指令集仿真器与总线的指令和数据的交互;所述C*CORE310处理器包括:用户编程模式和管理员编程模式,在所述用户编程模式下,访问16个32位通用寄存器和进位标志位;在所述管理员编程模式下,访问16个32位通用寄存器、16个替换寄存器以及特殊功能单元寄存器。
2.根据权利要求1所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,
通过所述SystemC Wrapper调用所述指令集仿真器中的运行函数来控制所述指令集仿真器进行取指、译码、执行和所述相应寄存器写回操作。
3.根据权利要求2所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,所述SystemC Wrapper包括:transition()进程和genMoore()进程,所述transition()进程在时钟上升沿被触发,实现指令状态机、数据状态机和命令操作状态机的状态转换,根据所述相应寄存器的现有值和输入信号来计算所述相应寄存器下一状态的值;所述genMoore()进程在时钟下降沿被触发,通过所述VCI接口方法实现所述指令集仿真器的命令、数据和地址分别与总线的通信;根据所述相应寄存器的现有值和输入信号来产生所述相应寄存器的输出值。
4.根据权利要求3所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,所述指令集仿真器包括:请求取指子模块、指令响应子模块、译码子模块、指令执行子模块、数据请求子模块和数据响应子模块,
所述请求取值子模块用于请求所述指令集仿真器的指令信息;
所述指令响应子模块用于获取指令;
所述译码子模块用于执行指令译码操作;
所述指令执行子模块用于完成相应的指令执行操作;
所述数据请求子模块用于请求所述指令集仿真器的数据;
所述数据响应子模块将从存储器中取得的数据赋给所述通用寄存器。
5.根据权利要求1所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,所述系统级模型采用多级索引进行译码操作,将16字长的指令平均分为4段,每一个字段长4位,在内存中建立多级索引表。
6.根据权利要求5所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,所述系统级模型采用多级索引进行译码操作具体为:
以指令的第一个字段为地址在第一级索引表中寻找,判断查找成功标志是否为真,若为真,则译码成功;否则该行给出第二级索引表的起始地址;以指令的第二个字段为地址在第二级索引表中寻找,判断所述查找成功标志是否为真,若为真,则译码成功;否则该行给出第三级索引表的起始地址;以指令的第三个字段为地址在第三级索引表寻找,判断所述查找成功标志是否为真,若为真,则译码成功;否则该行给出第四级索引表的起始地址;依此类推,最终完成译码操作。
7.根据权利要求4所述的一种嵌入式微处理器的周期精确和位精确系统级模型,其特征在于,
当所述指令状态机在指令空闲状态时,通过调用所述指令请求子模块判断是否有指令请求信号以及阻塞指令读操作是否为假,若所述指令请求信号为真且所述阻塞指令读操作为假,则转入指令等待状态;当同时存在所述指令请求信号和数据请求信号时,所述命令操作状态机的空状态先响应所述指令请求信号,直到取到指令之后响应所述数据请求信号;
所述命令操作状态机在时钟的上升沿被触发,当所述命令操作状态机进入指令读响应状态时,给出读指令是否成功信号,所述指令状态机检测到所述读指令是否成功信号,转入所述指令空闲状态,进入下一个指令周期;
当所述数据状态机在数据空闲状态时,通过调用所述数据请求子模块判断是否有所述数据请求信号以及数据读信号是否为真,若所述数据请求信号为真且所述数据读信号为真,则转入数据读等待状态;通过调用所述数据请求子模块判断是否有所述数据请求信号以及数据写信号是否为真,若所述数据请求信号为真且所述数据写信号为真,则转入数据写等待状态;
当所述命令操作状态机进入数据读响应状态时,给出读数据是否成功信号,所述数据状态机检测到所述读数据是否成功信号,转入所述数据空闲状态;当所述命令操作状态机进入数据写响应状态时,给出写数据是否成功信号,所述数据状态机检测到所述写数据是否成功信号,转入所述数据空闲状态;
当所述命令操作状态机在命令空闲状态时,接收到数据写请求信号,转入数据写命令状态,在时钟的下降沿所述C*CORE310处理器给总线发送所述数据请求信号以及写数据和地址等信息;在下一个时钟的上升沿,所述命令操作状态机判断总线是否有返回的握手信号,若有,则进入数据写响应状态;在此时钟的下降沿,所述C*CORE310处理器发出数据请求成功信号;在时钟的上升沿,判断总线是否有返回的握手信号,若有,则进入所述命令空闲状态。
CN 201110116652 2011-05-06 2011-05-06 嵌入式微处理器的周期精确和位精确系统级模型构建方法 Active CN102184290B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110116652 CN102184290B (zh) 2011-05-06 2011-05-06 嵌入式微处理器的周期精确和位精确系统级模型构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110116652 CN102184290B (zh) 2011-05-06 2011-05-06 嵌入式微处理器的周期精确和位精确系统级模型构建方法

Publications (2)

Publication Number Publication Date
CN102184290A true CN102184290A (zh) 2011-09-14
CN102184290B CN102184290B (zh) 2013-02-06

Family

ID=44570467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110116652 Active CN102184290B (zh) 2011-05-06 2011-05-06 嵌入式微处理器的周期精确和位精确系统级模型构建方法

Country Status (1)

Country Link
CN (1) CN102184290B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789521A (zh) * 2012-06-27 2012-11-21 北京大学深圳研究生院 集成电路流水线设计验证方法、系统及其模型实现方法
CN102788950A (zh) * 2012-06-27 2012-11-21 北京大学深圳研究生院 一种周期精确转换器及其集成电路验证方法和系统
CN103927219A (zh) * 2014-05-04 2014-07-16 南京大学 可重构专用处理器核的周期精确的仿真模型及其硬件架构
CN105993000A (zh) * 2013-10-27 2016-10-05 超威半导体公司 用于浮点寄存器混叠的处理器和方法
CN108038283A (zh) * 2017-11-30 2018-05-15 北京时代民芯科技有限公司 一种虚拟时钟同步的高效高覆盖率SoC验证平台
CN116842902A (zh) * 2023-08-29 2023-10-03 深圳鲲云信息科技有限公司 针对黑盒模型的系统级仿真建模方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450450A (zh) * 2003-05-15 2003-10-22 复旦大学 采用双指令集的32位嵌入式微处理器
CN1760848A (zh) * 2005-11-01 2006-04-19 苏州国芯科技有限公司 一种C*Core微处理器应用AMBA总线的设计方法
US7606694B1 (en) * 2006-03-24 2009-10-20 Xilinx, Inc. Framework for cycle accurate simulation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1450450A (zh) * 2003-05-15 2003-10-22 复旦大学 采用双指令集的32位嵌入式微处理器
CN1760848A (zh) * 2005-11-01 2006-04-19 苏州国芯科技有限公司 一种C*Core微处理器应用AMBA总线的设计方法
US7606694B1 (en) * 2006-03-24 2009-10-20 Xilinx, Inc. Framework for cycle accurate simulation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《C*CORE与MCORE的嵌入式应用》 20070430 王易怀,朱巧明,郑茳 C*CORE与MCORE的嵌入式应用 清华大学出版社 第1-24页 1 , *
《中国优秀博硕士学位论文全文数据库》 20061215 张辉 基于国产CPU的嵌入式教学系统的研究与设计 全文 1-7 , *
《中国优秀博硕士学位论文全文数据库》 20101015 魏继增 可配置可扩展处理器关键问题研究 , *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102789521A (zh) * 2012-06-27 2012-11-21 北京大学深圳研究生院 集成电路流水线设计验证方法、系统及其模型实现方法
CN102788950A (zh) * 2012-06-27 2012-11-21 北京大学深圳研究生院 一种周期精确转换器及其集成电路验证方法和系统
CN102788950B (zh) * 2012-06-27 2014-10-01 北京大学深圳研究生院 一种周期精确转换器及其集成电路验证方法和系统
CN102789521B (zh) * 2012-06-27 2014-10-15 北京大学深圳研究生院 集成电路流水线设计验证方法、系统及其模型实现方法
CN105993000A (zh) * 2013-10-27 2016-10-05 超威半导体公司 用于浮点寄存器混叠的处理器和方法
CN103927219A (zh) * 2014-05-04 2014-07-16 南京大学 可重构专用处理器核的周期精确的仿真模型及其硬件架构
CN108038283A (zh) * 2017-11-30 2018-05-15 北京时代民芯科技有限公司 一种虚拟时钟同步的高效高覆盖率SoC验证平台
CN116842902A (zh) * 2023-08-29 2023-10-03 深圳鲲云信息科技有限公司 针对黑盒模型的系统级仿真建模方法
CN116842902B (zh) * 2023-08-29 2023-11-21 深圳鲲云信息科技有限公司 针对黑盒模型的系统级仿真建模方法

Also Published As

Publication number Publication date
CN102184290B (zh) 2013-02-06

Similar Documents

Publication Publication Date Title
US7509604B1 (en) Method and apparatus for formally comparing stream-based designs
CN102508753B (zh) Ip核验证系统
US20050039174A1 (en) Apparatus and method for co-simulating processors and DUT modules
CN102184290B (zh) 嵌入式微处理器的周期精确和位精确系统级模型构建方法
EP1966730A2 (en) System and method for generating a plurality of models at different levels of abstraction from a single master model
US7437282B2 (en) Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator
CN102073480B (zh) 基于时分复用实现多核处理器内核模拟的方法
Di Guglielmo et al. UNIVERCM: the UNIversal VERsatile Computational Model for heterogeneous system integration
US6810373B1 (en) Method and apparatus for modeling using a hardware-software co-verification environment
CN109840878A (zh) 一种基于SystemC的面向GPU参数管理方法
Posadas et al. M3-SCoPE: performance modeling of multi-processor embedded systems for fast design space exploration
CN111176926B (zh) 一种基于双口sram的ip核仿真系统及仿真方法
Hsu et al. An accurate system architecture refinement methodology with mixed abstraction-level virtual platform
Lapalme et al. . NET framework-a solution for the next generation tools for system-level modeling and simulation
Acquaviva et al. Semi-automatic generation of device drivers for rapid embedded platform development
Lantreibecq et al. Model checking and co-simulation of a dynamic task dispatcher circuit using CADP
Bombieri et al. Correct-by-construction generation of device drivers based on RTL testbenches
Tasiran et al. Using formal specifications to monitor and guide simulation: Verifying the cache coherence engine of the Alpha 21364 microprocessor
Ma et al. Performance estimation techniques with mpsoc transaction-accurate models
Roychoudhury et al. Automatic generation of protocol converters from scenario-based specifications
CN116842902B (zh) 针对黑盒模型的系统级仿真建模方法
CN115828590A (zh) 一种处理器辐照效应建模及仿真系统构建方法
Shibata et al. A fast performance estimation framework for system-level design space exploration
Wieferink et al. Retargetable generation of TLM bus interfaces for MP-SoC platforms
Boukhechem et al. SystemC transaction-level modeling of an MPSoC platform based on an open source ISS by using interprocess communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200921

Address after: No.5 building, Xin'an venture Plaza, marine high tech Development Zone, Binhai New Area, Tianjin

Patentee after: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 300072 Tianjin City, Nankai District Wei Jin Road No. 92

Patentee before: Tianjin University

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 300000 Building 5, Xin'an pioneer Plaza, Binhai New Area marine high tech Development Zone, Tianjin

Patentee after: Feiteng Information Technology Co.,Ltd.

Address before: 300000 Building 5, Xin'an pioneer Plaza, Binhai New Area marine high tech Development Zone, Tianjin

Patentee before: TIANJIN FEITENG INFORMATION TECHNOLOGY Co.,Ltd.