可重构专用处理器核的周期精确的仿真模型及其硬件架构的制作方法

文档序号:6545490阅读:598来源:国知局
可重构专用处理器核的周期精确的仿真模型及其硬件架构的制作方法
【专利摘要】本发明涉及一种可重构专用处理器核的周期精确的仿真模型,基于SystemC周期精确模型,包括控制模块,发出配置参数,用于控制与所述模型外部的交互以及模型内部的各模块的工作状态;传输模块,接收所述控制模块发出的配置参数,用于与专用处理器核外部以及专用处理器核内部的数据传输;运算模块,接收所述控制模块发出的配置参数,用于根据接收到的配置参数所述选定设定的算法进行运算。有益效果为:本发明基于SystemC语言建模,因此,具有良好的软硬件接口;本发明是周期精确模型,因此,能很好的仿真出硬件的时序逻辑,以便快速发现问题;相比其他的仿真工具、验证平台,该模型的验证平台搭建简单,仿真速度快。
【专利说明】可重构专用处理器核的周期精确的仿真模型及其硬件架构
【技术领域】
[0001]本发明涉及一种可重构专用处理器核周期精确模型,适用于数字电路软硬件系统设计验证,为可重构专用处理器核的仿真和验证提供一种测试仿真验证平台。
【背景技术】
[0002]随着SoC复杂度呈现出指数级的增长,由于RTL级的设计复杂度大、设计周期长,而软件的设计必须等到硬件设计完成后才能集成测试,这会使整个设计的周期变得很长。但SoC系统越来越复杂,使得工期增长,上市时间越来越短,传统的RTL级设计已经满足不了设计的需求,迫使设计者们寻求一种新的设计方法即ESL(电子系统级)设计。在ESL设计中,SoC系统的描述和仿真速度快,是设计工程师可以快速地分析SoC系统结构的优劣。一方面,功能正确和时钟精确的执行环境使提前开发软件成为可能,缩短了软硬件集成的时间;另一方面,系统设计更早的与验证流程相结合,能确定工程开发产品的正确性。
[0003]SystemC是一种软硬件协同设计语目,一种系统级建模语目。SystemC是在C++基础上扩展了硬件类和仿真核形成的,由于结合了面向对象设计编程和硬件建模机制原理两方面的特点,所以这使得SystemC可以在抽象层次上的不同级进行系统设计。系统硬件部分可以用SystemC类来描述,其基本单元是模块,模块内可包含子模块、端口或过程,模块之间通过端口和信号进行连接和通信。事务级建模作为ESL设计的核心,将运算功能和通信功能分开,模块之间的通信通过函数调用来实现,减少了事件和信息的处理。通信机制(如总线或者FIFO)被建模成信道,并且以SystemC接口类的形式向模块呈现。并且能够根据具体的事件需求提供相应的设计进度。事务级建模在抽象层次上描述SoC系统,可以分为三种模型,即:非定时的模型、周期近似的模型、周期精确模型。

【发明内容】

