<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于Petri網(wǎng)的并行控制器的VHDL實(shí)現

一種基于Petri網(wǎng)的并行控制器的VHDL實(shí)現

作者: 時(shí)間:2010-06-17 來(lái)源:網(wǎng)絡(luò ) 收藏

  摘 要: 網(wǎng)是離散事件系統建模的重要工具,本文使用硬件描述語(yǔ)言實(shí)現了基于網(wǎng)的。文中通過(guò)一個(gè)液位控制系統實(shí)例具體介紹了這一方法,并通過(guò)仿真波形證明了該方法的正確性。這對于離散事件系統的設計具有十分重要的意義。

  網(wǎng)是異步并發(fā)系統建模與分析的一種重要工具,1962年由德國科學(xué)家C.A.Petri博士創(chuàng )立。40多年來(lái),Petri網(wǎng)理論得到了很大的豐富和發(fā)展,其應用領(lǐng)域也在不斷擴大,越來(lái)越受到國際同行的重視,已成為計算機、自動(dòng)化和通信領(lǐng)域的熱門(mén)研究課題。Petri網(wǎng)既有直觀(guān)的圖形表示,又有深厚的數學(xué)基礎;既是層次化的結構模型,又能反映系統的動(dòng)態(tài)性能[1][2]。用硬件描述語(yǔ)言進(jìn)行電路和系統設計是當前EDA技術(shù)的重要特征,它使得設計者能在較抽象的層次上進(jìn)行系統結構和內部特征的設計。作為一種高速的硬件描述語(yǔ)言適于描述設計異步并發(fā)的系統,因而可與Petri網(wǎng)模型建立聯(lián)系。用對模型進(jìn)行程序設計,為模型的硬件實(shí)現奠定了基礎。隨著(zhù)大規模、高密度的可編程邏輯器件和CPLD的問(wèn)世與應用方面的迅速推廣,并且有各種EDA軟件工具的支持,使得人們可以根據Petri網(wǎng)的拓撲結構用硬件加以實(shí)現,以使Petri網(wǎng)的硬件實(shí)現成為可能。因此,基于Petri網(wǎng)的智能化的的設計與硬件實(shí)現的課題引起了人們的強烈興趣。利用Petri網(wǎng)技術(shù),不僅可以用來(lái)進(jìn)行設計、分析和驗證,還能夠進(jìn)行優(yōu)化控制。

  微電子技術(shù)發(fā)展到今天,已提供了幾千至幾千萬(wàn)個(gè)標準門(mén)的芯片。特別是在系統可編程技術(shù),可有條件地在一個(gè)芯片上設計制作一個(gè)數字系統,即系統芯片(System on Chip,SoC)。國內市場(chǎng)上常見(jiàn)的Altera公司、Xilinx公司、Lattice公司的和CPLD芯片,一般都能滿(mǎn)足設計SoC的需要,并且都提供了EDA軟件開(kāi)發(fā)工具。而且在現有的軟件開(kāi)發(fā)工具中,有電路圖、狀態(tài)圖、真值表和硬件描述語(yǔ)言等輸入方式。但設計片上并行控制器,難以用電路圖或邏輯方程輸入方式實(shí)現;如果用狀態(tài)圖或真值表輸入方式,隨著(zhù)問(wèn)題復雜程度的增加,系統的狀態(tài)將發(fā)生組合爆炸,這是十分棘手的問(wèn)題。而且有限狀態(tài)機(FSM)雖已被廣泛運用到數字邏輯控制系統,也只是因為它給出了系統化的硬件實(shí)現方法和具體的實(shí)現模型(如Moore自動(dòng)機和Mealy自動(dòng)機),用FSM實(shí)現并行控制器也十分困難。因為FSM必須于設計前劃分控制器,所以常常會(huì )導致非最優(yōu)的門(mén)級實(shí)現,且使設計中并發(fā)的數量受到使用FSM數量的限制,同時(shí)FSM間相互依賴(lài),使得設計難于驗證且易產(chǎn)生并行同步錯誤(如死鎖、丟失數據的完整性)。上述這些缺點(diǎn)只有設計遍歷整個(gè)狀態(tài)空間時(shí)才能驗證,因而可能被漏檢[3]。若用硬件描述語(yǔ)言輸入,遇到的困難是模型和驗證。

  針對傳統的設計方法不太適合并行控制器設計的問(wèn)題,本文介紹一種使用硬件描述語(yǔ)言VHDL來(lái)實(shí)現基于Petri網(wǎng)的并行控制器的方法。首先使用Petri網(wǎng)對問(wèn)題進(jìn)行建模,并對模型進(jìn)行分析和控制,獲得控制器的Petri網(wǎng)模型;然后用VHDL對Petri網(wǎng)控制模型加以描述,得到源文件;最后通過(guò)EDA軟件開(kāi)發(fā)工具M(jìn)ax+PlusⅡ進(jìn)行編譯、模擬、適配,并下載到可編程邏輯器件中。

  1 Petri網(wǎng)簡(jiǎn)介[2]

一種基于Petri網(wǎng)的并行控制器的VHDL實(shí)現

  2 實(shí)現的基本方法

  Petri網(wǎng)本身就是一種硬件描述語(yǔ)言,是一種高度抽象的、結構化的并發(fā)語(yǔ)言。Petri網(wǎng)非常適合于復雜離散系統的建模和形式化分析,而VHDL則是一種標準的硬件描述語(yǔ)言,可以解決數字系統描述中并發(fā)性問(wèn)題,允許其仿真和綜合。Petri網(wǎng)和VHDL可以相互補充,并且也可以提供一個(gè)驗證子系統接收所有設計任務(wù)相同的用戶(hù)接口描述[4]。并行控制器的VHDL文本Petri網(wǎng)描述在一個(gè)實(shí)際設計中可獲得50%的面積減少及40%的速度改善(相對于最好的FSM綜合)[4]。

  用大規??删幊踢壿嬈骷?lái)實(shí)現由Petri網(wǎng)描述的并行控制器,其實(shí)現的基本步驟如下:

  (1)對實(shí)際系統建立Petri網(wǎng)系統模型。

  (2)采用Petri網(wǎng)軟件工具對所建立的Petri網(wǎng)系統模型進(jìn)行分析并加以控制,建立監控器的Petri網(wǎng)系統模型。

  (3)確定輸入輸出變量并選擇相應的或CPLD器件。

  (4)根據網(wǎng)的拓撲結構確定條件與事件間的邏輯關(guān)系,用硬件描述語(yǔ)言如VHDL對Petri網(wǎng)模型進(jìn)行描述。

  (5)以VHDL描述作為設計輸入,通過(guò)EDA軟件開(kāi)發(fā)工具,如ispDesign EXPERT或Max+PlusⅡ等,進(jìn)行編譯、模擬、適配,然后下載到器件中。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: VHDL FPGA Petri 并行控制器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>