基于VHDL语言和可编程逻辑器件实现Petri网逻辑控制器的设计

时间:2025-09-16  作者:Diven  阅读:0

作者:王玲玲 ,刘惊雷 ,马晓敏

基于VHDL语言和可编程逻辑器件实现Petri网逻辑控制器的设计

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库中,使设计具有很强的可读性、可重复性、及可修改性,大大提高了系统的开发效率。

猜您喜欢

电子元器件中,贴片电阻小型化和高性能而应用于各种电路中。理解贴片电阻的算法公式不仅有助于设计更高效的电路,还能有效提升产品的性能和稳定性。本文将详细探讨贴片电阻...
2025-04-15 02:01:43

贴片排阻作为重要的电子元器件,应用于各种电路设计中。随着市场上贴片排阻品牌的增多,选择一个高质量、性能稳定的品牌尤为关键。LIZ(丽智)作为国内知名的贴片排阻品...
2022-01-12 14:05:04

引言现代文明的一个显著特征是城市中随处可见的五颜六色的广告宣传,其中大多都是由LED点阵制作的汉字或图形广告,广泛应用在银行、医院、酒店、火车站、体育场馆等各...
2018-08-26 09:52:00

保险丝作为保护电路安全的重要元件,是不可少的配件。森骊照明作为行业内知名品牌,其保险丝产品因质量可靠、性能优越而受到关注。本文将围绕森骊照明保险丝的类型及相关品...
2022-05-11 15:02:30

千分尺台架,作为精密测量不可少的工具,其分类多样,满足不同需求。按结构分,有立式、卧式和组合式;按用途分,有专用型和通用型,如测量金属、塑料等不同材质;按测量范...
2016-06-29 00:00:00

电容是电子元件中常见的部件。很多人会问,电容接的时候分正负极吗?这个问题很重要。下面我们就来详细探讨一下这个问题。电容的基本知识电容是储存电能的器件。有两个极,...
2025-03-25 17:00:34

传动链条是用于传递动力和运动的机械元件,应用于各类机械设备中。由一系列相互连接的链环组成,通过链轮或齿轮进行驱动和传动。链条的主要功能是将动力从一个源头有效地传...
2025-04-26 00:00:00

杯赛题目:基于蜂鸟E203 RISC-V处理器内核的SoC设计参赛要求:研究生组/本科生组赛题内容:基于芯来科技的开源蜂鸟E203 Demo SoC进行扩...
2022-08-01 11:11:00

选择贴片电阻瓦数并非越大越好,而是需要根据电路实际功耗来确定。功耗过大,电阻过热可能烧毁;功耗过小,电阻体积增大,成本增加。你需要计算电阻的实际功耗。根据欧姆定...
2024-11-29 10:25:45

本用例描述了高度集成的 Magalpha 角度传感器在机器人技术中的应用。光学编码器+电机磁编码器+电机从工业制造到医疗领域,机器人技术改变了许多行业...
2023-08-18 16:56:00