[0004]本发明目的在于克服以上现有技术之不足,提供一种具有良好的软硬件接口、高效的可重构专用处理器核的周期精确的仿真模型及其硬件架构,具体由以下技术方案实现:
所述可重构专用处理器核的周期精确的仿真模型,基于SystemC周期精确模型,包括控制模块,发出配置参数,用于控制与所述模型外部的交互以及模型内部的各模块的工作状态;
传输模块,接收所述控制模块发出的配置参数,用于与专用处理器核外部以及专用处理器核内部的数据传输;
运算模块,接收所述控制模块发出的配置参数,用于根据接收到的配置参数所述选定设定的算法进行运算。
[0005]所述可重构专用处理器核的周期精确的仿真模型的进一步设计在于,所述控制模块、传输模块以及运算模块之间通过函数调用模拟各个模块端口之间的信号通信,实现模块两两之间的通信连接,并通过在所述函数中加入时序信息模拟数字电路中的寄存器非阻塞赋值,建立流水线,得到仿真的波形上运算输入数据和运算输出数据周期精确模型。
[0006]所述可重构专用处理器核的周期精确的仿真模型的进一步设计在于所述控制模块包括
配置单元,根据设置配置单元中的寄存器完成对控制模块的配置、启动操作;
中断、异常处理单元,包括中断处理单元与异常处理单元,接收控制模块与运算模块的中断信号与异常信号,用于实现对各级中断分别处理,以及运算模块异常的处理;
状态查询单元,用于对各模块状态的查询,以确定对应模块的后续操作。
[0007]所述可重构专用处理器核的周期精确的仿真模型的进一步设计在于,所述运算模块由若干个运算子单元组成,每个运算单元对应一种算法的建模。
[0008]根据所述可重构专用处理器核的周期精确的仿真模型,提供一种可重构专用处理器核的周期精确的仿真模型的硬件架构,所述硬件架构包括可重构计算阵列单元、主控制器、配置寄存器、重构控制器、访存开关网络、存储器、DMA单元以及总线接口,所述重构控制器、配置寄存器、DMA接口以及总线接口分别与主控制器通信连接,所述重构控制器、配置寄存器分别与主控制器通信连接形成所述控制模块;可重构专用处理器核通过访存开关网络与存储器通信连接形成所述运算模块;所述传输模块包括所述DMA单元与总线接口,所述DMA单元与主控制器通信连接,所述总线接口通过所述DMA单元与存储器通信连接形成数据通道,所述总线接口分别与所述配置寄存器以及总控制器通信连接形成控制通道。
[0009]所述可重构专用处理器核的周期精确的仿真模型的硬件架构的进一步设计在于,所述总线接口为AXI接口。
[0010]本发明的优点如下:
(I )、本发明基于SystemC语言建模,因此,具有良好的软硬件接口 ;
(2)、本发明是周期精确模型,因此,能很好的仿真出硬件的时序逻辑,以便快速发现问
题;
(3 )、相比其他的仿真工具(VCS)、验证平台(FPGA),该模型的验证平台搭建简单,仿真速度快。
【专利附图】

【附图说明】
[0011]图1是可重构专用处理器核的硬件架构图。
[0012]图2是可重构专用处理器和周期精确模型简化架构图。
[0013]图3是主控制器配置模块接口。
[0014]图4是中断处理模块接口。
[0015]图5是异常处理模块接口。
[0016]图6是状态查询模块接口。
[0017]图7是DMA数据传输模块接口。
[0018]图8是不同仿真验证平台性能比较图。
【具体实施方式】
[0019]下面结合附图对本发明方案进行详细说明。
[0020]本实施例提供的可重构专用处理器核的周期精确的仿真模型,基于SystemC周期精确模型,包括控制模块、传输模块以及运算模块。控制模块,发出配置参数,用于控制与所述模型外部的交互以及模型内部的各模块的工作状态。传输模块,接收所述控制模块发出的配置参数,用于与专用处理器核外部以及专用处理器核内部的数据传输。运算模块,接收所述控制模块发出的配置参数,用于根据接收到的配置参数所述选定设定的算法进行运

