陸繼遠,景亮
同步Petri網的仿真及硬件實現?
陸繼遠,景亮
(江蘇大學電氣信息工程學院,江蘇鎮江212013)
基于現有的EDA技術,針對同步Petri網和硬件描述語言的關聯性,提出了用VHDL語言對同步Petri網進行描述并實現。首先使用同步Petri網對控制器進行建模,然后使用VHDL語言對同步Petri網控制模型進行描述,最終在EDA軟件Max+PlusII中進行編譯、仿真和適配,并下載到FPGA中,通過實驗開發系統GW48-CK進行硬件實現并測試。仿真波形及硬件測試表明了該方法的正確性與有效性,這對于基于同步Petri網的控制器設計具有重要意義。
同步Petri網;條件/事件系統;硬件描述語言;電子設計自動化;可編程邏輯器件;硬件實現
Petri網是德國數學家Carl Adam Petri博士于1962年在其博士論文《用自動機通信》(Communica
tion With Automata)中首次提出的網狀結構的信息流模型。40多年來,Petri網理論[1-3]不斷發展,Petri網的應用范圍也在不斷擴大,受到國內外諸多領域的專家學者的重視。Petri網有直觀的圖形表示和深厚的數學基礎,既是層次化的模型結構,又能反映系統的動態性能。Petri網作為一種信息流模型,具有強大的模擬能力,描述和分析并發現象有獨到的優越之處,使得它在許多領域得到應用,特別是離散事件系統[4-5]。使用Petri網對離散事件系統建模,采用Petri網軟件工具分析、驗證系統的各種性能,已被人們廣泛接受。普通Petri網也已通過擴展,得到Petri網的許多子類,目的是對同步并發數字系統進行有效描述。
文獻[6]給出了Petri網電路實現的一種方法,其特點是庫所與變遷分開實現。為了減少占用的FPGA資源,將庫所與變遷的電路綜合在一起,但缺點是庫所和變遷都使用了觸發器,不能在真正意義上實現異步控制,采用了全局時鐘,接線復雜。有學者曾用基本RS觸發器來實現Petri網,特點是不用全局時鐘,是異步控制,可以認為是Petri網基于門級的實現,缺點是RS觸發器存在不定狀態。文獻[7]給出了幾種Petri網的電路模型,庫所用D觸發器,變遷用門電路實現,是一種異步控制。
EDA技術的重要特征是用硬件描述語言進行電路和系統的設計,這種方法是在較高抽象層次上進行系統的結構和內部特征的設計。VHDL語言同樣適合描述異步并發系統,因此可與Petri網模型建立聯系。與其它硬件描述語言相比,VHDL具有更強的行為描述能力,描述層次比較高,而且含有許多具有硬件特征的語句,有豐富的仿真語句和庫函數,可在設計早期對設計在高層次上進行仿真模擬。它也支持大規模設計的分解和已有設計的再利用功能。對Petri網模型用VHDL進行描述,并最終在FPGA中實現,從而為Petri網模型的硬件實現奠定了基礎[7-11]。
定義1四元組Σ=(B,E;F,C)能構成條件/事件系統(Condition/Event System)的要求是[1]:
(1)(B,E;F)為簡單有向網,稱為Σ的基網;
(2)C?R(B)是叢上的完全情態集,C中的叢稱為Σ的情態;
(3)?b∈B?c1,c2∈C:b∈c1∧b?c2;
(4)?e∈E?c1,c2∈C:c1[e>c2。
條件/事件系統簡寫為C/E系統。
定義2在Σ=(B,E;F,C)中,如果有c1∈C,?u?E,對于?e1,e2∈u,·e1∩·e2=φ∧e1·∩e2·=φ∧·e1∩·e2?c1∧e1·∩e2·∩c1=φ,則稱u在c1有發生權,記為c1[u>。u發生后的情態記為c2,即c1[u>c2,則c2=c1-·u∪u·∧c2∈C[1]。
定義3同步Petri網是一個三元組<R,E,Sync>,其中R是一已標識的Petri網,E是一外界事件集,Sync是從R的變遷集到事件集的函數[2]。
同步Petri網由M.Moalla、J.Pulou和J.Sifakis等學者提出并進行研究。外部事件對應于外部世界狀態的變化,反之,內部事件是指內部狀態的變化,即標識的變化。在同步Petri網中,每個變遷總是與一個事件相聯系。當變遷是使能的,且與變遷聯系的事件發生時,才能產生變遷的激發。
3.1 實現分析
Petri網是不同知識背景工程技術人員間的一種“共同語言”。Petri網有許多子類,是一種層次化的模型,可以在系統的行為級、算法級、邏輯級等不同層次上進行建模,支持“自頂向下”和“自底向上”的設計方法。VHDL語言是一種硬件描述語言,現已成為IEEE標準(IEEE 1076-1987和1076-1993)。
但硬件描述語言的語義是建立在仿真基礎上的,而一種嚴格的語義定義,使用形式化的分析、驗證技術是十分必要的。在復雜的集成電路的設計工作中,70%的工作都是在驗證上,驗證途徑的標準化已經變得非常重要。VHDL與Petri網一樣,也是一種并發語言,用Petri網對系統進行描述、分析與驗證,然后用VHDL語言進行描述,這將使Petri網與VHDL優勢互補,相得益彰。
3.2 實現步驟
用大規模可編程邏輯器件來實現由Petri網描述的控制器,已成為研究Petri網硬件實現的一種有效途徑和方法。目前,國內外已有不少研究人員從事這方面的研究,并取得了一定的成果[7-11]。Petri
網能夠使用ABEL、Verilog和VHDL等硬件描述語言(HDL)進行描述并硬件實現。
實現的基本步驟如下:
(1)使用Petri網對實際系統建立模型;
(2)對所建立的Petri網模型利用相關軟件分析并控制,建立Petri網監控模型;
(3)選擇FPGA或CPLD可編程邏輯器件并確定輸入輸出變量;
(4)根據條件與事件間的邏輯關系,用標準的硬件描述語言如VHDL語言對Petri網模型進行描述;
(5)在EDA軟件如Max+PlusII或QuartusII中,對VHDL源文件進行編譯、仿真和適配,并下載到可編程邏輯器件中;
(6)在EDA實驗開發系統如GW48-CK中進行硬件實現并測試。
整個硬件實現的流程圖如圖1所示。
4.1 同步Petri網模型與VHDL
圖2是一個控制器的同步Petri網模型。
圖中t1變遷有輸入庫所p1、輸出庫所p2和p3,它由輸入條件x1監視。變遷t1對應的VHDL描述為
t1<=x1 and p1 and NOT p2 and NOT p3;
可以這樣來理解:當輸入信號x1滿足條件,庫所p1被標識并且庫所p2和p3沒有被標識時,變遷t1將發生。
對于變遷t1,VHDL描述的相關部分如下:
np1<=…or(p1 and not t1);
np2<=t1 or…;
np3<=…or t1 or…;
np1的表達式描述了當變遷t1不使能時,庫所p1保持托肯。其余兩個表達式表示當變遷t1激發時,庫所p2和p3得到新的托肯。
4.2 同步Petri網的VHDL描述
用硬件描述語言VHDL實現的主體源程序如下:
entity SynPN is--實體定義
port(reset,clock,x1,x2,x3,x4:in bit;
y:outbit
);
end;
architecture a of SynPN is--結構體定義
signal p1,np1,p2,np2,p3,np3,p4,np4,p5,np5:bit;
signal t1,t2,t3,t4,t5:bit;
begin
process
begin
--時鐘脈沖上升沿有效
wait until clock′event and clock=‘1’;
if reset=‘0’then
p1<=np1;
p2<=np2;
……
else
--reset為1,給庫所置初始標識
p1<=‘1’;
p2<=‘0’;
……
end if;
end process;
--變遷的數據流描述
t1<=p1 and x1 and not p2 and not p3;
t2<=p2 and x2 and not p4;
t3<=p3 and x3 and not p5;
t4<=p5 and x3 and not p3;
t5<=p4 and p5 and x4 and not p1;
--庫所得到托肯的數據流描述
np5<=(p5 and not t4 and not t5)or t3;
np4<=(p4 and not t5)or t2;
np3<=(p3 and not t3)or t1 or t4;
np2<=(p2 and not t2)or t1;
np1<=(p1 and not t1)or t5;
y<=p1;
end;
4.3 仿真分析及硬件測試
該程序經Altera公司的EDA軟件Max+PlusII10.2編譯后,仿真波形如圖3所示。從波形可以看出,150.1 ns時,由于時鐘脈沖處于上升沿,p1有托肯,x1事件發生,故t1被激發,結果p1中托肯消失,同時p2和p3得到新的托肯;250.1 ns時,由于時鐘脈沖處于上升沿,p2有托肯,x2事件發生,故t2被激發,結果p2中托肯消失,同時p4得到新的托肯。
在EDA軟件平臺下,將最終得到的下載文件下載到Altera公司的FPGA芯片EPF10K10LC84-4中,并在實驗開發系統GW48-CK中進行硬件測試,測試結果也表明了此設計的正確性。
基于VHDL的同步Petri網的FPGA實現問題的解決,使得可以利用同步Petri網對系統建立控制模型,并用Petri網軟件分析工具對該模型進行分析、驗證之后,用硬件描述語言VHDL來描述Petri網控制模型,在EDA軟件開發平臺下進行編譯、仿真、適配,并下載到可編程邏輯器件FPGA中,通過實驗開發系統GW48-CK進行硬件測試。這為控制器設計提供了一種行之有效的方法,它保證了控制器的正確性與有效性,使Petri網在VLSI方面的應用不限于對系統的描述與驗證。它能夠通過硬件描述語言直接生成電路,其意義是深遠的,并有可能與現有的IP核相結合,為軟/硬件協同設計提供有效方法。
[1]袁崇義.Petri網原理與應用[M].北京:電子工業出版社,2005.
YUAN Chong-yi.Principle and Application of Petri Nets[M].Beijing:Publishing House of Electronics Industry,2005.(in Chinese)
[2]David R,Alla H.Petri Nets&Grafcet[M].New York:Prentice Hall,1992.
[3]Murata T.Petri Nets:Properties,Analysis and Applications[J].Proceedings of the IEEE,1989,77(4):541-580.
[4]Adamski M,Wegrzyn M.Proceedings of the International Workshop on Discrete-Event System Design DESDes′01[M].Przytok:Technical University of Zielona Gora,2001.
[5]PawlewskiP.PetriNets:Applications[M].Vukovar,Croatia:In-Teh,2010.
[6]Soto E,Pereira M.Implementing a Petri net specification in a FPGA using VHDL[C]//Proceedings of the International Workshop on Discrete-Event System Design.Przytok,Poland:[s.n.],2001:19-24.
[7]趙不賄,景亮,嚴仰光.Petri網的硬件實現[J].軟件學報,2002,13(8):1652-1657.
ZHAO Bu-hui,JING Liang,YAN Yang-guang.Hardware implementation of Petrinets[J].Journalof Software,2002,13(8):1652-1657.(in Chinese)
[8]趙不賄,杜天艷,嚴仰光.基于VHDL的時延Petri網仿真[J].系統仿真學報,2003(增1):99-101.
ZHAO Bu-hui,DU Tian-yan,YANYang-guang.Simulation of the Timed PetriNets Based-on VHDL[J].Journal of System Simulation,2003(suppl.1):99-101.(in Chinese)
[9]AdamskiM.Behavioural specification of programs formodular Reconfigurable Logic Controllers[C]//Proceedings of IEEEMixed Design of Integrated Circuits and Systems.Gdynia:IEEE,2006:239-244.
[10]Gomes L,Costa A,Barros JP,et al.From Petrinetmodels to VHDL implementation of digital controllers[C]//Proceedings of the 33rd Annual Conference of the IEEE Industrial Electronics Society.Taipei:IEEE,2007:94-99.
[11]Schilke H,Rettberg A,Dittmann F.Towards a Petri Net based Approach to Modeland Synthesise Dynamic Reconfiguration for FPGAs[C]//Proceedings of the4th IEEE International Symposium on Electronic Design,Test&Applications.Hong Kong:IEEE,2008:561-566.
LU Ji-yuan was born in Zhenjiang,Jiangsu Province,in 1978.He received the M.S.degree from Jiangsu University in 2003.He is now a lecturer and currently working toward the Ph.D. degree.His research concerns PetriNet theory and applications.
Email:jiyuanlu@ujs.edu.cn
景亮(1966—),男,江蘇丹徒人,博士研究生,副教授,主要研究方向為EDA技術。
JING Liangwas born in Dantu,Jiangsu Province,in 1966.He is now an associate professor and currently working toward the Ph.D.degree.His research direction is EDA technology.
Email:jingl@ujs.edu.cn
Simulation and Hardware Implementation of Synchronous Petri Net
LU Ji-yuan,JING Liang
(College of Electrical and Information Engineering,Jiangsu University,Zhenjiang 212013,China)
According to the relevance between synchronous Petri Net and hardware description language,VHDL is used to describe and implement synchronous Petri Net based on the existing EDA technology.Firstly,synchronous Petri Net is used tomodel the controller.Secondly,Petri Net controlmodel is described by VHDL. Finally,the VHDL codes are compiled,simulated,fit-designed and downloaded to FPGA in EDA software Max +PlusII.Hardware implementation and experiment are performed with the development system GW48-CK. Simulation wave and hardware test further verify the correctness and validity of themethod.Themethod is of great significance to the design of controller based on synchronous Petri Net.
synchronous Petri net;condition/event system;hardware description language;electronic design automation;programmable logic device;hardware implementation
TP301
A
10.3969/j.issn.1001-893x.2011.10.016
陸繼遠(1978—),男,江蘇鎮江人,2003年于江蘇大學獲碩士學位,現為講師、博士研究生,主要研究方向為Petri網理論及應用;
1001-893X(2011)10-0076-04
2011-06-15;
2011-09-05