一种基于Petri网的并行控制器的VHDL实现

发布者:mlgb999最新更新时间:2010-06-17 来源: 陆继远关键字:VHDL  FPGA  Petri  并行控制器 手机看文章 扫描二维码
随时随地手机看文章

  摘   要: Petri网是离散事件系统建模的重要工具,本文使用硬件描述语言VHDL实现了基于Petri网的并行控制器。文中通过一个液位控制系统实例具体介绍了这一方法,并通过仿真波形证明了该方法的正确性。这对于离散事件系统并行控制器的设计具有十分重要的意义。

  Petri网是异步并发系统建模与分析的一种重要工具,1962年由德国科学家C.A.Petri博士创立。40多年来,Petri网理论得到了很大的丰富和发展,其应用领域也在不断扩大,越来越受到国际同行的重视,已成为计算机、自动化和通信领域的热门研究课题。Petri网既有直观的图形表示,又有深厚的数学基础;既是层次化的结构模型,又能反映系统的动态性能[1][2]。用硬件描述语言进行电路和系统设计是当前EDA技术的重要特征,它使得设计者能在较抽象的层次上进行系统结构和内部特征的设计。VHDL作为一种高速的硬件描述语言适于描述设计异步并发的系统,因而可与Petri网模型建立联系。用VHDL对模型进行程序设计,为模型的硬件实现奠定了基础。随着大规模、高密度的可编程逻辑器件FPGA和CPLD的问世与应用方面的迅速推广,并且有各种EDA软件工具的支持,使得人们可以根据Petri网的拓扑结构用硬件加以实现,以使Petri网的硬件实现成为可能。因此,基于Petri网的智能化的并行控制器的设计与硬件实现的课题引起了人们的强烈兴趣。利用Petri网技术,不仅可以用来进行设计、分析和验证,还能够进行优化控制。

  微电子技术发展到今天,已提供了几千至几千万个标准门的芯片。特别是在系统可编程技术,可有条件地在一个芯片上设计制作一个数字系统,即系统芯片(System on Chip,SoC)。国内市场上常见的Altera公司、Xilinx公司、Lattice公司的FPGA和CPLD芯片,一般都能满足设计SoC的需要,并且都提供了EDA软件开发工具。而且在现有的软件开发工具中,有电路图、状态图、真值表和硬件描述语言等输入方式。但设计片上并行控制器,难以用电路图或逻辑方程输入方式实现;如果用状态图或真值表输入方式,随着问题复杂程度的增加,系统的状态将发生组合爆炸,这是十分棘手的问题。而且有限状态机(FSM)虽已被广泛运用到数字逻辑控制系统,也只是因为它给出了系统化的硬件实现方法和具体的实现模型(如Moore自动机和Mealy自动机),用FSM实现并行控制器也十分困难。因为FSM必须于设计前划分控制器,所以常常会导致非最优的门级实现,且使设计中并发的数量受到使用FSM数量的限制,同时FSM间相互依赖,使得设计难于验证且易产生并行同步错误(如死锁、丢失数据的完整性)。上述这些缺点只有设计遍历整个状态空间时才能验证,因而可能被漏检[3]。若用硬件描述语言输入,遇到的困难是模型和验证。

  针对传统的设计方法不太适合并行控制器设计的问题,本文介绍一种使用硬件描述语言VHDL来实现基于Petri网的并行控制器的方法。首先使用Petri网对问题进行建模,并对模型进行分析和控制,获得控制器的Petri网模型;然后用VHDL对Petri网控制模型加以描述,得到源文件;最后通过EDA软件开发工具Max+PlusⅡ进行编译、模拟、适配,并下载到可编程逻辑器件中。

  1  Petri网简介[2]

  2  实现的基本方法

  Petri网本身就是一种硬件描述语言,是一种高度抽象的、结构化的并发语言。Petri网非常适合于复杂离散系统的建模和形式化分析,而VHDL则是一种标准的硬件描述语言,可以解决数字系统描述中并发性问题,允许其仿真和综合。Petri网和VHDL可以相互补充,并且也可以提供一个验证子系统接收所有设计任务相同的用户接口描述[4]。并行控制器的VHDL文本Petri网描述在一个实际设计中可获得50%的面积减少及40%的速度改善(相对于最好的FSM综合)[4]。

  用大规模可编程逻辑器件来实现由Petri网描述的并行控制器,其实现的基本步骤如下:

  (1)对实际系统建立Petri网系统模型。

  (2)采用Petri网软件工具对所建立的Petri网系统模型进行分析并加以控制,建立监控器的Petri网系统模型。

  (3)确定输入输出变量并选择相应的FPGA或CPLD器件。

  (4)根据网的拓扑结构确定条件与事件间的逻辑关系,用硬件描述语言如VHDL对Petri网模型进行描述。

  (5)以VHDL描述作为设计输入,通过EDA软件开发工具,如ispDesign EXPERT或Max+PlusⅡ等,进行编译、模拟、适配,然后下载到器件中。[page]

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

  3  基于Petri网的并行控制器设计举例

  3.1 系统描述

  从文献[5]中选择了一个如图2所示的并行控制器设计例子,这是一个用于说明离散事件系统控制器设计的典型示例。它有3个盛放液体的罐子:V1、V2、V3,其中V1、V2是用来盛放不同种液体F1、F2的,M是搅拌系统的驱动电机。系统停止时,指示灯Y0亮。当起动按钮按下时(X0=1),阀Y1、Y2打开,2种不同的液体F1、F2分别注入V1、V2。当V1中的液体到达X1位置时,Y1关闭;当V2中液体到达X3时,阀Y2关闭。当V1、V2中的液体分别都到达X1、X3时,Y3、Y4同时打开;当V1、V2中液体分别都低于X2、X4时,Y3、Y4关闭,同时Y6打开。当V3中液体高于X5时,Y5闭合,电动机M开始搅拌;当V3中液体流出低于X6时,Y6关闭,指示灯亮,重新回到原来状态。

  3.2 系统控制部分的控制解释Petri网模型

  用Petri网对系统控制部分进行描述,得到的控制解释Petri网模型如图3所示。模型中输入输出信号的描述如表1所示,描述的局部状态如表2所示。

