矢量运算硬件加速器多核级联的周期精确模型的制作方法

文档序号:15931811发布日期:2018-11-14 01:45阅读:239来源:国知局

本发明属于测试仿真验证平台领域,尤其涉及一种矢量运算硬件加速器多核级联周期精确模型。

背景技术

随着ic(集成电路)技术的迅猛发展,soc(systemonchip)已经成为当今集成电路设计的发展方向。随着soc系统复杂程度不断提高,系统级设计验证已成为soc设计中面临的巨大挑战。集成电路设计界一直在考虑如何满足soc的设计要求,这就需要一种能同时实现较高层次软件和硬件联合描述的系统级设计语言。

systemc是一种软硬件协同设计语言,一种系统级建模语言。systemc是在c++基础上扩展了硬件类和仿真核形成的,由于结合了面向对象设计编程和硬件建模机制两方面的特点,使得systemc可以在抽象层次上的不同级进行系统设计。系统硬件部分可以用systemc类来描述,其基本单元是模块,模块内可包含子模块、端口或过程,模块之间通过端口和信号进行连接和通信。事务级建模作为esl设计的核心,将运算功能和通信功能分开,模块之间的通信通过函数调用来实现,减少了事件和信息的处理。通信机制(如总线或者fifo)被建模成信道,以systemc接口类的形式向模块呈现。并且能够根据具体的事件需求提供相应的设计进度。事务级建模在抽象层次上描述soc系统,可以分为三种模型,即:非定时模型、周期近似模型和周期精确模型。

随着单颗芯片上组件数目不断增加,以及这些组件的性能不断增长,使得互连通信结构的设计成为限制系统面积、性能与功耗的主要方面。尤其是对于集成度高的mpsoc(multiprocessorsystem-on-chip),其性能更多依赖于处理器间的有效通信与负载均衡,而不只是处理器核的运算速度。所以芯片上多核互联通信结构成了片上系统的性能瓶颈之一。因此,如何提供一套高性能的系统互联通信方案,以满足芯片上多处理核之间的片上数据传输需求已经成为了当今多核soc设计亟待解决的问题。片上级联技术的提出,为mpsoc提供了更好的互联解决方案,与传统的片上通信方式相比,有效避免了互联冲突,且具有更低的资源开销和更好的扩展性。



技术实现要素:

本发明目的在于提供一种具有良好的软硬件接口、高效的矢量运算硬件加速器的周期精确仿真模型与mpsoc片上多核级联的周期精确仿真模型及其硬件架构,使其具有更高的硬件资源利用率和更好的扩展性。本发明的技术方案具体实现方案如下:

所述矢量运算硬件加速器多核级联的周期精确仿真模型,基于systemc周期精确模型,包括:

控制模块,产生配置参数并输出,用于控制与所述模型外部的交互、模型内部各模块的工作状态以及根据不同算法运算点数大小切换数据传输、数据划分以及数据地址映射的方式;

传输模块,接收所述配置参数,根据配置参数完成专用处理器核外部的数据与地址传输、专用处理器核内部的数据与地址传输以及级联模式下多个专用处理器核之间的数据与地址传输;

运算模块,接收所述配置参数,根据配置参数选定相应的基础运算单元,并将运算单元搭建成由配置参数决定的算法运算模块后,进行运算。

存储模块,接收所述配置参数,根据配置参数存储所述运算模块运算时所需的数据以及所述运算模块运算时产生的中间结果和最终结果。

所述矢量运算硬件加速器多核级联的周期精确仿真模型的进一步设计在于,所述控制模块、传输模块,运算模块以及存储模块之间通过函数调用模拟各个模块端口之间的信号通信,实现模块两两之间的通信连接;通过模仿硬件结构建立多阶流水的底层算法ip;通过sram仿真模型模拟核内以及核间数据存储划分的方法;通过在所述函数中加入时序信息模拟数字电路中的寄存器非阻塞赋值,进而建立流水线,得到仿真波形上运算输入数据和运算输出数据周期精确模型;并通过在所述传输模块中的axi总线模型单元模拟硬件实现中数据在axi总线上传输时的延时,得到数据传输的周期精确模型。

所述矢量运算硬件加速器多核级联的周期精确仿真模型的进一步设计在于,所述控制模块包括:

