基于Petri网模型的ASIP行为逻辑综合方法与流程

文档序号:13685938阅读:613来源:国知局
基于Petri网模型的ASIP行为逻辑综合方法与流程

本发明涉及一种计算机体系结构的设计,特别是涉及一种针对asip(applicationspecificinstructionsetprocessor,专用指令集处理器)体系结构的设计。



背景技术:

流水线是处理器的核心组成,并且设计及其优化极其复杂。除了教科书上提供基本运行原理外,不会给出实现细节。现有流水线设计主要采用传统的逻辑设计方法,设计其数据通道和控制器状态机,要靠设计者的经验;当然,采用先进的eda软件可以部分提高设计效率。

现有设计方法中,将典型情形下的流水线信号时序组合定义为相应的状态,并通过状态机时序逻辑实现。由于直接面对最底层的信号时序,对于复杂(多发射、乱序、相关等)和特殊(asip用户定制指令)的行为,设计难度和周期就会增加;相应的验证、调试也就会更加困难,更不用说优化与扩展了。

本专利所要解决的技术问题是:

①建立petri网流水线模型

采用petri网模型中位所、迁移、托肯等元素建立流水线行为模型,并通过pnml(petri网标记语言)描述其行为逻辑。

②状态机视图映射

利用petri网模型与流水线状态机元素的有机关联,如位所与状态、迁移与转换、托肯与条件等,映射为状态机视图。状态机视图是流水线及其控制逻辑传统设计方法,从而保证了行为逻辑可以实现综合。



技术实现要素:

本方法基于petri网模型对asip流水线行为建模,并采用pnml进行规范性描述;进而根据petri网与状态机的有机关联机映射为状态机视图后,实现逻辑综合;最终产生可以仿真验证的功能模块,进行性能评估,优化流水线设计。

具体来说包括如下三个步骤:步骤1.对asip流水线行为建立petri网模型,并采用pnml进行规范性描述;步骤2.根据petri网与状态机的有机关联机映射为状态机视图后,实现逻辑综合;步骤3.将eda工具链生成的硬联逻辑,下载到真实物理环境soc中检验与运行,进行性能评估,优化流水线设计。

有益效果

petri网作为一种系统建模工具,特别适合描述系统的控制流、并发和异步特性,与状态机行为模型相比更具优势。本发明方法通过建模将复杂问题抽象化,借鉴petri网强大的建模能力以及较完善的验证手段,建立流水线行为模型,并通过pnml进行描述,再映射为状态机视图,最终的综合逻辑直接用于asip功能模块设计及其硬件实现。

pnml语言严格定义了对象元模型的语义,并为对象结构、行为的捕获和通信提供了符号表示,是基于模型的系统级设计方法。同时,其规范化特性也为设计角色间互相交流消除了二义性,提高设计效率。

高级cpn模型中token可以带有信息,克服了传统petri网中仅仅将其看作一般初始化的不足。在描述多种相关情形时,通过定义颜色集对进行模型简化和规整,加强了petri网的建模能力。

本方法作为一种极具潜力的系统级设计方法,得了规范的petri网模型语义与行为,可以预期验证系统功能的正确性,还能作为综合工具的输入以及系统技术文档标准,并且可以通过第三方工具扩展其可执行描述功能。

附图说明

下面结合附图对本发明的作进一步说明。

图1是risc流水线petri网模型;

图2是tta流水线petri(p/n)网模型;

图3是tta流水线petri(cpn)网模型;

具体实施方式

流水线行为逻辑及其adl描述模型是处理器设计的关键问题之一,进一步得到基于petri网模型的流水线adl描述,即pnml,经第三方工具验证后综合为hdl,并在eda和soc环境中进行体系结构探索及优化。

在计算机体系结构中,可以用petri网中的位置用来表示系统的局部状态,如队列、缓冲、资源等;变迁则用来描述引起系统状态改变的事件,如信息处理、存储器读写、数据收发等操作;弧表明状态和事件之间的关系,还能凭借位置容量和弧权表述其中的数量属性,从而给出基于petri网模型的流水线行为。流水线的本质是部件、行为以及时序的集合,它们之间的映射关系便决定了流水线的结构。流水线结构中的元素可以分成两类:一类是寄存器,用于存储数据;另一类是执行部件,它反映了指令的功能行为。在petri网模型中,可以用库所映射存储部件,用变迁表示功能执行,用扩展token的流动来模拟指令在流水线中的流动。

