<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的Petri網(wǎng)的硬件實現(xiàn)

          基于FPGA的Petri網(wǎng)的硬件實現(xiàn)

          作者: 時間:2018-07-27 來源:網(wǎng)絡 收藏

          1、引言

          本文引用地址:http://www.ex-cimer.com/article/201807/384193.htm

          是一種系統(tǒng)的、數(shù)學的和圖形的描述和分析工具,它具有強大的描述并發(fā)、異步、分布、并行、不確定/隨機性的信息處理系統(tǒng)的能力,目前已被廣泛應用于計算機通訊系統(tǒng)、實時多媒體系統(tǒng)及離散事件系統(tǒng)的研究中。而的硬件實現(xiàn)將為并行控制器的設計提供一條有效的途徑。因此,其硬件實現(xiàn)成為許多專家、學者研究的熱點。

          現(xiàn)場可編程門陣列是美國Minx公司于1984年首先開發(fā)的一種通用型用戶可編程邏輯器件。它具有容量大、速度高、價格低的優(yōu)點,同時,硬件描述語言具有的強大的行為描述能力及與硬件行為無關的特性,實現(xiàn)了硬件電路設計的軟件化,這為的硬件實現(xiàn)提供了有力的工具。

          本文探討了Petri網(wǎng)基于語言的實現(xiàn)。

          2、Petri網(wǎng)基本類型的實現(xiàn)

          2.1基本Petri網(wǎng)的實現(xiàn)

          2.1.1基本Petri網(wǎng)簡介

          定義1 六元組Z=(P,T,F,K,W,M0)稱為一個網(wǎng)系統(tǒng),其中N=(P,T,F)是一個有向網(wǎng),滿足:

          1)P∪T≠φ

          2)P∪T=φ

          3)F∈PxT∪TxP,只能從P->7或T->P,不準P->P或T->T.

          4)Dom(F)∪cod(F)=P∪T

          K,W,M0依次是N上的容量函數(shù),權函數(shù)和標識,M0稱為∑的初始標識?;綪etri網(wǎng)就是K=1,W=1,這時庫所內(nèi)的標識數(shù)要么是0,要么是1,而且所有的弧權都是1。對于基本的Petri網(wǎng),變遷的激發(fā)就是一個瞬時事件。

          2.1.2基本Petri網(wǎng)的元件實現(xiàn)

          圖1(a)是一個簡單的基本Petri網(wǎng)系統(tǒng),庫所P具有兩個輸入變遷和兩個輸出變遷,當庫所P中沒有托肯且?guī)焖鵓O或P1中有托肯時,變遷t0或11激發(fā),則托肯從庫所PO或P1移動到庫所P;當P中有托肯且?guī)焖鵓2或P3中沒有托肯時,變遷t2或0激發(fā),則托肯從庫所P移動到庫所P2或P3。

          實現(xiàn)庫所P的模塊如圖1(b),元件幾M有兩個輸入變遷inl,in2和兩個輸出變遷。outl,out2,當變遷使能時,其值為邏輯1,否則為邏輯0;reset為復位信號,用來置庫所的初始狀態(tài)。clk為全局時鐘。P的值表示庫所中是否含義托肯,若含有托肯,取值為邏輯1,否則為邏輯。。元件PM是在EDA軟件Max+PlusII中采用語言描述,經(jīng)過編譯、仿真后形成模塊。

          用VHDL語言描述源程序如下:

          entity p_mis

          port(reset,clk:instdlogic;

          inl,in2,outl,out2:instdlogic;

          p:outstdlogic);

          end p_m;

          architecture beh ofp_m is()P

          signal p0,np0:stdlogic;

          begin

          np0-not p0;

          process(clk,reset)

          variablefstdlogic;

          begin

          f:=((inlorin2)and

          ifclk'eventandclk='1

          ifreset='1'then

          p0='1';

          elsiff='1'then

          (a).(b)

          np0)or((outlorout2)andp0);

          .then

          PO=npO;

          endif;

          endif;

          endprocess;p=p0;

          end beh;

          圖2(a)是一個簡單的基本Petri網(wǎng)系統(tǒng),其激發(fā)規(guī)則是當庫所PO和P1中有托肯,變遷T具有兩個輸入庫所PO和P1,P3,而庫所P2和P3中沒有托肯,且事件x兩個輸出庫所P2和發(fā)生時,變遷激發(fā)。圖2(b)是建立的變遷元件T_M,inl,in2,outl,out2分別表示輸入庫所和輸出庫所中含有托肯的狀態(tài),若含有托肯,則取值為邏輯1,否則為邏輯0,x是外部事件。T表示變遷的激發(fā)狀態(tài),若可激發(fā)則取值為邏輯1。

          用VHDL語言描述源程序如下:

          entityt_mis

          port(inl,in2,outl,out2,x:in std_logic;

          t:out stdlogic);,

          end t_m;

          architecture beh of t_m is

          signal t0:stdlogic;

          begin

          t-x and in land in2 and (notoutl) and (notout2)end beh;

          庫所元件P_M和變遷元件T_M均存放在Max+Plusll中建立的元件庫中,可以調(diào)用使用的。

          2.2時EEPetriR的實IT

          2.2.1時延Petri網(wǎng)的定義

          定義2變遷時化Petri網(wǎng)(timed petri net)TN={P,T,F,I'],其中I':T->0∪R+,規(guī)定TPetri網(wǎng)中的每一個變遷的持續(xù)時間。{T,P,F}的定義與PN一致。

          在變遷時化Petri網(wǎng)中,每個變遷均有一為零或任一正實數(shù)的持續(xù)時間。而庫所中沒有持續(xù)時間,只要和它相連的變遷發(fā)生,庫所就可失去或獲得托肯。當變遷的輸入庫所中含有托肯時,變遷是可激發(fā)的,但要真正激發(fā)需要經(jīng)過一段持續(xù)時間。

          2.2.2變遷時化Petri網(wǎng)元件的實現(xiàn)

          變遷時化Petri網(wǎng)中庫所元件與基本Petri網(wǎng)一致。

          變遷時化Petri網(wǎng)中變遷元件的實現(xiàn)是在基本Petri網(wǎng)中變遷元件的基礎上設計了一個計時器TIME,如圖3(b),clk為計時頻率,決定了計時的精度;en為其使能端,當變遷可激發(fā)時,en為1,計時器開始計時,計時結束時co輸出為t。圖3(a)是一個簡單的變遷時化Petri網(wǎng),變遷T與時延D=n相連,當庫所PO和P1中各有一個托肯時,變遷T獲得發(fā)生權,但到T發(fā)生,需有n個單位的延時.調(diào)用元件幾M和計時元件TIME,建立邏輯電路如圖3(c)示,并經(jīng)過編譯形成圖3(d)所示邏輯模塊時化變遷元件。

          用VHDL語言實現(xiàn)計時器模塊源程序如下

          if clk'event and clk='1'then

          if en='l'then

          if q=nthenq=0;co='1';

          elseq=q+lco='0':

          end if;

          else q=0;co='0'

          end if;

          end process;

          endbeh;

          3、應用舉例

          兩臺計算機使用一個公共存儲器,(a)不需要該存儲器,(b)需要存儲器但還沒有使用它;(c)正在使用存儲器。

          則對其建立Petri網(wǎng)模型如圖5示。各庫所和變遷的含義解釋為:P1,P4分別表示CPI,CP2發(fā)出需要該存儲器請求;P2,P5分別表示CPI,CP2占用該存儲;P3,P6分別表示CPI,CP2不需要該存儲器;P7表示存儲器;變遷中與時間相關的是T2.T5,分別表示cp占用存儲器的時間。這是一個時延Petri網(wǎng)系統(tǒng)。分別調(diào)用元件庫中所形成的庫所元件、變遷元件和時延變遷元件,作出該系統(tǒng)的邏輯電路圖,并在EDA軟件Max+PlusI中對其編譯、仿真下載,仿真波形如圖示。

          4、結論

          Petri網(wǎng)是異步并發(fā)現(xiàn)象建模的重要工具,Petri網(wǎng)的硬件實現(xiàn)將為并行控制器的設計提供一種有效的途徑.這使Petri網(wǎng)的硬件實現(xiàn)顯得尤為重要。本文給出了基本Petri網(wǎng)系統(tǒng)的硬件實現(xiàn)方案,采用VHDL語言分模塊實現(xiàn),描述元件的功能并將元件存入WORK庫中,使設計具有很強的可讀性、可重復性、及可修改性,大大提高了系統(tǒng)的開發(fā)效率。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();