作者:王玲玲 ,刘惊雷 ,马晓敏
1 导言
Petri网是一种体系的、数学的和图形的描绘和剖析东西,跟着超大规模集成电路FPGA和CPLD的开展,Petri网的硬件完成成为可能,而依据Petri网的逻辑操控器的逻辑电路完成办法成为最近几年的研讨热门。在现在的Petri网硬件完成的研讨中,首要给出了petri网C/E体系和P/T体系的几种完成办法,但首要存在如下缺陷:1)运用根本门电路和触发器用图形法自底向上完成了Petri网根本元件库所与变迁。这种规划办法的最大缺陷是不易于恣意修正逻辑电路规划。2)用VHDL言语完成了全体电路规划的软件化,但未构成模块化的Petri网元件。
VHDL言语因为其其强壮的行为描绘才能及与硬件行为无关的特性,被广泛的用于数字体系规划,完成了硬件电路规划的软件化,成为完成Petri网逻辑操控器的有力的东西。用VHDL言语进行数字电路规划的很大的优势是其自顶向下的规划办法,能够充沛的完成电路的层次化规划,然后很便利的修正顶层的操控器电路。本文别离用VHDL言语研讨了几种Petri网体系的硬件完成,包含同步PN、时延PN,尤其是高档网体系有色PN。在当时的研讨中有色Petri网的硬件完成是一个难点。
2 同步Petri网的完成
2.1 同步Petri网简介
界说1 同步PN是一个三元组。其间R是一已标识的PNE是外界事情集Sync是从R的变迁集到事情集的函数。在同步PN中,每个变迁总是与一个事情相联络,当变迁是使能的,且与变迁联络的事情产生时,产生变迁的激起。
2.2 同步Petri网的元件完成
元件P_M完成了根本的同步Petri网体系(如图1(a))中的库所模块,库所P具有两个输入变迁和两个输出变迁,且每个变迁均与外部事情有关。当库所P中没有托肯且库所P0或P1中有托肯时,外部事情E产生,变迁t0或t1激起,则托肯从库所P0或P1移动到库所P;当P中有托肯且库所P2或P3中没有托肯时,外部事情E产生,变迁t2或t3激起,则托肯从库所P移动到库所P2或P3;元件P_M(如图1(b))是在EDA软件Max+PlusⅡ中选用VHDL言语描绘,经过编译、仿真后构成模块并寄存与元件库中的。它有两个输入变迁in1,in2和两个输出变迁out1,out2,当变迁激起时,其值为逻辑1,否则为逻辑0;reset为复位信号,用来设置库所的初始状况。clk为大局时钟。P的值表明库所中是否含有托肯,若含有托肯,取值为逻辑1,否则为逻辑0。
变迁元件T_M(如图1(d)),具有两个输入库所P0和P1,两个输出库所P2和P3,且受外部事情x的操控,如图1(c)所示,其激起规则是当库所P0和P1中有托肯,而库所P2和P3中没有托肯,且事情x产生时,变迁激起。变迁元件T_M 输入端in1,in2,out1,out2别离表明输入库所和输出库所中含有托肯的状况,若含有托肯,则取值为逻辑1,否则为逻辑0,x是外部事情。T表明变迁的激起状况,若可激起则取值为逻辑1。
用VHDL言语描绘部分源程序如下:
architecture beh of t_m is
signal t0: std_logic;
begint<=x and in1 and in2 and (not out1) and (not out2);end beh;
库所元件P_M和变迁元件T_M均寄存在Max+PlusⅡ中树立的元件库中,是能够调用运用的。
3 时延Petri网的完成
3.1 时延Petri网的界说
时延PN被用来描绘其运转与时刻有关的体系。首要有两种:P时延PN和T时延PN。因二者是等效的,其间一个模型能够转化成另一个模型,故在此首要完成了T时延PN。
界说2T时延PN是二元组, 其间R是标识的PN;
Tempo是从变迁集T到非负有理数集的函数,Tempo(Tj)=dj是与变迁Tj相联络的时限,它规则了Petri网中的每一个变迁的持续时刻。
在T时延PN中,每个变迁均有一为零或任一正实数的持续时刻。而库所中没有持续时刻,只需和它相连的变迁激起,库所就可失掉或取得托肯。当变迁的输入库所中含有托肯时,变迁是使能的,但要真实激起需求经过一段持续时刻。
3.2 变迁时化Petri网元件的完成
T时延PN中库所元件与同步Petri网共同。
T时延PN中变迁元件的完成是在根本Petri网中变迁元件的基础上规划了一个计时器TIME,如图2(b),clk为计时频率,决议了计时的精度;en为其使能端,当变迁可激起时,en为1,计时器开端计时,计时结束时co输出为1。
在图2(a)中变迁T与时延D=n相连,当库所P0和P1中各有一个托肯时,变迁T取得产生权,但到T产生,需有n个单位的延时.调用元件T_M和计时元件TIME,树立逻辑电路如图2(c)示,并经过编译构成图2(d)所示逻辑模块时化变迁元件TIm。
用VHDL言语完成计时器模块源程序如下:
if clkevent and clk=1 then
if en=1 then
if q=n then q<=0;co<=1;else q<=q+1; co<=0;end if;
else q<=0; co<=0;end if;end if;
3.3 变迁时化Petri网元件完成的运用举例
两台计算机运用一个公共存储器,如图3(a),假定每台计算机能够有三种状况:(a)不需求该存储器;(b)需求存储器但还没有运用它;(c)正在运用存储器。
则对其树立Petri网模型如图3(b)示。各库所和变迁的意义解释为:P1,P4别离表明CP1、CP2宣布需求该存储器恳求;P2、P5别离表明CP1、CP2占用该存储器;P3,P6别离表明CP1、CP2不需求该存储器;P7表明存储器;变迁中与时刻相关的是T2、T5,别离表明cp占用存储器的时刻。这是一个时延Petri网体系。别离调用元件库中所构成的库所元件、变迁元件和时延变迁元件,作出该体系的逻辑电路图如图4(a),并在EDA软件Max+PlusⅡ中对其编译、仿真下载,仿真波形如图4(b)示。
4 变迁时化有色Petri网CTPN的完成
4.1 CTPN网简介
CTPN={P, T, F, C, S, G}为变迁时刻化的有色Petri网,其间,
P 是一个有限的库所调集。库所包含有色托肯。
T 是一个有限的变迁调集。每个变迁均有一正实数的持续时刻。一个激起色彩集与变迁相联络,其间每种色彩表明晰一种激起的可能性。
F 是与变迁相联络的函数,表明晰变迁激起后其输入弧和输出弧上信息的转化联络,若F为恒等函数,则省掉不标。
C 是与库所相连的色彩的调集,C={C1,C2…Ci}。
4.2 CTPN网的元件完成
PROCESS进程是VHDL言语中最有特征的部分。在一个VHDL言语规划中,一个结构体中能够包含多个进程,而进程之间是并发的联络,一起又能够经过信号完成进程之间的联络。在有色Petri网的完成过程中,首要利用了vhdl言语中的进程句子process,依据库所中的色彩设置所需的进程,并将每一种色彩作为每一个相对应进程的灵敏信号,而灵敏信号的任何改变都能够发动进程的运转,当灵敏信号不产生改变时,进程是挂起的,然后完成了有色Petri网中库所对不同色彩的辨认。
如图5(a)所示为一个简略的变迁时化有色petri网模型,具有色彩集{b,y},假如P1中有符号b(或y),则变迁T1关于色彩b(或y)是使能的,T1的激起包含从库所P1中移去一个符号b(或y),在P2中添加一个符号b(或y)。该模型的库所和变迁元件的完成如图5(b)、(c),其部分源程序为:
architecture beh of p_c is
begin
process(clk,reset,inb,outb)
…
end process;
process(clk,reset,iny,outy)
…
end process;…end beh;
变迁元件T_C的完成是将同步PN网中的变迁依据激起色彩进行细化。将变迁元件T_C和计时器相连即可完成时化的有色变迁,在Max+PlusⅡ中构成可调用的时化变迁元件TImc。
对图5(a)模型的硬件完成经过调用库所元件P_C和变迁元件T_C、TImc完成,其完成的顶层元件图如图6(a)所示。并在Max+PlusⅡ中对其作仿真,波形图如图6(b)。
5 本文作者立异点
本文给出了几种Petri网体系的硬件完成计划,选用VHDL言语分模块完成,描绘元件的功用并将元件存入WORK库中,使规划具有很强的可读性、可重复性、及可修正性,大大提高了体系的开发功率。
责任编辑:gt