0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-03 15:33 ? 次閱讀

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

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

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

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

wKgaomTLV6eAFYp8AAATYSNCYr8758.gif

2 實現(xiàn)的基本方法

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

用大規(guī)??删幊踢壿嬈骷韺崿F(xiàn)由Petri網(wǎng)描述的并行控制器,其實現(xiàn)的基本步驟如下:

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

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

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

(4)根據(jù)網(wǎng)的拓?fù)浣Y(jié)構(gòu)確定條件與事件間的邏輯關(guān)系,用硬件描述語言如VHDL對Petri網(wǎng)模型進(jìn)行描述。

(5)以VHDL描述作為設(shè)計輸入,通過EDA軟件開發(fā)工具,如ispDesign EXPERT或Max+PlusⅡ等,進(jìn)行編譯、模擬、適配,然后下載到器件中。 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w

整個硬件實現(xiàn)的流程圖如圖1所示。

wKgZomTLV7OAMHbBAAAhFC8sZOA933.gif

3 基于Petri網(wǎng)的并行控制器設(shè)計舉例

3.1 系統(tǒng)描述

從文獻(xiàn)[5]中選擇了一個如圖2所示的并行控制器設(shè)計例子,這是一個用于說明離散事件系統(tǒng)控制器設(shè)計的典型示例。它有3個盛放液體的罐子:V1、V2、V3,其中V1、V2是用來盛放不同種液體F1、F2的,M是攪拌系統(tǒng)的驅(qū)動電機(jī)。系統(tǒng)停止時,指示燈Y0亮。當(dāng)起動按鈕按下時(X0=1),閥Y1、Y2打開,2種不同的液體F1、F2分別注入V1、V2。當(dāng)V1中的液體到達(dá)X1位置時,Y1關(guān)閉;當(dāng)V2中液體到達(dá)X3時,閥Y2關(guān)閉。當(dāng)V1、V2中的液體分別都到達(dá)X1、X3時,Y3、Y4同時打開;當(dāng)V1、V2中液體分別都低于X2、X4時,Y3、Y4關(guān)閉,同時Y6打開。當(dāng)V3中液體高于X5時,Y5閉合,電動機(jī)M開始攪拌;當(dāng)V3中液體流出低于X6時,Y6關(guān)閉,指示燈亮,重新回到原來狀態(tài)。

wKgaomTLV76AIX3KAABbYkAGVYY597.gif

3.2 系統(tǒng)控制部分的控制解釋Petri網(wǎng)模型

用Petri網(wǎng)對系統(tǒng)控制部分進(jìn)行描述,得到的控制解釋Petri網(wǎng)模型如圖3所示。模型中輸入輸出信號的描述如表1所示,描述的局部狀態(tài)如表2所示。

wKgZomTLV8iAVoRSAAAauNESS0o172.gif

image.png

3.3 模型的VHDL實現(xiàn)

用VHDL實現(xiàn)的部分源代碼如下:

t1<=not p2 and not p4 and x0 and p1;

t2<=not p3 and x1 and p2;

t3<=not p5 and x3 and p4;

t4<=not p6 and not p7 and p3 and p5;

t5<=not p8 and x5 and x6 and p6;

t6<=not p9 and not x2 and not x4 and p7;

t7<=not p6 and not x5 and p8;

t8<=not p1 and not x6 and p6 and p9;

np1<=t8 or (p1 and not t1);

np2<=t1 or (p2 and not t2);

np3<=t2 or (p3 and not t4);

np4<=t1 or (p4 and not t3);

np5<=t3 or (p5 and not t4);

np6<=t4 or t7 or(p6 and not t5 and not t8);

np7<=t4 or (p7 and not t6);

np8<=t5 or (p8 and not t7);

np9<=t6 or (p9 and not t8);

3.4 基于Max+PlusⅡ的并行控制器仿真

在MAX+PlusⅡ中經(jīng)編譯后進(jìn)行功能仿真,仿真波形如圖4所示。波形表明結(jié)果是正確的。

wKgaomTLV82ALP6rAABzumjpep8562.gif

4 結(jié) 論

Petri網(wǎng)是并發(fā)系統(tǒng)強(qiáng)有力的建模工具,通過對Petri網(wǎng)模型的分析,可以獲得系統(tǒng)的許多結(jié)構(gòu)和動態(tài)性能,根據(jù)控制策略,還可以建立系統(tǒng)的控制模型并獲得系統(tǒng)在控制作用下的性能。以上討論證明,基于Petri網(wǎng)的并行控制器可以用VHDL實現(xiàn),從而開辟了并行控制器設(shè)計與實現(xiàn)的新途徑。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601239
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16103

    瀏覽量

    177077
  • eda
    eda
    +關(guān)注

    關(guān)注

    71

    文章

    2685

    瀏覽量

    172733
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    816

    瀏覽量

    128045