设备配置单元,根据设置配置单元中的寄存器完成对所述主控制器单元的配置、启动操作;

主控制器单元,根据设置主控制器单元中的寄存器完成对所述运算模块和dma单元的配置、启动操作;

dma单元,根据主控制器单元的配置参数完成对数据传输、数据划分以及地址映射方式的配置。

所述矢量运算硬件加速器多核级联的周期精确仿真模型的进一步设计在于,所述传输模块接收所述配置参数,传输模块包括两个axi接口单元、级联仲裁单元以及axi总线,所述axi接口单元与axi总线构成核内数据传输的通路,级联仲裁单元与axi总线构成核间传输的通路,两个axi接口单元通过配置参数进行仲裁。

所述矢量运算硬件加速器多核级联的周期精确仿真模型的进一步设计在于,所述运算模块包括复数加减法运算子单元与复数乘除法运算子单元,根据配置参数将运算单元构建成对应算法的模型,所述算法矢为量运算算法包括fft算法、fir算法以及矩阵乘累加算法,。

6、根据权利要求1所述的矢量运算硬件加速器多核级联的周期精确的仿真模型,其特征在于所述存储模块由若干个的sram存储单元组成,实现运算模块流水线化的算法运算;每个sram存储单元由若干个存储块子单元组成,每个存储块拥有可实现乒乓操作的独立通道将所述存储模块数据搬运时间和运算模块算法运算时间相互掩盖。

本发明的优点

(1)本发明基于systemc语言建模,具有良好的软硬件接口。

(2)本发明是周期精确模型,因此,能很好地仿真出硬件的时序逻辑,以便快速发现问题。

(3)本发明采用多核级联架构,因此,实现了核间存储共享、数据传输互联,可支持运算规模更大的算法。

(4)该模型仿真精度高,仿真速度快。

附图说明

图1是多核矢量运算硬件加速器周期精确模型精简架构图。

图2是多核矢量运算硬件加速器周期精确模型dma数据传输模块控制算法流图。

具体实施方式

下面结合附图和具体实现案例对本发明进行详细说明。

本实施例提供的矢量运算硬件加速器多核级联的周期精确仿真模型,采用systemc周期精确模型,包括控制模块、传输模块、运算模块以及存储模块。控制模块,产生配置参数,用于控制与所述模型外部的交互、模型内部各模块的工作状态以及根据不同算法运算点数大小切换数据传输、数据划分以及数据地址映射的方式;传输模块,接收所述控制模块产生的配置参数,用于与专用处理器核外部、专用处理器核内部的数据和地址传输以及级联模式下多个专用处理器核之间的数据和地址传输;运算模块,接收所述控制模块产生的配置参数,用于选定相应的基础运算单元,并将其搭建成由配置参数决定的算法运算模块,进行运算。存储模块,接收所述控制模块产生的配置参数,用于存储所述运算模块运算时所需的数据,以及所述运算模块运算时产生的中间结果和最终结果。

本实施例的控制模块主要由主控制器单元以及dma单元组成。其中主控制器单元,根据设置配置单元中的寄存器完成对所述主控制器单元的配置、启动操作,主控制器单元的输入输出接口包括矢量运算硬件加速器工作模式(主设备、从设备),配置寄存器起始地址reg_addr,运算模块选择module_sel。dma单元接收主控制器单元的配置参数,根据配置参数中的数据长度决定dma每次从外部ddr模块搬运到存储模块的数据大小以及搬运的次数,根据配置参数中的运算算法类型决定所需数据从外部ddr模块搬运到存储模块中以及从存储模块写出到外部ddr模块的地址映射方式。dma单元的输入输出接口包括寄存器起始地址reg_addr,运算模块选择module_sel,数据搬运次数huge_data_ddr_times,当前搬运次数ddr_times,数据矩阵行列信息matrix_config,单次搬运读写长度read_length,write_length,多核存储模块标识local_id等。

本实施例的运算模块由由复数加减法、复数乘除法等运算子单元组成,根据配置参数将运算单元搭建成对应一种算法的建模,可以实现fft算法、fir算法、矩阵乘累加等二十多种矢量运算算法。运算模块根据控制模块的配置参数,实现特定算法的运算,该模块是整个系统建模的主要部分,也是芯片的核心部分。