[0021]进一步的,控制模块、传输模块以及运算模块之间通过函数调用模拟各个模块端口之间的信号通信,实现模块两两之间的通信连接,并通过在函数中加入时序信息模拟数字电路中的寄存器非阻塞赋值,进而建立流水线,得到仿真的波形上运算输入数据和运算输出数据周期精确模型。
[0022]其中,控制模块主要由配置单元、中断、异常处理单元、信号与异常信号以及状态查询单元组成。本实施例的配置单元,根据设置配置单元中的寄存器完成对控制模块的配置、启动操作。配置单元的输入输出接口包括可重构专用处理器核工作模式(主设备、从设备),配置寄存器起始地址Reg_Addr,运算模块选择Module_Sel,参见图3。
[0023]本实施例的中断、异常处理单元,包括中断处理单元与异常处理单元,参见图4、图5,接收控制模块与运算模块的中断信号与异常信号,用于实现对各级中断分别处理,以及运算模块异常的处理。
[0024]本实施例的状态查询单元,用于外部数据信号处理器(DSP)等外部设备对该模型内各模块状态的查询,以确定对应模块的后续操作,参见图6。
[0025]本实施例的运算模块由17个运算子单元组成,每个运算单元对应一种算法的建模。其中包括FFT/IFFT运 算,向量自相关、互相关、加减法、乘法、矩阵求逆、加减法、乘法、点乘、协方差、实数/复数FIR、实数/复数多普勒、定浮转换以及复数求模等运算。运算模块根据控制模块的配置参数,实现特定算法的运算,该模块是整个系统建模的主要部分,也是芯片的核心部分。
[0026]根据上述可重构专用处理器核的周期精确的仿真模型,提供一种可重构专用处理器核的周期精确的仿真模型的硬件架构。该硬件架构主要由可重构计算阵列单元、主控制器、配置寄存器、重构控制器、访存开关网络、存储器、DMA单元以及总线接口组成。
[0027]其中,重构控制器、配置寄存器、DMA接口以及总线接口分别与主控制器通信连接,重构控制器、配置寄存器分别与主控制器通信连接形成上述控制模块。
[0028]可重构专用处理器核通过访存开关网络与存储器通信连接形成上述运算模块。
[0029]传输模块主要由DMA单元与总线接口组成,DMA单元与主控制器通信连接。总线接口通过DMA单元与存储器通信连接形成数据通道,总线接口分别与配置寄存器以及总控制器通信连接形成控制通道。本实施例采用的总线接口为AXI接口。
[0030]本发明是基于SystemC周期精确模型,因此,该模型与RTL级还具有周期基本一致性。该模型包括控制模块、传输模块、预算模块。运用系统级语言在抽象层次上封装,并通过端口与外界通信,模块之间通过信号交换数据。信号是数据容器,当数据发生改变时,产生事件,驱动仿真器。信号建立了模块间的直接连接。而端口可以看作“信号指针”,端口与一个信号关联在一起。SystemC信号和端口支持延迟赋值,通过一个Λ延迟建模硬件信号的行为。△延迟是最小的仿真步。仿真核支持△周期,一个△周期包含了许多估值和更新相。一个仿真时间有多个Λ周期。当事件调用函数notify O时,将在仿真环境的Λ事件队列中插入这个事件。用requestO发出更新请求,在更新时调用updataO更新信号。
[0031]SystemC中端口和信号的读写正是基于Λ延迟实现的。受时钟触发的时序逻辑电路中提供的写方法,在时间片结束时才对其进行数据的更新。所以在本周期读取的端口和信号是上个周期的数据,而本周期更新的数据要到下个周期才能读取。端口和信号的这个属性正是与高级语言普通数据类型的重要区别之一。所以,利用这一特点就可以实现硬件上的寄存器、存储器等模型,可以用来模拟数字电路中的寄存器非阻塞赋值。
[0032]本发明中采用非阻塞赋值延迟来实现流水建立时间的过渡。一般地,在数字电路中加法器、乘法器和除法器等都不可能在一个周期内完成运算,并且在设计中有可能需求加法器与乘法器的组合组成乘累加起等等。这些在数字电路设计中,往往流水的方式进行设计,这样可以是设计达到更小的时间要求。而相对于高级语言,加减法、乘除法都是可以在一个周期内完成运算。在受时钟触发的时序逻辑电路中,一个流水线的实现需要经过一段的流水建立时间,才能实现每个周期都能完成一个运算数据的输出。所以,在本周期内输入的数据需要,需要经过N个周期后输出的数据才是本次运算的结果。本发明中实现方法是利用非阻塞赋值实现N个周期的数据输入延迟来模拟流水线。所以,利用这一特点就可以在仿真的波形上运算输入数据和运算输出数据周期精确模型,并且能实现流水线的建立。
[0033]本发明为了使模型周期更加精确,在设计结束后的验证过程中,不仅验证模型功能上的正确性,同时验证模型时序、周期上的正确性。并通过人为的校正,实现模型的周期尽可能的准确。由于在硬件设计过程中,特别在后期bug调试中,往往会影响到硬件设计的周期数,但在模型中不一定存在这种bug,所以,就需要通过人为地增加延迟来满足周期数的一致性。
[0034]本发明实现的是一种可重构专用处理器核周期精确模型,其目的在于实现可重构专用处理器核的仿真。如图8,高级语言在仿真速度上有着明显的优势,能快速地定位问题的所在。并且其仿真环境的搭建也比较简单,能随时进行仿真测试。
【权利要求】
1.可重构专用处理器核的周期精确的仿真模型,基于SystemC周期精确模型,其特征在于包括 控制模块,发出配置参数,用于控制与所述模型外部的交互以及模型内部的各模块的工作状态; 传输模块,接收所述控制模块发出的配置参数,用于与专用处理器核外部以及专用处理器核内部的数据传输; 运算模块,接收所述控制模块发出的配置参数,用于根据接收到的配置参数所述选定设定的算法进行运算。
2.根据权利要求1所述的可重构专用处理器核的周期精确的仿真模型,其特征在于所述控制模块、传输模块以及运算模块之间通过函数调用模拟各个模块端口之间的信号通信,实现模块两两之间的通信连接,并通过在所述函数中加入时序信息模拟数字电路中的寄存器非阻塞赋值,建立流水线,得到仿真的波形上运算输入数据和运算输出数据周期精确模型。
3.根据权利要求2所述的可重构专用处理器核的周期精确的仿真模型,其特征在于所述控制模块包括 配置单元,根据设置配置单元中的寄存器完成对控制模块的配置、启动操作; 中断、异常处理单元,包括中断处理单元与异常处理单元,接收控制模块与运算模块的中断信号与异常信号,用于实现对各级中断分别处理,以及运算模块异常的处理; 状态查询单元,用于对各模块状态的查询,以确定对应模块的后续操作。
4.根据权利要求1所述的可重构专用处理器核的周期精确的仿真模型,其特征在于所述运算模块由若干个运算子单元组成,每个运算单元对应一种算法的建模。
5.根据权利要求1-4的任意一项所述的可重构专用处理器核的周期精确的仿真模型,提供一种可重构专用处理器核的周期精确的仿真模型的硬件架构,其特征在于所述硬件架构包括可重构计算阵列单元、主控制器、配置寄存器、重构控制器、访存开关网络、存储器、DMA单元以及总线接口,所述重构控制器、配置寄存器、DMA接口以及总线接口分别与主控制器通信连接,所述重构控制器、配置寄存器分别与主控制器通信连接形成所述控制模块;可重构专用处理器核通过访存开关网络与存储器通信连接形成所述运算模块;所述传输模块包括所述DMA单元与总线接口,所述DMA单元与主控制器通信连接,所述总线接口通过所述DMA单元与存储器通信连接形成数据通道,所述总线接口分别与所述配置寄存器以及总控制器通信连接形成控制通道。
6.根据权利要求1所述可重构专用处理器核的周期精确的仿真模型的硬件架构,其特征在于所述总线接口为AXI接口。
【文档编号】G06F17/50GK103927219SQ201410183168
【公开日】2014年7月16日 申请日期:2014年5月4日 优先权日:2014年5月4日
【发明者】潘红兵, 李丽, 包志忠, 吕飞, 樊恩辰, 李可生, 杨博, 徐天伟, 陈辉, 何书专, 沙金, 李伟 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1