一种片上系统架构性能仿真平台的制作方法

文档序号:17082322发布日期:2019-03-09 00:25阅读:292来源:国知局
一种片上系统架构性能仿真平台的制作方法

本发明涉及芯片性能评估技术领域,具体而言,涉及一种片上系统架构性能仿真平台。



背景技术:

在soc(systemonchip,片上系统)芯片的开发过程中,主要包括架构探索及设计,rtl(registertransferlevel,寄存器传输级)设计及功能验证,综合及时序分析,后端实现等几个大的步骤。在整个开发流程中,只有架构探索及设计这个阶段没有行业惯用的标准或方法,其它几个阶段都有成熟的流程和方法。而架构设计对于一块芯片的开发来说又至关重要,芯片架构的好坏会直接决定芯片的性能。因此在芯片项目开发的早期就评估架构的性能,根据评估结果不断改进架构设计,就显得十分重要。

然而,在目前的芯片性能评估方法一般需要在rtl设计已经完成且主流的业务功能已经跑通的情况下才能够进行,而往往在这个阶段即使发现架构在性能方面存在缺陷或者还有优化的空间也很难再对架构有大的改动。

有鉴于此,如何解决上述问题,是本领域技术人员关注的重点。



技术实现要素:

有鉴于此,本发明的目的在于提供一种片上系统架构性能仿真平台,以解决现有技术中无法达到尽早评估架构的性能的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

本发明实施例提出一种片上系统架构性能仿真平台,所述片上系统架构性能仿真平台包括处理器核与多个功能模块,所述处理器核与至少一个所述功能模块通信连接,所述多个功能模块之间通信连接,所述多个功能模块采用周期近似级与事务级模型进行建模,且所述处理器核和/或所述功能模块内安装有统计函数,以统计并输出所述片上系统架构模拟的多项性能数据。

进一步地,所述片上系统架构性能仿真平台还包括适配模块,所述处理器核通过所述适配模块与至少一个所述功能模块通信连接,且所述处理器核和/或所述功能模块和/或所述适配模块内安装有统计函数。

进一步地,所述处理器核采用周期精准级建模,所述适配模块用于监测处理器核的周期精确级时序输出,并将所述时序输出转换成事务级对象。

进一步地,所述处理器核采用周期精准级建模,所述适配模块安装有输出驱动函数,所述适配模块用于接收功能模块的事务级传输对象并将所述传输对象转交给输出驱动函数,所述输出驱动函数根据具体的总线时序将事务级传输对象转换成周期精准级的时序信号输出给处理器核。

进一步地,在所述功能模块的建模过程中,将功能处理与时序进行分离,以在所述功能模块中抽象出至少一个功能函数以及n拍延时,其中,n表示流水线的级数。

进一步地,所述功能模块还安装有事务级模型接收函数与事务级模型发送函数,以实现数据的接收与发送。

进一步地,所述功能模块还包括仲裁器与至少两个输入队列,所述输入队列与所述仲裁器通信连接,所述每个所述输入队列均与一个所述事务级模型接收函数绑定,以通过所述事务级模型接收函数接收其它功能模块发送的数据。

进一步地,所述性能数据包括关键点的带宽、反压率、延时以及缓存使用率。

进一步地,所述片上系统架构性能仿真平台还包括片上存储子系统,所述片上存储子系统与所述处理器核或所述功能模块通过总线通信连接。

进一步地,所述片上系统架构性能仿真平台还包括片外存储,所述片外存储与所述处理器核或所述功能模块通过通信连接。

相对现有技术,本发明具有以下有益效果:

本发明提供了一种片上系统架构性能仿真平台,该片上系统架构性能仿真平台包括处理器核与多个功能模块,处理器核与至少一个功能模块通信连接,多个功能模块之间通信连接,多个功能模块采用周期近似级与事务级模型进行建模,且处理器核和/或功能模块内安装有统计函数,以统计并输出片上系统架构模拟的多项性能数据。由于功能模块采用周期近似级与事务级模型进行建模,因此可以快速地在rtl设计之前搭建架构性能模型,同时,利用统计函数统计该片上系统的各项性能参数并输出,进而能够在soc芯片开发项目中尽早评估架构的性能,从而便于在项目早期有针对性地优化芯片架构。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明提供的片上系统架构性能仿真平台的模块示意图。