[page]

  3.3 模型的VHDL实现

  用VHDL实现的部分源代码如下:

  t1<=not p2 and not p4 and x0 and p1;

  t2<=not p3 and x1 and p2;

  t3<=not p5 and x3 and p4;

  t4<=not p6 and not p7 and p3 and p5;

  t5<=not p8 and x5 and x6 and p6;

  t6<=not p9 and not x2 and not x4 and p7;

  t7<=not p6 and not x5 and p8;

  t8<=not p1 and not x6 and p6 and p9;

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

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

  np3<=t2 or (p3 and not t4);

  np4<=t1 or (p4 and not t3);

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

  np6<=t4 or t7 or(p6 and not t5 and not t8);

  np7<=t4 or (p7 and not t6);

  np8<=t5 or (p8 and not t7);

  np9<=t6 or (p9 and not t8);

  3.4 基于Max+PlusⅡ的并行控制器仿真

  在MAX+PlusⅡ中经编译后进行功能仿真,仿真波形如图4所示。波形表明结果是正确的。

  4  结  论

  Petri网是并发系统强有力的建模工具,通过对Petri网模型的分析,可以获得系统的许多结构和动态性能,根据控制策略,还可以建立系统的控制模型并获得系统在控制作用下的性能。以上讨论证明,基于Petri网的并行控制器可以用VHDL实现,从而开辟了并行控制器设计与实现的新途径。

  参考文献

  1   David R,Alla H著,黄建文,赵不贿译.佩特利网和逻辑控制器图形表示工具(GRAFCET).北京:机械工业出版社, 1996

  2   袁崇义.Petri网原理.北京:电子工业出版社,1998

  3   Pardey J,Amroun A,Bolton M et al.Parallel Cotroller Synthesis for Programmable Logic Devices.Microprocessors  and Microsystems,1994;18(8)

  4   Fernandes J M,Adamski M,Proenca A J.VHDL Generation  from Hierarchical Petri Net Specifications of Parallel Controllers.IEEE ProcComput Tech,1997;144(2)

  5   Adamski M.A Rigorous Design Methodology for Reprogrammable Logic Controllers. Proceedings of the International Workshop on Discrete-Event System Design DESDes′01.Przytok:Technical University of Zielona Góra,2001

