使用VHDL的Petri网系统的FPGA实现 同步Petri

1 引言
petri网是一种系统的、数学的和图形的描述和分析工具[1],随着超大规模集成电路fpga和cpld的发展,petri网的硬件实现成为可能,而基于petri网的逻辑控制器的逻辑电路实现方法成为最近几年的研究热点[2]。在目前的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 [1]同步pn是一个三元组。其中
r是一已标识的pn
e是外界事件集
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。
定义2[1]t时延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库中,使设计具有很强的可读性、可重复性、及可修改性,大大提高了系统的开发效率。
参考文献
[1] r. 大卫、h. 奥兰 著,黄建文、赵不贿译。佩特利网和逻辑控制
器图形表示工具[m],北京:机械工业出版社,1996
[2]赵不贿,景亮,严仰光。petri网的硬件实现[j],软件学报,2002(10):1652-1658
[3] naehyuck chang, wook hyun kwon, jaehyun park. fpga-based implementation of synchronous petre nets, industrial elecronics, contorl and instrumenation,1996,proceed.
[4] 祝习兵,胡健生,黄金志。基于cpld的基本petri网系统的硬件实现[j],现代电子技术,2004(3):102-105
[5] 赵不贿,严仰光,陆继远,唐平. 控制电路基于petri网的图形化设计与仿真研究[j],电路与系统学报,2005(5):54-58
[6] 沈宪明,白瑞林,章智慧. 基于fpga的模糊cmac网络的硬件实现
[j]. 微计算机信息, 2006, 2-2: 基于fpga的模糊cmac网络的硬件实现

BOLLHOFF博尔豪夫液压铆钳的注意事项有哪些
2019年造车新势力最值得期待的车型盘点
4大DRAM阵营竞争激烈 美光、尔必达提前导入40纳米
助力成长,强化管理,推动展锐创新引领 紫光集团选派马道杰先生担任紫光展锐董事长
Kinetis“喂狗”的问题
使用VHDL的Petri网系统的FPGA实现 同步Petri
腾讯发布业内首个AI安全攻击矩阵
华为荣耀手环6即将发布,支持GPS定位功能
量化交易系统搭建_虚拟币交易系统开发
磷化氢气体检测仪的工作原理与应用领域
媒体测试大众速腾对撞丰田卡罗拉 丰田结构表现弱于大众
小米6值得买吗?小米6评测:小米6手机开卖再度售罄,为什么总是抢不到小米6?小米6的背后猫腻
骑行者的极致追求_不知道这个你就Out了
采用PMM8713和功率放大器实现步进电机功率驱动级电路的设计
如何判断放大电路是共集还是共射?
采用单片机实现汽车防护集成系统的设计与应用
预计2025年,国内5G将拉动近10万亿元的市场规模
日本开发一种监测系统 通过MEMS传感器和无线技术实现建筑物结构监测
metaverse元宇宙代币下载
魏际刚提出三大建议推进F5G加速发展