计算Fibonacci数列的自控网系统模型仿真分析

描述

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

1.自控系统简介

定义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上的多重集的并发一步一步演变。

文给出了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软件工具进行仿真和硬件实现,为自控网系统的性能分析提供了新的途径,也为它的实际应用提供了物理保证。随着人们对自控网系统研究的深入,本文所提出的自控网系统的仿真与硬件方法将得到进一步的应用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分