本发明专利的实现包括如下步骤:

步骤1.建立基于petri网的asip流水线行为模型,并采用pnml进行规范性描述;

通过映射行为、构件和时序,petri网流水线模型可描述不同的目标体系结构,它是一种有效的形式验证机制。基本的petri网模型由一个三元组n=(p,t,f)构成。其中p为位置(也称库所)集合,包括token标识,描述点火行为,t为迁移集合,f关系集合称作弧。基于petri网模型将集合p={pc,ir,rf,mem}映射为状态一系列的状态,可以描述流水线工作状态和物理对象;t={if,id,exe,l/s,wb,stall}用于描述指令流水段行为,使得petri网具有执行语义。3种典型流水线petri网模型描述如下:

①risc(精简指令集)流水线petri网模型如图1所示:

流水线的基本对象有指令缓冲寄存器ir、数据缓冲寄存器dr、rs缓冲寄存器a、rt缓冲寄存器b以及alu缓冲寄存器c,5段流水为if、id、exe、l/s、wb。模型中全面表述了j(跳转)、b(分支)、r(寄存器)、i(立即数)和ls(存储器)各类指令行为。

②tta(传输触发体系结构)流水线p/npetri网模型如图2所示:

典型tta包含3类基本寄存器,即操作数寄存器、触发寄存器和结果寄存器。其中触发寄存器触发数据传输,有效位v控制流水线功能阶段,逻辑单元则作为功能单元组合逻辑部分。

③tta流水线cpn(着色网)petri网模型如图3所示:

cpn使token着色,即具有数据属性,对于描述复杂对象非常有效。对于指令中源、目的寄存器采用统一译码,通过让token具有不同的数据属性来描述指令的具体功能。

与状态机相比petri网模型更加强调了变迁的实质,很好地兼顾了流水线控制器与数据路径的描述与设计。

pnml描述

pnml是基于xml交换格式标准的petri网模型描述的语言,它采用了uml元模型,即pnmlcoremodel来定义共享概念。它们之间映射的元素如表1所示:

表1pnmlcoremodel元素表

参照图1risc流水线petri网模型,得到其pnml基本描述:

<placeid="p1"><name><text>c</text></name></place>//riscc库所

<placeid="p2"><name><text>......</text></name></place>//risc其它库所

<transitionid="t1"><name><text>exe</text></name></transition>//exe迁移

<transitionid="t2"><name><text>......</text></name></transition>//其它指令

参照图2tta流水线petri网模型,得到其pnml描述:

<placeid="p3"><name><text>fu</text></name></place>//ttafu库所

<transitionid="t3"><name><text>tr</text></name></transition>//触发迁移

<transitionid="t4"><name><text>v0</text></name></transition>//v=0迁移

<transitionid="t5"><name><text>v1</text></name></transition>//v=1迁移

<transitionid="t6"><name><text>r</text></name></transition>//读结果迁移

步骤2.根据petri网与状态机的有机关联映射为状态机视图后,实现逻辑综合;

即pnml描述的petri网流水线模型,以及传统方式描述的asip系统,如布尔方程式、真值表、状态机等都将通过eda工具链自动综合为芯片对应的逻辑组件。

逻辑综合能够找到基于系统功能和性能需求,且支持结构单元库的系统架构的最优或可行性实现。针对采用上述adl,即pnml描述的petri网流水线模型,以及传统方式描述的asip系统,如布尔方程式、真值表、状态机等都将通过eda工具链自动综合为芯片对应的逻辑组件,如寄存器和门级网表,最终下载到真实物理环境soc中检验与运行。

petri网比状态机更加适合模型行为描述。一个基本的三元petri网模型n=(p,t,f)的hdl实体代码如下所示:

步骤3.将eda工具链生成的硬联逻辑,下载到真实物理环境soc中检验与运行,进行性能评估,优化流水线设计。

本发明的不局限于上述实施例所述的具体技术方案,凡采用等同替换形成的技术方案均为本发明要求的保护范围。

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