收藏 人收藏

    評論

    相關(guān)推薦

    怎么實現(xiàn)并行控制器

    本文介紹一種使用硬件描述語言VHDL實現(xiàn)基于Petri網(wǎng)并行
    發(fā)表于 08-16 07:52

    幾種Petri網(wǎng)系統(tǒng)的硬件實現(xiàn)方案

    本文分別用VHDL語言研究了幾種Petri網(wǎng)系統(tǒng)的硬件實現(xiàn),包括同步PN、時延PN,尤其是高級網(wǎng)系統(tǒng)有色PN。在當(dāng)前的研究中有色
    發(fā)表于 04-30 06:13

    如何去實現(xiàn)一種視頻控制器的設(shè)計?

    如何去實現(xiàn)一種視頻控制器的設(shè)計?
    發(fā)表于 06-04 06:03

    如何去設(shè)計并實現(xiàn)一種SDRAM控制器?

    SDRAM控制器基本操作原理是什么?如何去設(shè)計并實現(xiàn)一種SDRAM控制器?
    發(fā)表于 06-07 06:01

    使用VHDLPetri網(wǎng)系統(tǒng)的FPGA實現(xiàn) 同步Petri

    1 引言Petri網(wǎng)一種系統(tǒng)的、數(shù)學(xué)的和圖形的描述和分析工具[1],隨著超大規(guī)模集成電路FPGA和CPLD的發(fā)展,Petri網(wǎng)
    發(fā)表于 01-09 16:03 ?804次閱讀
    使用<b class='flag-5'>VHDL</b>的<b class='flag-5'>Petri</b><b class='flag-5'>網(wǎng)</b>系統(tǒng)的FPGA<b class='flag-5'>實現(xiàn)</b> 同步<b class='flag-5'>Petri</b>

    VHDL設(shè)計的微型打印機(jī)控制器技術(shù)

    VHDL設(shè)計的微型打印機(jī)控制器技術(shù) 1 引言   VHDL一種面向設(shè)計、多層次的數(shù)字系
    發(fā)表于 05-04 19:46 ?1077次閱讀
    <b class='flag-5'>VHDL</b>設(shè)計的微型打印機(jī)<b class='flag-5'>控制器</b>技術(shù)

    一種高可靠并行環(huán)網(wǎng)的研究與實現(xiàn)

    設(shè)計了一種高可靠并行環(huán)網(wǎng)和冗余處理算法,并可在Linux平臺下實現(xiàn)。實驗表明,單網(wǎng)故障時,并行環(huán)
    發(fā)表于 12-26 11:12 ?9次下載
    <b class='flag-5'>一種</b>高可靠<b class='flag-5'>并行</b>環(huán)<b class='flag-5'>網(wǎng)</b>的研究與<b class='flag-5'>實現(xiàn)</b>

    基于VHDL的DRAM控制器設(shè)計

    本文提出一種新穎的解決方案:利用80C186XL的時序特征,采用CPLD技術(shù),并使用VHDL語言設(shè)計實現(xiàn)DRAM控制器。
    發(fā)表于 02-02 11:29 ?1427次閱讀
    基于<b class='flag-5'>VHDL</b>的DRAM<b class='flag-5'>控制器</b>設(shè)計

    一種點對點高速通信控制器的設(shè)計與實現(xiàn)

    為了提高CPU模塊之間的點對點通信速率,通過對以太網(wǎng)控制器MAC的研究,設(shè)計出一種點對點高速通信控制器。該控制器是基于媒體無關(guān)接口MII和以
    發(fā)表于 10-10 16:33 ?40次下載
    <b class='flag-5'>一種</b>點對點高速通信<b class='flag-5'>控制器</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    基于VHDL的SDRAM控制器實現(xiàn)

    基于VHDL的SDRAM控制器實現(xiàn)
    發(fā)表于 01-22 13:43 ?12次下載

    基于時間Petri網(wǎng)的并發(fā)系統(tǒng)建模分析方法

    針對即時檢驗系統(tǒng)的設(shè)計與開發(fā)建模問題,提出一種基于時間Petri網(wǎng)的并發(fā)系統(tǒng)建模分析方法,為即時檢驗流程設(shè)計建立較為準(zhǔn)確的信息化模型。通過將活動持續(xù)時間概念引入Petri
    發(fā)表于 12-28 15:02 ?0次下載
    基于時間<b class='flag-5'>Petri</b><b class='flag-5'>網(wǎng)</b>的并發(fā)系統(tǒng)建模分析方法

    采用VHDL預(yù)言實現(xiàn)基于Petri網(wǎng)并行控制器設(shè)計并進(jìn)行仿真驗證

    Petri網(wǎng)是離散事件系統(tǒng)建模的重要工具,本文使用硬件描述語言VHDL實現(xiàn)了基于Petri網(wǎng)
    的頭像 發(fā)表于 04-22 08:10 ?1912次閱讀
    采用<b class='flag-5'>VHDL</b>預(yù)言<b class='flag-5'>實現(xiàn)</b>基于<b class='flag-5'>Petri</b><b class='flag-5'>網(wǎng)</b>的<b class='flag-5'>并行</b><b class='flag-5'>控制器</b>設(shè)計并進(jìn)行仿真驗證

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

    Petri網(wǎng)是異步并發(fā)現(xiàn)象建模的重要工具,Petri網(wǎng)的硬件實現(xiàn)將為并行
    發(fā)表于 01-01 16:28 ?2284次閱讀
    基于FPGA的<b class='flag-5'>Petri</b><b class='flag-5'>網(wǎng)</b>的硬件<b class='flag-5'>實現(xiàn)</b>

    基于VHDL語言和可編程邏輯器件實現(xiàn)Petri網(wǎng)邏輯控制器的設(shè)計

    的優(yōu)勢是其自頂向下的設(shè)計方法,可以充分的實現(xiàn)電路的層次化設(shè)計,從而很方便的修改頂層的控制器電路。本文分別用VHDL語言研究了幾種Petri網(wǎng)
    發(fā)表于 09-22 20:46 ?819次閱讀
    基于<b class='flag-5'>VHDL</b>語言和可編程邏輯器件<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>Petri</b><b class='flag-5'>網(wǎng)</b>邏輯<b class='flag-5'>控制器</b>的設(shè)計

    一種點對點高速通信控制器的設(shè)計與實現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《一種點對點高速通信控制器的設(shè)計與實現(xiàn).pdf》資料免費下載
    發(fā)表于 10-23 10:40 ?0次下載
    <b class='flag-5'>一種</b>點對點高速通信<b class='flag-5'>控制器</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>