CN107688704A - 基于Petri网模型的ASIP行为逻辑综合方法 - Google Patents
基于Petri网模型的ASIP行为逻辑综合方法 Download PDFInfo
- Publication number
- CN107688704A CN107688704A CN201710743348.3A CN201710743348A CN107688704A CN 107688704 A CN107688704 A CN 107688704A CN 201710743348 A CN201710743348 A CN 201710743348A CN 107688704 A CN107688704 A CN 107688704A
- Authority
- CN
- China
- Prior art keywords
- text
- name
- transition
- pnml
- petri
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/10—Processors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种计算机体系结构的设计,特别是涉及一种针对专用指令集处理器的体系结构的设计,具体来说包括如下三个步骤:步骤1.建立基于Petri网的ASIP流水线行为模型,并采用PNML进行规范性描述;步骤2.根据Petri网与状态机的有机关联机映射为状态机视图后,实现逻辑综合;步骤3.将EDA工具链生成的硬联逻辑,下载到真实物理环境SoC中检验与运行,进行性能评估,优化流水线设计。本方法作为一种极具潜力的系统级设计方法,获得了规范的Petri网模型语义与行为,可以预期验证系统功能的正确性,还能作为综合工具的输入以及系统技术文档标准,并且可以通过第三方工具扩展其可执行描述功能。
Description
技术领域
本发明涉及一种计算机体系结构的设计,特别是涉及一种针对ASIP(ApplicationSpecific Instruction Set Processor,专用指令集处理器)体系结构的设计。
背景技术
流水线是处理器的核心组成,并且设计及其优化极其复杂。除了教科书上提供基本运行原理外,不会给出实现细节。现有流水线设计主要采用传统的逻辑设计方法,设计其数据通道和控制器状态机,要靠设计者的经验;当然,采用先进的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/N Petri网模型如图2所示:
典型TTA包含3类基本寄存器,即操作数寄存器、触发寄存器和结果寄存器。其中触发寄存器触发数据传输,有效位V控制流水线功能阶段,逻辑单元则作为功能单元组合逻辑部分。
③TTA流水线CPN(着色网)Petri网模型如图3所示:
CPN使token着色,即具有数据属性,对于描述复杂对象非常有效。对于指令中源、目的寄存器采用统一译码,通过让token具有不同的数据属性来描述指令的具体功能。
与状态机相比Petri网模型更加强调了变迁的实质,很好地兼顾了流水线控制器与数据路径的描述与设计。
PNML描述
PNML是基于XML交换格式标准的Petri网模型描述的语言,它采用了UML元模型,即PNML Core Model来定义共享概念。它们之间映射的元素如表1所示:
表1 PNML Core Model元素表
参照图1RISC流水线Petri网模型,得到其PNML基本描述:
<place id="p1"><name><text>C</text></name></place>//RISC C库所
<place id="p2"><name><text>......</text></name></place>//RISC其它库所
<transition id="t1"><name><text>EXE</text></name></transition>//EXE迁移
<transition id="t2"><name><text>......</text></name></transition>//其它指令
参照图2TTA流水线Petri网模型,得到其PNML描述:
<place id="p3"><name><text>FU</text></name></place>//TTA FU库所
<transition id="t3"><name><text>TR</text></name></transition>//触发迁移
<transition id="t4"><name><text>V0</text></name></transition>//V=0迁移
<transition id="t5"><name><text>V1</text></name></transition>//V=1迁移
<transition id="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中检验与运行,进行性能评估,优化流水线设计。
本发明的不局限于上述实施例所述的具体技术方案,凡采用等同替换形成的技术方案均为本发明要求的保护范围。
Claims (1)
1.一种基于基于Petri网模型的ASIP行为逻辑综合方法,其特征在于包括如下步骤:
步骤1.建立基于Petri网的ASIP流水线行为模型,并采用PNML进行规范性描述:
Petri网流水线模型通过映射行为、构件和时序描述不同的目标体系结构,由一个三元组N=(P,T,F)构成;其中P为位置(也称库所)集合,包括Token标识,描述点火行为,T为迁移集合,F关系集合称作弧。Petri网模型用集合P={PC,IR,RF,MEM}描述流水线工作状态和物理对象,集合T={IF,ID,EXE,L/S,WB,stall}用于描述指令流水段行为,进而映射为一系列的状态。
PNML是基于XML交换格式标准的Petri网模型描述的语言,它采用了UML元模型,即PNMLCore Model来定义共享概念。它们之间映射的元素如表1所示:
表1 PNML Core Model元素表
根据RISC流水线Petri网模型,得到其PNML基本描述:
<place id="p1"><name><text>C</text></name></place>//RISC C库所
<place id="p2"><name><text>......</text></name></place>//RISC其它库所
<transition id="t1"><name><text>EXE</text></name></transition>//EXE迁移
<transition id="t2"><name><text>......</text></name></transition>//其它指令
根据TTA流水线Petri网模型,得到其PNML描述:
<place id="p3"><name><text>FU</text></name></place>//TTA FU库所,
<transition id="t3"><name><text>TR</text></name></transition>//触发迁移,
<transition id="t4"><name><text>V0</text></name></transition>//V=0迁移,
<transition id="t5"><name><text>V1</text></name></transition>//V=1迁移,
<transition id="t6"><name><text>R</text></name></transition>//读结果迁移。
步骤2.根据Petri网与状态机的有机关联映射为状态机视图后,可以实现逻辑综合:
即PNML描述的Petri网流水线模型,以及传统方式描述的ASIP系统,都将通过EDA工具链自动综合为芯片对应的逻辑组件;
一个基本的三元Petri网模型N=(P,T,F)的HDL实体代码如下所示:
步骤3.将EDA工具链生成的硬联逻辑,下载到真实物理环境SoC中检验与运行,进行性能评估,优化流水线设计。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743348.3A CN107688704A (zh) | 2017-08-25 | 2017-08-25 | 基于Petri网模型的ASIP行为逻辑综合方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710743348.3A CN107688704A (zh) | 2017-08-25 | 2017-08-25 | 基于Petri网模型的ASIP行为逻辑综合方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107688704A true CN107688704A (zh) | 2018-02-13 |
Family
ID=61154971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710743348.3A Pending CN107688704A (zh) | 2017-08-25 | 2017-08-25 | 基于Petri网模型的ASIP行为逻辑综合方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107688704A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110362A (zh) * | 2019-03-29 | 2019-08-09 | 苏州冠讯电子科技有限公司 | 一种使用嵌入式命令设计芯片的方法 |
CN111211945A (zh) * | 2020-01-09 | 2020-05-29 | 全球能源互联网研究院有限公司 | 计及信息时效的嵌入式装置安全通信协议验证方法和系统 |
CN112613199A (zh) * | 2020-09-12 | 2021-04-06 | 山东科技大学 | FPGA加速的有色Petri网仿真方法及Verilog HDL代码生成工具 |
CN117369867A (zh) * | 2023-09-28 | 2024-01-09 | 中国人民解放军国防科技大学 | 面向指令集及工具链自动生成的指令集架构模型描述方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006584A1 (en) * | 2000-08-08 | 2004-01-08 | Ivo Vandeweerd | Array of parallel programmable processing engines and deterministic method of operating the same |
CN101206687A (zh) * | 2007-12-18 | 2008-06-25 | 同济大学 | 一种提高分布式机电装备的动态安全性的方法 |
CN101561833A (zh) * | 2009-05-08 | 2009-10-21 | 东南大学 | 专用指令集处理器的设计方法 |
US20130268255A1 (en) * | 2006-03-23 | 2013-10-10 | Lockheed Martin Corporation | Multiple-entity scenario simulation incorporating human interaction |
CN103389704A (zh) * | 2013-07-18 | 2013-11-13 | 重庆大学 | 基于Petri网控制流程建模的创建石膏砌块成型生产线方法 |
CN105844389A (zh) * | 2016-03-17 | 2016-08-10 | 安徽理工大学 | 一种含有相关资源约束的fms无死锁调度控制新方法 |
CN105930573A (zh) * | 2016-04-18 | 2016-09-07 | 金陵科技学院 | 基于可执行规约的红外热像仪设计方法 |
-
2017
- 2017-08-25 CN CN201710743348.3A patent/CN107688704A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040006584A1 (en) * | 2000-08-08 | 2004-01-08 | Ivo Vandeweerd | Array of parallel programmable processing engines and deterministic method of operating the same |
US20130268255A1 (en) * | 2006-03-23 | 2013-10-10 | Lockheed Martin Corporation | Multiple-entity scenario simulation incorporating human interaction |
CN101206687A (zh) * | 2007-12-18 | 2008-06-25 | 同济大学 | 一种提高分布式机电装备的动态安全性的方法 |
CN101561833A (zh) * | 2009-05-08 | 2009-10-21 | 东南大学 | 专用指令集处理器的设计方法 |
CN103389704A (zh) * | 2013-07-18 | 2013-11-13 | 重庆大学 | 基于Petri网控制流程建模的创建石膏砌块成型生产线方法 |
CN105844389A (zh) * | 2016-03-17 | 2016-08-10 | 安徽理工大学 | 一种含有相关资源约束的fms无死锁调度控制新方法 |
CN105930573A (zh) * | 2016-04-18 | 2016-09-07 | 金陵科技学院 | 基于可执行规约的红外热像仪设计方法 |
Non-Patent Citations (5)
Title |
---|
YANYAN GAO .ECT: "Formal Verification of Bypassed Processor Pipelines", 《2008 THE 9TH INTERNATIONAL CONFERENCE FOR YOUNG COMPUTER SCIENTISTS》 * |
YONG ZHU: "Study on the Pipeline Logic Based on Petri Net", 《2012 THIRD INTERNATIONAL CONFERENCE ON THEORETICAL AND MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE(ICTMF 2012)》 * |
朱勇: "TTA流水线Petri网模型", 《微电子学与计算机》 * |
朱赟 等: "基于Petri网的ASIP体系结构形式化建模方法研究", 《小型微型计算机系统》 * |
赵谦: "基于Petri网的ASIP流水线研究", 《中国硕士学位论文全文库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110362A (zh) * | 2019-03-29 | 2019-08-09 | 苏州冠讯电子科技有限公司 | 一种使用嵌入式命令设计芯片的方法 |
CN111211945A (zh) * | 2020-01-09 | 2020-05-29 | 全球能源互联网研究院有限公司 | 计及信息时效的嵌入式装置安全通信协议验证方法和系统 |
CN112613199A (zh) * | 2020-09-12 | 2021-04-06 | 山东科技大学 | FPGA加速的有色Petri网仿真方法及Verilog HDL代码生成工具 |
CN112613199B (zh) * | 2020-09-12 | 2022-05-24 | 山东科技大学 | FPGA加速的有色Petri网仿真方法及Verilog HDL代码生成工具 |
CN117369867A (zh) * | 2023-09-28 | 2024-01-09 | 中国人民解放军国防科技大学 | 面向指令集及工具链自动生成的指令集架构模型描述方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | OpenTimer v2: A new parallel incremental timing analysis engine | |
Bailey et al. | ESL Models and their Application | |
CN101231589B (zh) | 用于原位开发嵌入式软件的系统和方法 | |
CN107688704A (zh) | 基于Petri网模型的ASIP行为逻辑综合方法 | |
US10248746B1 (en) | Method and apparatus for estimating ideal power of an integrated circuit design | |
US11734480B2 (en) | Performance modeling and analysis of microprocessors using dependency graphs | |
US7203915B2 (en) | Method for retiming in the presence of verification constraints | |
Takach | High-level synthesis: Status, trends, and future directions | |
Schmidt et al. | A new formal verification approach for hardware-dependent embedded system software | |
US8160861B2 (en) | System and method for modelling a hardware component of a data processing apparatus | |
Flake et al. | Verilog HDL and its ancestors and descendants | |
Villarraga et al. | Software in a Hardware View: New Models for HW-dependent Software in SoC Verification | |
Sinha et al. | Correct-by-construction approaches for SoC design | |
Greaves | System on Chip Design and Modelling | |
Schmidt et al. | A computational model for SAT-based verification of hardware-dependent low-level embedded system software | |
Ul Ain et al. | Formal timing analysis of digital circuits | |
Chen et al. | Out-of-order parallel discrete event simulation for electronic system-level design | |
Sohofi et al. | System‐level assertions: approach for electronic system‐level verification | |
Flake | Why SystemVeriog? | |
Nepomnyashchy et al. | High-Level Design Flows for VLSI Circuit | |
Kallel et al. | Monitoring transaction level SystemC models using a generic and aspect-oriented framework | |
Possignolo et al. | Automated pipeline transformations with Fluid Pipelines | |
Marschner et al. | Assertion-based verification | |
Villarraga | Formal Verification of Firmware-Based System-on-Chip Modules | |
Loitz et al. | Formal hardware/software co-verification of application specific instruction set processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180213 |