关键字:VHDL  FPGA  Petri  并行控制器 引用地址:一种基于Petri网的并行控制器的VHDL实现

上一篇:Actel 标准软件套装提供免费IP核使用权和RTL套装
下一篇:基于FPGA和LVDS技术的光缆传输技术

推荐阅读最新更新时间:2024-05-02 21:04

基于SoPC Builder的电子系统的开发
   O 引言   随着科学技术的进一步发展,SoC设计面临着一些诸如如何进行软硬件协同设计,如何缩短电子产品开发周期的难题。为了解决SoC设计中遇到的难题,设计方法必须进一步优化。因此,人们提出了基于FPGA的SoC设计方案——SoPC(System on a programmable chlp)。随着百万门级的FPGA芯片、功能复杂的IP核和可重构的嵌入式处理器软核的出现,SoPC设计成为一种确实可行的、重要的设计方法。   Altera公司在其开发工具QuartusⅡ中集成了SoPC Builder工具。在该工具的辅助下,设计者可以非常方便地完成系统集成,软硬件协同设计和验证,最大限度地提高电子系统的性能,加快设计速度和
[嵌入式]
基于FPGA的智能营区防冲击系统设计
摘要:为提高安防措施,延缓不法分子动作,确保营区安全,提出一种营区智能防冲击系统解决方案。该方案以移动物体的外形形状、车牌信息、车辆速度为输入特征,采用虚拟线圈感应、车牌识别、车辆测速、系统控制等方法来实现预警警告和阻车钉的自动弹出,阻止不法车辆的通行。重点阐述该方案的系统构成及各模块的工作原理,设计并实现了基于Virtex 5系列XC5VSX50T芯片的硬件平台。 关键词:Virtex 5;虚拟线圈;神经网络;车牌识别;车辆测速;防冲击系统 0 引言 近年来,国际国内安全形势不容乐观,恐怖活动呈上升趋势。因种种问题冲击政府、军队、企业的事件逐年增多,其中就有恐怖分子利用汽车为作案工具携带爆炸装置冲入目标单位引爆,造成伤亡的
[嵌入式]
基于<font color='red'>FPGA</font>的智能营区防冲击系统设计
莱迪思FPGA助力屡获殊荣的超级高铁及电机设计
作为低功耗可编程器件的领先供应商,可持续发展始终是莱迪思产品创新的一个核心指导原则。在过去几年里,莱迪思与Swissloop合作,一如既往地支持他们的超级高铁研究项目。对于该学生组织而言,过去的一年又是成果丰硕的一年。本文将介绍该团队2022年的一些项目进展及Swissloop领导人Roger Barton和Hanno Hiss开展的卓有成效的工作。 Swissloop团体照片 Swissloop是一个由苏黎世联邦理工学院(ETH Zurich)赞助的学生组织,主要从事超级高铁技术及其现实应用方面的研究。 他们的项目在SpaceX Hyperloop竞赛和巴伦西亚举行的欧洲超级高铁活动周(European Hype
[嵌入式]
莱迪思<font color='red'>FPGA</font>助力屡获殊荣的超级高铁及电机设计
基于FPGA的运动估计设计
摘要:利用功能强大的FPGA实现视频图像的一种运动估计设计,采用的搜索方法是三步搜索法。在进行方案设计时,本文采用了技术比较成熟的VHDL语言进行设计,并使用Quartus II软件进行时序仿真。由仿真结果可知,无论是在功能的实现上还是在搜索的准确性、高效性以及FPGA片上资源的利用率上,本设计方案都具有明显的优越性。 关键词:视频编码;FPGA;运动估计;三步搜索法;VHDL 人类获取的信息中70%来自于视觉。视频信息具有直观性、确切性和高效性等优点,其在多媒体信息中占有重要地位,成为了主导现代生活的主力军。然而,视频信息信息量太大,对信息存储设备及通信网络均提出了很高要求,严重阻碍了人们对有效信息的获取和使用。而解决这
[嵌入式]
基于<font color='red'>FPGA</font>的运动估计设计
采用TDC-GP1和FPGA器件实现纳秒量级时间间隔测量系统的设计
1 引 言 随着空间探测技术的发展,空间的等离子体成分探测显得越来越重要,尤其对现在正在进行的深空探测,如探月计划。而空间等离子成分探测最主要的方法就是飞行时间法,既通过测量粒子飞过一定距离所需要的时间来鉴别粒子成分。 目前,国外在等离子体成分探测方面技术已经很成熟,如1984年AMPTE/IRM上的超热离子电荷分析器;1996年FAST上的飞行时间法能量角质谱仪(TEAMS),Cluster Ⅱ上的离子成分和分布函数分析器(CODIF)。然而在国内,该技术还刚刚处于起步阶段,存在很多难点,其中最关键的就是:快电子学技术,也就是说如何用电子学的方法测量出起始脉冲和停止脉冲之间的时间间隔,既粒子的飞行时间,约为纳秒量级,将是整个
[测试测量]
采用TDC-GP1和<font color='red'>FPGA</font>器件实现纳秒量级时间间隔测量系统的设计
用单片机实现SRAM工艺FPGA的加密应用
在现代电子系统设计中,由于可编程逻辑器件的卓越性能、灵活方便的可升级特性,而得到了广泛的应用。由于大规模高密度可编程逻辑器件多采用SRAM工艺,要求每次上电,对FPGA器件进行重配置,这就使得可以通过监视配置的位数据流,进行克隆设计。因此,在关键、核心设备中,必须采用加密技术保护设计者的知识产权。 1 基于SRAM工艺FPGA的保密性问题 通常,采用SRAM工艺的FPGA芯片的的配置方法主要有三种:由计算机通过下载电缆配置、用专用配置芯片(如Altera公司的EPCX系列芯片)配置、采用存储器加微控制器的方法配置。第一种方法适合调试设计时要用,第二种和第三种在实际产品中使用较多。第二种方法的优点在于外围电路非常简单,体积较
[单片机]
RIGOL示波器comparo彰显Smarter System之先进
众多的产品正向更智能方向发展,我们必须充分利用 All Programmable 世界所提供的各种资源,以便在竞争中占得先机。这个道理是我在一次不经意的经历中所悟出的。在 Dave Jones EEVblog 的一个最新视频中 ( 视频 网址 http://v.youku.com/v_show/id_XNTM5MzcwNzMy.html ) ,将普源精电公司( RIGOL ) 四五年前推出的 RIGOL DS1052E 数字示波器与其去年推出的新一代“经济型”数字示波器 DS2072 进行了对比。(《 Motor Trend 》汽车杂志的读者应该知道,该杂志把对于两辆不同型号汽车的一一对比评测称为“
[嵌入式]
RIGOL示波器comparo彰显Smarter System之先进
基于FPGA的正弦信号发生器设计
前言 用FPGA做正弦信号发生器是我上大学期间在实验室里做的,主要用的ROM-IP和DA数模转化芯片,将数字信号转为模拟信号后,通过示波器进行显示。 我记得当时用FPGA做了正弦、三角波、方波信号,然后通过DA输出在示波器上显示信号........现在回想起来,自己感觉挺有意思的,当时学习时确实花费了不少时间去搞它。 应用知识储备说明 用FPGA做正弦信号发生器,从专业学科角度来说它属于通信行业了。在通信行业里,信号的处理肯定要用到两种信号类型:模拟信号和数字信号(这个概念大家可以自己上网查一下,这里不详细介绍)。这两种信号之间如何进行转化呢,就要用到AD芯片和DA芯片。 我想大家都知道AD和DA这两个名词吧,我们现在
[测试测量]
基于<font color='red'>FPGA</font>的正弦信号发生器设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved