自控网系统的仿真分析与硬件实现的研究

时间:2007-11-24

  [摘  要] 自控网系统是Petri网的一个子类,与P/T系统相比,有更强的描述能力和更复杂的性质。由于它的非线性关系,无法直接套用其它网系统的分析技术,影响了对它的研究。文章提出了用硬件描述语言对自控网系统进行描述,通过EDA工具进行仿真分析,揭示系统的性质。文章针对计算Fibonacci数列的自控网系统模型,详细介绍了这一方法,给出了ABEL语言源代码和仿真波形,源代码经编译、优化、适配并到在系统可编程逻辑器件中,得到了计算Fibonacci数列的专用芯片,这为自控网系统的分析和应用研究开辟了新的途径。
  [关键词] Petri网;离散事件系统;电子设计自动化;硬件描述语言;在系统可编程器


    自控网系统(cyber net system)又称自修正系统(self-modifying system),简称自控系统。它是Petri网中的一类,与P/T系统区别仅仅在于有向弧的权受库所控制,它的关联矩阵含变量元素,而P/T系统的关联矩阵是常量,因此,P/T系统是线性的,而自控系统是非线性的,P/T系统只是自控网系统的一种特殊情况。虽然自控系统在上世纪70年代初就已被提出,但由于自控系统的非线性关系,无法直接套用其它网系统的分析技术,对自控系统的研究成果并不多。而正由于自控系统的非线性关系,它有更强的描述能力和更复杂的性质。因此,对自控系统的研究具有重要意义。北京大学袁崇义教授对自控系统进行了深入的研究[1,2],提出了自控系统的S-不变量和T-不变量的定义及其计算。本文采用EDA工具,用在系统可编程逻辑器件来实现自控系统,并通过仿真对自控系统进行分析。其目的是扩大自控系统的应用范围,激起人们对自控系统研究的兴趣。

1.自控系统简介[2]

  定义1 =(S,T;F,W,M0)为自控系统的条件是:
  (1) (S,T;F)为有向网,称为的基网。
  (2) W:STTS→{0,1,2,…}S,且W(x,y)≠0当且仅当W(x,y)F,称为的权函数。
  (3) M0:S→{0,1,2,…}为的标识。
  自控系统与P/T系统区别在于权函数W的值域中增加了S。定义中假定了每个S_元的容量是无限的,但在硬件实现时,由于存储器的位数有限,S_元的容量都是有限的,但这不影响对问题的研究。
   定义2
  (1) 映射M:S→{0,1,2,…}称为的标识。
  (2) 标识M下的权函数WM定义为:(x,y)STTS,
  (3) 变迁tT在标识M有发生权(即M[t>)的条件是:sS:M(s)≥WM(s,t)且有s•t使WM(s,t)>0,即t至少有一个非0的输入权。
  (4) 若M[t>,则t可以发生,后继标识M’由下式给出:
    M’=M(s)+WM(t,s)-WM(s,t)后继关系记做M[t>M’。
  定义2给出了自控系统的变迁规则。显然,变迁发生方式对终标识的影响很大。P/T系统中“并发能到达的标识,顺序也能到达”,而这在自控系统中不成立。自控系统的动态演变是以T上的多重集的并发一步一步演变。
  文[3]给出了Fibonacci数列的增广Petri网模型,用了19个库所,18个变迁和大量的抑制弧。图1是计算Fibonacci数列的自控网系统[2],十分简洁,充分反映了自控网系统的建模能力。图1中,s5、s6中的托肯数M(s5)、M(s6)代表Fibonacci数列中数的位置,相应的Fibonacci数由s3、s4中的托肯数表示。图示情况下可以看出,数列的第1个数的值为0,第2个数的值为1。s2和s4确保t1和t2顺序发生。


 
            图1 自控网系统

  由图可知,变迁t2有发生权,t2发生后,t1有发生权。设t2、t1发生后的标识分别为M1和M2,根据自控系统的变迁规则计算如下:


 
  式中运算符号 为替换加,即将向量中的变量先进行替换后再相加。

2.自控网系统的仿真分析与硬件实现

  在系统可编程逻辑器件由于结构不同可分为CPLD和FPGA两种,芯片内部有几千至几千万个标准门,人们通过EDA软件工具,采用硬件描述语言对系统的行为或逻辑功能进行描述,经编译、仿真、优化、适配并通过电缆到芯片中,从而获得满足功能要求的芯片。在系统可编程器件的特点是不要专门的编程器;器件可先焊接在电路板上,然后再对它进行编程,不满足要求还可重新编程;设计可以在各种层次上进行,可采用自下而上或自上而下的设计方法,受到电子工程师的欢迎,并可在一块芯片上构造一个复杂的数字系统[4]。
  下面以图1中s2和s3为例说明自控系统的设计方法。
  对于s2,t1发生时,它获得一个托肯,t2发生时,它失去一个托肯,可用一个触发器来代表它的状态,触发器为1时表示它有托肯,触发器为0时,表明它没有托肯。S3用8位寄存器表示,当t1发生时,s4中有多少托肯它增加多少托肯。
    再来分析一下t1、t2有发生权的条件,t1有发生权的条件是:tt1=(s1= =1)&(s2= =0)&(s5<=13)&(s3<=^h7f)&(s4<=^h7f),其中^h代表16进制,s5、s6分别用4位寄存器表示。t2有发生权的条件是:tt2=(s1= =0)&(s2= =1)&(6<=13)&(s3<=^h7f)&(s4<=^h7f)。由于ABEL-HDL中是无符号数运算,故采用了条件(s3<=^h7f)&(s4<=^h7f),以防s2和s3的存储器数据溢出。
  用set信号置初始标识,采用同步置位,同步信号为clk,上升沿作用。t1和t2加外部同步信号。

  程序编制完成后,进行编译并进行逻辑化简。可以通过编制测试程序对系统的功能进行仿真。本文是在Lattice公司的EDA软件工具ispDesign EXPERT环境中对图1所示自控网系统进行设计和仿真的,仿真波形如图2所示。从波形图中可看出,T1的第1个脉冲到来时,由于变迁T1没有发生权,所以不会发生,数据没有变化。当计算到第13个Fibonacc数时,s4为144时,为防止数据溢出导致不正确的结果,停止了计算。经适配并终在ispPLSI1032E芯片中,获得计算Fibonacci级数的专用芯片。
 
图2 仿真波形

3.结束语

  自控网系统由于它的非线性特点,用它来描述复杂系统特别是一些算法比其它的Petri网子类更有效。用硬件描述语言对自控网系统进行描述,通过EDA软件工具进行仿真和硬件实现,为自控网系统的性能分析提供了新的途径,也为它的实际应用提供了物理保证。随着人们对自控网系统研究的深入,本文所提出的自控网系统的仿真与硬件方法将得到进一步的应用。


 


  
上一篇:嵌入式实时系统开发的软硬件考虑和关键工艺
下一篇:基于有限元的PCB板上关键元件热可靠性分析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料