APP下载

同步Petri网的仿真及硬件实现✴

2011-04-02陆继远景亮

电讯技术 2011年10期
关键词:库所变迁控制器

陆继远,景亮

同步Petri网的仿真及硬件实现✴

陆继远,景亮

(江苏大学电气信息工程学院,江苏镇江212013)

基于现有的EDA技术,针对同步Petri网和硬件描述语言的关联性,提出了用VHDL语言对同步Petri网进行描述并实现。首先使用同步Petri网对控制器进行建模,然后使用VHDL语言对同步Petri网控制模型进行描述,最终在EDA软件Max+PlusII中进行编译、仿真和适配,并下载到FPGA中,通过实验开发系统GW48-CK进行硬件实现并测试。仿真波形及硬件测试表明了该方法的正确性与有效性,这对于基于同步Petri网的控制器设计具有重要意义。

同步Petri网;条件/事件系统;硬件描述语言;电子设计自动化;可编程逻辑器件;硬件实现

1 引言

Petri网是德国数学家Carl Adam Petri博士于1962年在其博士论文《用自动机通信》(Communica

tion With Automata)中首次提出的网状结构的信息流模型。40多年来,Petri网理论[1-3]不断发展,Petri网的应用范围也在不断扩大,受到国内外诸多领域的专家学者的重视。Petri网有直观的图形表示和深厚的数学基础,既是层次化的模型结构,又能反映系统的动态性能。Petri网作为一种信息流模型,具有强大的模拟能力,描述和分析并发现象有独到的优越之处,使得它在许多领域得到应用,特别是离散事件系统[4-5]。使用Petri网对离散事件系统建模,采用Petri网软件工具分析、验证系统的各种性能,已被人们广泛接受。普通Petri网也已通过扩展,得到Petri网的许多子类,目的是对同步并发数字系统进行有效描述。

文献[6]给出了Petri网电路实现的一种方法,其特点是库所与变迁分开实现。为了减少占用的FPGA资源,将库所与变迁的电路综合在一起,但缺点是库所和变迁都使用了触发器,不能在真正意义上实现异步控制,采用了全局时钟,接线复杂。有学者曾用基本RS触发器来实现Petri网,特点是不用全局时钟,是异步控制,可以认为是Petri网基于门级的实现,缺点是RS触发器存在不定状态。文献[7]给出了几种Petri网的电路模型,库所用D触发器,变迁用门电路实现,是一种异步控制。

EDA技术的重要特征是用硬件描述语言进行电路和系统的设计,这种方法是在较高抽象层次上进行系统的结构和内部特征的设计。VHDL语言同样适合描述异步并发系统,因此可与Petri网模型建立联系。与其它硬件描述语言相比,VHDL具有更强的行为描述能力,描述层次比较高,而且含有许多具有硬件特征的语句,有丰富的仿真语句和库函数,可在设计早期对设计在高层次上进行仿真模拟。它也支持大规模设计的分解和已有设计的再利用功能。对Petri网模型用VHDL进行描述,并最终在FPGA中实现,从而为Petri网模型的硬件实现奠定了基础[7-11]。

2 同步Petri网

定义1四元组Σ=(B,E;F,C)能构成条件/事件系统(Condition/Event System)的要求是[1]:

(1)(B,E;F)为简单有向网,称为Σ的基网;

(2)C⊆R(B)是丛上的完全情态集,C中的丛称为Σ的情态;

(3)∀b∈B∃c1,c2∈C:b∈c1∧b∉c2;