图2示出了本发明提供的适配模块的建模示意图。

图3示出了本发明提供的功能模块的建模示意图。

图标:100-片上系统架构性能仿真平台;110-处理器核;120-功能模块;130-适配模块;140-片上存储子系统;150-片外存储。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

请参照图1,本发明实施例提供了一种片上系统架构性能仿真平台100,该片上系统架构性能仿真平台100包括处理器核110与多个功能模块120,处理器核110与至少一个功能模块120通信连接,多个功能模块120之间通信连接,以便于数据的传输。

其中处理器核110心负责组织协调整个系统的工作,有时还会进行一些数据处理,完成一些算法等。处理器核110心的行为对整个芯片性能起着举足轻重的重要,因此处理器核110心必须进行ca(cycleaccurate,周期级精确)建模。且处理器核110心有可能来自于ip厂商,并且有许多ip厂商可以提供对应的ca级systemc模型,因此可以直接使用。且即使ip厂商无法提供systemc模型,也可以使用开源或者付费的工具进行rtl2c转换,将verilog语言的rtl转换成systemc模型,且理论上转换后的systemc模型与rtl的行为是周期级一致的。即能够快速地在rtl设计之前实现处理器核110的ca建模。

需要说明的是,systemc是一种软/硬件协同设计语言,一种系统级建模语言。它包含了一系列c++的类和宏,并且提供了一个事件驱动的模拟核,可以在系统级行为描述级和寄存器转换级支持硬件建模,使得系统的设计者能够用c++的词法模拟并行的进程。

进一步地,为了实现快速的进行建模,功能模块120均不用进行ca级建模,只需进行cx(cycleapproximate,周期级近似)+tlm(transactionlevelmodel,事务级模型)级建模。例如一个算法模块,内部是一条很长的流水线,整个计算过程被拆分成了很多级流水线,而流水线与流水线之间没有缓存和调度。这样的模块可以被抽象至少一个功能函数加一段延时,其中功能函数实现整个算法的功能,而延时则是该模块端到端的延时。在cx+tlm级建模中,模块与模块之间,模块内部的数据传递都是tlm级的数据传递。即将需要传递的各个域段封装成一个类,模块间包括模块内部传递的都是这个类的对象指针。

需要说明的是,建模时并不需要考虑模块具体的电路细节,只需要考虑数据从哪里来,到哪里去,中间是否有缓存和调度,处理的延时是多少等。建模中功能处理和时序分离,原本在rtl中各级流水线分拍完成的电路抽象成一个功能函数和n拍延时,其中n即为流水线的级数。即通过抽象的建模方式,能够实现无需搭载具体电路,而执行相应功能的效果,进而了快速地在rtl设计之前搭建架出构性能模型。

具体地,在本实施例中,由于处理器核110是ca级建模,而功能模块120是tlm+cx级建模,因此处理器核110对外的总线需要将时序输出转换成tlm形式输出,同样其它模块输入到处理器核110的tlm形式的输入信息也需要转换成符合处理器核110总线时序要求的时序信号。有鉴于此,本实施例提供的片上系统架构性能仿真平台100还包括适配模块130,处理器核110通适配模块130与至少一个功能模块120通信连接,以适配处理器核110与功能模块120之间的传输时序。且处理器核110和/或功能模块120和/或适配模块130内安装有统计函数。统计函数用于统计并输出片上系统架构模拟的多项性能数据,该性能数据包括关键点的带宽、反压率、延时以及缓存使用率等,进而实现对该片上系统架构的性能的评估。

同时,请参阅图2,适配模块130搭载有输入监测函数,该输入监测函数用于监测处理器核110的周期精确级时序输出,并将时序输出转换成事务级对象,进而再将事务级对象传输至功能模块120;并且,适配模块130还安装有输出驱动函数,适配模块130用于接收功能模块120的事务级传输对象并将传输对象转交给输出驱动函数,输出驱动函数根据具体的总线时序将事务级传输对象转换成周期精准级的时序信号输出给处理器核110。即适配模块130能够实现将近处理核中的数据进行处理后转发至功能模块120,且还能将功能模块120中的数据进行处理后转发至处理器核110,进而实现适配的功能。

请参阅图3,在本实施例中,功能模块120还安装有tlm接收函数与tlm发送函数,以实现数据的接收与发送。具体地,模块间通过tlm端口进行连接的,tlm发送端口例化在发送数据的模块,tlm接收端口例化在数据接收模块,在上层模块对tlm端口进行绑定。当在发送模块调用端口的传输函数时,接收模块的tlm接收函数就会自动被调用。

同时,当一个功能模块120在接收多个功能模块120的数据时,需对该多个功能模块120的数据进行先后的处理,有鉴于此,本实施例提供的功能模块120还包括仲裁器与至少两个输入队列,输入队列与仲裁器通信连接,每个输入队列均与一个事务级模型接收函数绑定,以通过事务级模型接收函数接收其它功能模块120发送的数据

其中,接收模块在收到数据后,可以存到输入队列里面,也可以进行一段延时,或者直接调用功能处理函数,具体看模块的功能和结构,本实施例对此并不做任何限定。其中输入队列的建模方式可以直接使用c++stl中的deque(双端队列)等数据结构进行建模,非常简便。仲裁器用c++的函数实现,不带任何时延,根据具体的仲裁算法直接在函数中判断从哪个队列中取数据,进而实现从多个功能模块120中先后读取数据的功能。

即在本实施例中,在总线适配模块130由输入监测函数来监测处理器核110的时序输入并将其转换为事务级传输对象,再将事务级传输对象转交给tlm发送函数,tlm发送函数调用tlm端口的传输函数,从而使功能模块120的tlm接收函数自动被调用并且能够接收到tlm发送函数发送的传输对象。在处理器核110输入传输方向上,总线适配模块130的tlm接收函数接收到来自功能模块120的事务级传输对象后,将其转交给输出驱动函数,输出驱动函数将其转化为周期精确级时序信号输出到处理器核110。

进一步地,为了达到存储数据的功能,片上系统架构性能仿真平台100还包括片上存储子系统140,片上存储子系统140与处理器核110或功能模块120通过总线通信连接,同时片上系统架构性能仿真平台100还包括片外存储150,片外存储150与处理器核110或功能模块120也通信连接。

需要说明的是,片上存储子系统140和片外存储150一般会负责存放处理器核110计算过程中的一些临时数据,或者一些要查询的表项,其它功能模块120,例如dma(directmemoryaccess,直接内存)访问模块,或者其它协处理器也有可能会访问片上存储子系统140或片外存储150。存储器的容量,访问带宽,访问延时,反压流控是存储器对芯片性能影响的关键点,因此通过对存储器的容量,访问带宽,访问延时,反压流控的数据,可以评估出该存储器对片上系统架构的性能的影响。

综上所述,本发明提供了一种片上系统架构性能仿真平台,该片上系统架构性能仿真平台包括处理器核与多个功能模块,处理器核与至少一个功能模块通信连接,多个功能模块之间通信连接,多个功能模块采用周期近似级与事务级模型进行建模,且处理器核和/或功能模块内安装有统计函数,以统计并输出片上系统架构模拟的多项性能数据。由于功能模块采用周期近似级与事务级模型进行建模,因此可以快速地在rtl设计之前搭建架构性能模型,同时,利用统计函数统计该片上系统的各项性能参数并输出,进而能够在soc芯片开发项目中尽早评估架构的性能,从而便于在项目早期有针对性地优化芯片架构。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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