基于VHDL的Petri網(wǎng)系統(tǒng)的FPGA實現(xiàn)
3時延Petri網(wǎng)的實現(xiàn)
3.1時延Petri網(wǎng)的定義
時延PN被用來描述其運行與時間有關(guān)的系統(tǒng)。主要有兩種:P時延PN和T時延PN。因二者是等效的,其中一個模型可以轉(zhuǎn)換成另一個模型,故在此主要實現(xiàn)了T時延PN。
定義2[1]T時延PN是二元組
Tempo是從變遷集T到非負有理數(shù)集的函數(shù),Tempo(Tj)=dj是與變遷Tj相聯(lián)系的時限,它規(guī)定了Petri網(wǎng)中的每一個變遷的持續(xù)時間。
在T時延PN中,每個變遷均有一為零或任一正實數(shù)的持續(xù)時間。而庫所中沒有持續(xù)時間,只要和它相連的變遷激發(fā),庫所就可失去或獲得托肯。當變遷的輸入庫所中含有托肯時,變遷是使能的,但要真正激發(fā)需要經(jīng)過一段持續(xù)時間。
3.2變遷時化Petri網(wǎng)元件的實現(xiàn)
T時延PN中庫所元件與同步Petri網(wǎng)一致。
T時延PN中變遷元件的實現(xiàn)是在基本Petri網(wǎng)中變遷元件的基礎(chǔ)上設(shè)計了一個計時器TIME,如圖2(b),clk為計時頻率,決定了計時的精度;en為其使能端,當變遷可激發(fā)時,en為1,計時器開始計時,計時結(jié)束時co輸出為1。
在圖2(a)中變遷T與時延D=n相連,當庫所P0和P1中各有一個托肯時,變遷T獲得發(fā)生權(quán),但到T發(fā)生,需有n個單位的延時.調(diào)用元件T_M和計時元件TIME,建立邏輯電路如圖2(c)示,并經(jīng)過編譯形成圖2(d)所示邏輯模塊時化變遷元件tim。
用VHDL語言實現(xiàn)計時器模塊源程序如下:
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網(wǎng)元件實現(xiàn)的應用舉例
兩臺計算機使用一個公共存儲器,如圖3(a),假設(shè)每臺計算機可以有三種狀態(tài):(a)不需要該存儲器;(b)需要存儲器但還沒有使用它;(c)正在使用存儲器。
則對其建立Petri網(wǎng)模型如圖3(b)示。各庫所和變遷的含義解釋為:P1,P4分別表示CP1、CP2發(fā)出需要該存儲器請求;P2、P5分別表示CP1、CP2占用該存儲器;P3,P6分別表示CP1、CP2不需要該存儲器;P7表示存儲器;變遷中與時間相關(guān)的是T2、T5,分別表示cp占用存儲器的時間。這是一個時延Petri網(wǎng)系統(tǒng)。分別調(diào)用元件庫中所形成的庫所元件、變遷元件和時延變遷元件,作出該系統(tǒng)的邏輯電路圖如圖4(a),并在EDA軟件Max+PlusⅡ中對其編譯、仿真下載,仿真波形如圖4(b)示。
評論