(4)∀e∈E∃c1,c2∈C:c1[e>c2。

条件/事件系统简写为C/E系统。

定义2在Σ=(B,E;F,C)中,如果有c1∈C,∃u⊆E,对于∀e1,e2∈u,·e1∩·e2=φ∧e1·∩e2·=φ∧·e1∩·e2⊆c1∧e1·∩e2·∩c1=φ,则称u在c1有发生权,记为c1[u>。u发生后的情态记为c2,即c1[u>c2,则c2=c1-·u∪u·∧c2∈C[1]。

定义3同步Petri网是一个三元组<R,E,Sync>,其中R是一已标识的Petri网,E是一外界事件集,Sync是从R的变迁集到事件集的函数[2]。

同步Petri网由M.Moalla、J.Pulou和J.Sifakis等学者提出并进行研究。外部事件对应于外部世界状态的变化,反之,内部事件是指内部状态的变化,即标识的变化。在同步Petri网中,每个变迁总是与一个事件相联系。当变迁是使能的,且与变迁联系的事件发生时,才能产生变迁的激发。

3 实现方法

3.1 实现分析

Petri网是不同知识背景工程技术人员间的一种“共同语言”。Petri网有许多子类,是一种层次化的模型,可以在系统的行为级、算法级、逻辑级等不同层次上进行建模,支持“自顶向下”和“自底向上”的设计方法。VHDL语言是一种硬件描述语言,现已成为IEEE标准(IEEE 1076-1987和1076-1993)。

但硬件描述语言的语义是建立在仿真基础上的,而一种严格的语义定义,使用形式化的分析、验证技术是十分必要的。在复杂的集成电路的设计工作中,70%的工作都是在验证上,验证途径的标准化已经变得非常重要。VHDL与Petri网一样,也是一种并发语言,用Petri网对系统进行描述、分析与验证,然后用VHDL语言进行描述,这将使Petri网与VHDL优势互补,相得益彰。

3.2 实现步骤

用大规模可编程逻辑器件来实现由Petri网描述的控制器,已成为研究Petri网硬件实现的一种有效途径和方法。目前,国内外已有不少研究人员从事这方面的研究,并取得了一定的成果[7-11]。Petri

网能够使用ABEL、Verilog和VHDL等硬件描述语言(HDL)进行描述并硬件实现。

实现的基本步骤如下:

(1)使用Petri网对实际系统建立模型;

(2)对所建立的Petri网模型利用相关软件分析并控制,建立Petri网监控模型;

(3)选择FPGA或CPLD可编程逻辑器件并确定输入输出变量;

(4)根据条件与事件间的逻辑关系,用标准的硬件描述语言如VHDL语言对Petri网模型进行描述;

(5)在EDA软件如Max+PlusII或QuartusII中,对VHDL源文件进行编译、仿真和适配,并下载到可编程逻辑器件中;

(6)在EDA实验开发系统如GW48-CK中进行硬件实现并测试。

整个硬件实现的流程图如图1所示。

4 同步Petri网硬件实现举例

4.1 同步Petri网模型与VHDL

图2是一个控制器的同步Petri网模型。

图中t1变迁有输入库所p1、输出库所p2和p3,它由输入条件x1监视。变迁t1对应的VHDL描述为

t1<=x1 and p1 and NOT p2 and NOT p3;

可以这样来理解:当输入信号x1满足条件,库所p1被标识并且库所p2和p3没有被标识时,变迁t1将发生。

对于变迁t1,VHDL描述的相关部分如下:

np1<=…or(p1 and not t1);

np2<=t1 or…;

np3<=…or t1 or…;

np1的表达式描述了当变迁t1不使能时,库所p1保持托肯。其余两个表达式表示当变迁t1激发时,库所p2和p3得到新的托肯。

4.2 同步Petri网的VHDL描述

用硬件描述语言VHDL实现的主体源程序如下:

entity SynPN is--实体定义

port(reset,clock,x1,x2,x3,x4:in bit;

y:outbit

);

end;

architecture a of SynPN is--结构体定义

signal p1,np1,p2,np2,p3,np3,p4,np4,p5,np5:bit;

signal t1,t2,t3,t4,t5:bit;

begin

process

begin

--时钟脉冲上升沿有效

wait until clock′event and clock=‘1’;

if reset=‘0’then

p1<=np1;

p2<=np2;

……

else

--reset为1,给库所置初始标识

p1<=‘1’;

p2<=‘0’;

……

end if;

end process;

--变迁的数据流描述

t1<=p1 and x1 and not p2 and not p3;

t2<=p2 and x2 and not p4;

t3<=p3 and x3 and not p5;

t4<=p5 and x3 and not p3;

t5<=p4 and p5 and x4 and not p1;

--库所得到托肯的数据流描述

np5<=(p5 and not t4 and not t5)or t3;

np4<=(p4 and not t5)or t2;

np3<=(p3 and not t3)or t1 or t4;

np2<=(p2 and not t2)or t1;

np1<=(p1 and not t1)or t5;

y<=p1;

end;

4.3 仿真分析及硬件测试

该程序经Altera公司的EDA软件Max+PlusII10.2编译后,仿真波形如图3所示。从波形可以看出,150.1 ns时,由于时钟脉冲处于上升沿,p1有托肯,x1事件发生,故t1被激发,结果p1中托肯消失,同时p2和p3得到新的托肯;250.1 ns时,由于时钟脉冲处于上升沿,p2有托肯,x2事件发生,故t2被激发,结果p2中托肯消失,同时p4得到新的托肯。

在EDA软件平台下,将最终得到的下载文件下载到Altera公司的FPGA芯片EPF10K10LC84-4中,并在实验开发系统GW48-CK中进行硬件测试,测试结果也表明了此设计的正确性。

5 结论

基于VHDL的同步Petri网的FPGA实现问题的解决,使得可以利用同步Petri网对系统建立控制模型,并用Petri网软件分析工具对该模型进行分析、验证之后,用硬件描述语言VHDL来描述Petri网控制模型,在EDA软件开发平台下进行编译、仿真、适配,并下载到可编程逻辑器件FPGA中,通过实验开发系统GW48-CK进行硬件测试。这为控制器设计提供了一种行之有效的方法,它保证了控制器的正确性与有效性,使Petri网在VLSI方面的应用不限于对系统的描述与验证。它能够通过硬件描述语言直接生成电路,其意义是深远的,并有可能与现有的IP核相结合,为软/硬件协同设计提供有效方法。

[1]袁崇义.Petri网原理与应用[M].北京:电子工业出版社,2005.

YUAN Chong-yi.Principle and Application of Petri Nets[M].Beijing:Publishing House of Electronics Industry,2005.(in Chinese)

[2]David R,Alla H.Petri Nets&Grafcet[M].New York:Prentice Hall,1992.

[3]Murata T.Petri Nets:Properties,Analysis and Applications[J].Proceedings of the IEEE,1989,77(4):541-580.

[4]Adamski M,Wegrzyn M.Proceedings of the International Workshop on Discrete-Event System Design DESDes′01[M].Przytok:Technical University of Zielona Gora,2001.

[5]PawlewskiP.PetriNets:Applications[M].Vukovar,Croatia:In-Teh,2010.

[6]Soto E,Pereira M.Implementing a Petri net specification in a FPGA using VHDL[C]//Proceedings of the International Workshop on Discrete-Event System Design.Przytok,Poland:[s.n.],2001:19-24.

[7]赵不贿,景亮,严仰光.Petri网的硬件实现[J].软件学报,2002,13(8):1652-1657.

ZHAO Bu-hui,JING Liang,YAN Yang-guang.Hardware implementation of Petrinets[J].Journalof Software,2002,13(8):1652-1657.(in Chinese)

[8]赵不贿,杜天艳,严仰光.基于VHDL的时延Petri网仿真[J].系统仿真学报,2003(增1):99-101.

ZHAO Bu-hui,DU Tian-yan,YANYang-guang.Simulation of the Timed PetriNets Based-on VHDL[J].Journal of System Simulation,2003(suppl.1):99-101.(in Chinese)

[9]AdamskiM.Behavioural specification of programs formodular Reconfigurable Logic Controllers[C]//Proceedings of IEEEMixed Design of Integrated Circuits and Systems.Gdynia:IEEE,2006:239-244.

[10]Gomes L,Costa A,Barros JP,et al.From Petrinetmodels to VHDL implementation of digital controllers[C]//Proceedings of the 33rd Annual Conference of the IEEE Industrial Electronics Society.Taipei:IEEE,2007:94-99.

[11]Schilke H,Rettberg A,Dittmann F.Towards a Petri Net based Approach to Modeland Synthesise Dynamic Reconfiguration for FPGAs[C]//Proceedings of the4th IEEE International Symposium on Electronic Design,Test&Applications.Hong Kong:IEEE,2008:561-566.

LU Ji-yuan was born in Zhenjiang,Jiangsu Province,in 1978.He received the M.S.degree from Jiangsu University in 2003.He is now a lecturer and currently working toward the Ph.D. degree.His research concerns PetriNet theory and applications.

Email:jiyuanlu@ujs.edu.cn

景亮(1966—),男,江苏丹徒人,博士研究生,副教授,主要研究方向为EDA技术。

JING Liangwas born in Dantu,Jiangsu Province,in 1966.He is now an associate professor and currently working toward the Ph.D.degree.His research direction is EDA technology.

Email:jingl@ujs.edu.cn

Simulation and Hardware Implementation of Synchronous Petri Net

LU Ji-yuan,JING Liang
(College of Electrical and Information Engineering,Jiangsu University,Zhenjiang 212013,China)

According to the relevance between synchronous Petri Net and hardware description language,VHDL is used to describe and implement synchronous Petri Net based on the existing EDA technology.Firstly,synchronous Petri Net is used tomodel the controller.Secondly,Petri Net controlmodel is described by VHDL. Finally,the VHDL codes are compiled,simulated,fit-designed and downloaded to FPGA in EDA software Max +PlusII.Hardware implementation and experiment are performed with the development system GW48-CK. Simulation wave and hardware test further verify the correctness and validity of themethod.Themethod is of great significance to the design of controller based on synchronous Petri Net.

synchronous Petri net;condition/event system;hardware description language;electronic design automation;programmable logic device;hardware implementation

TP301

A

10.3969/j.issn.1001-893x.2011.10.016

陆继远(1978—),男,江苏镇江人,2003年于江苏大学获硕士学位,现为讲师、博士研究生,主要研究方向为Petri网理论及应用;

1001-893X(2011)10-0076-04

2011-06-15;

2011-09-05

猜你喜欢

库所变迁控制器
40年变迁(三)
40年变迁(一)
40年变迁(二)
清潩河的变迁
利用Petri网特征结构的故障诊断方法
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
倍福 CX8091嵌入式控制器
4V三输出同步降压型控制器
基于一种扩展模糊Petri网的列车运行晚点致因建模分析