本实例的传输模块由由四个axi接口单元、一个级联仲裁单元以及一条axi总线,接收所述控制模块产生的配置参数,其中axi接口单元的输入输出接口包括数据读写信号din_ddr,dout_ddr,din_mem,dout_mem,地址信号addr_ddr,addr_mem,响应信号和请求信号req_ddr,ack_ddr,req_mem,ack_mem,以及级联使能信号cascade_en,根据级联使能信号选择通过axi总线构成核内数据传输的通路或者通过级联仲裁单元构成核间传输的通路;级联仲裁单元除了数据地址读写和响应请求以外的输入输出接口还包括ddr片选信号xbar_ddr_sel以及dma选择信号xbar_dma_sel,根据这两个信号选择本地dma和核外特定ddr模块通过axi总线组成核间数据通路。

本实例的存储模块由4个2mb大小的sram组成,每个sram包含8个存储块,每个存储块位宽为64位、深度为8k,拥有独立的通道。存储模块在复位信号、加速器准备信号和存储单元片选信号为高的情况下工作,支持256bit、128bit、64bit三种传输方式,数据4btye对齐。

根据所述矢量运算硬件加速器多核级联的周期精确仿真模型,提供一种矢量运算硬件加速器多核级联周期精确仿真模型的硬件架构,硬件架构由可重构计算阵列单元、主控制器、重构控制器、配置寄存器、状态寄存器、访存开关网络、存储器、dma单元、ddr单元、级联冲裁单元以及总线接口组成。

其中,重构控制器、配置寄存器、dma接口以及总线接口分别与主控制器通信连接,重构控制器、配置寄存器分别与主控制器通信连接形成上述控制模块。

矢量运算硬件加速器通过访存开关网络与存储器通信连接形成上述运算模块。

传输模块主要由dma单元、axi总线以及交叉总线模块接口组成,dma单元与主控制器通信连接。总线接口通过dma单元、ddr单元与存储器通信连接形成数据通道,总线接口分别与配置寄存器以及总控制器通信连接形成控制通道。

其中,dma控制器接收主控制器的控制信息(源数据地址、目的数据地址、数据长度等),从片外ddr中搬运数据或者将数据从本地的一块存储器搬到另一块存储器(搬运的过程可能牵涉到转置等操作),搬运完成后向主控发送搬运完信号。其控制逻辑如图2所示。

其中,交叉总线模块是四核级联的数据传输通道。ddr模块给出的dma选择信号以及dma模块返回的ddr选择信号,来决定四核级联时,每个核内的数据如何传输返回。

本发明中采用非阻塞赋值延迟来实现流水建立时间的过渡。一般地,在数字电路中加法器、乘法器和除法器等都不可能在一个周期内完成运算,并且在设计中有可能需要加法器与乘法器的组合构成乘累加器等等。这些在数字电路设计中,往往采用流水的方式进行设计,这样可以是设计达到更小的时间要求。而相对于高级语言,加减法、乘除法都是可以在一个周期内完成运算。在受时钟触发的时序逻辑电路中,一个流水线的实现需要经过一段的流水建立时间,才能实现每个周期能完成一个运算数据的输出。所以,在本周期内输入的数据,需要经过n个周期后输出的数据才是本次运算的结果。本发明中实现方法是利用非阻塞赋值实现n个周期的数据输入延迟来模拟流水线。所以,利用这一特点就可以在仿真波形上运算输入数据和运算输出数据周期精确模型,并且能实现流水线的建立。本发明还考虑到数字电路中信号在axi总线传输也是存在着一定的物理延时,通过周期精确的axi总线仿真模型模拟在硬件实现中数据在axi总线上传输时的延时,得到仿真波形上数据传输的周期精确模型。

本实施例为了使模型周期更加精确,在设计结束后的验证过程中,不仅验证模型功能上的正确性,同时验证模型时序、周期上的正确性。并可通过特定的校正,实现模型的周期尽可能的准确。

本实施例的矢量运算硬件加速器多核级联的周期精确模型,实现了矢量运算硬件加速器多核级联的系统仿真,明显的优势在于可支持更大运算规模的算法,仿真速度快。

以上,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1