張東瑩
(南京技師學(xué)院,江蘇南京,210023)
Petri網(wǎng),是一種抽象規(guī)范性語(yǔ)言.實(shí)際運(yùn)用期間,它不僅可以借助常規(guī)的語(yǔ)言形態(tài)將其描述出來(lái),還能夠利用可視化圖形將其表達(dá)出來(lái),具有應(yīng)用靈活度高、操作便捷等特點(diǎn)?;贔PGA的Petri網(wǎng)模擬器分析,就是結(jié)合其多樣化編程語(yǔ)言實(shí)施形式,對(duì)網(wǎng)絡(luò)程序的設(shè)計(jì)要點(diǎn)進(jìn)行整理。
Petri網(wǎng),是處于變化狀態(tài)的具有發(fā)生權(quán)的模擬系統(tǒng)[1]。只要Petri網(wǎng)進(jìn)入一個(gè)新的狀態(tài),程序就將產(chǎn)生新的網(wǎng)絡(luò)程序變遷,最終形成新的托肯,以確保網(wǎng)絡(luò)程序隨著外部程序的變化進(jìn)行數(shù)據(jù)改變(如圖1)。
圖1 Petri網(wǎng)結(jié)構(gòu)圖
如果運(yùn)用矩形陣對(duì)Petri網(wǎng)的變化規(guī)則進(jìn)行表示,則標(biāo)識(shí)網(wǎng)則是一個(gè)完整的信息集合,而其中所包含的變遷的數(shù)據(jù)則是元素,對(duì)應(yīng)狀態(tài)中所產(chǎn)生的狀態(tài)則被認(rèn)定為標(biāo)識(shí)。假設(shè)我們將Petri網(wǎng)的一個(gè)周期運(yùn)行,看作是矩陣結(jié)構(gòu)中的輸入和輸出框架,則每行、每列部分的信息變化,都將以矩形結(jié)構(gòu)排列的順序展現(xiàn)出來(lái),最終通過(guò)弧形連接置位和權(quán)值的變化情況,反饋Petri網(wǎng)內(nèi)部數(shù)據(jù)的改變情況。
基于FPGA的Petri網(wǎng)模擬器設(shè)計(jì),主要是將多個(gè)零散的Petri網(wǎng)信息串聯(lián)在一起,以實(shí)現(xiàn)不同的形狀、規(guī)模方式的綜合評(píng)定和編程銜接。故而,只有在Petri網(wǎng)模擬器中大規(guī)模代碼正確銜接時(shí),Petri網(wǎng)模擬器的檢測(cè)作用方可起到實(shí)際存在的作用?,F(xiàn)結(jié)合FPGA基本情況。
矩陣設(shè)計(jì)是Petri網(wǎng)模擬器操作管理的主要形態(tài),它能夠?qū)PGA網(wǎng)頁(yè)中的程序信息,都整理為一個(gè)完整的編譯程序框架。但它僅僅是將Petri網(wǎng)模擬運(yùn)行中的信息進(jìn)行了整理,而不能對(duì)程序運(yùn)行中的數(shù)據(jù)變化情況進(jìn)行反饋。在此基礎(chǔ)上,充分利用Verilog HD編譯,通過(guò)2個(gè)文本文件,在C語(yǔ)言的基礎(chǔ)上,將原有的二維函數(shù)轉(zhuǎn)換為一維數(shù)據(jù)。這一環(huán)節(jié)中,Verilog HDL將主動(dòng)通過(guò)硬件代碼的編譯分析,創(chuàng)建與之相互匹配的代碼體系,最終生成網(wǎng)頁(yè)操作框架。此外,Petri網(wǎng)模擬器中局限性輸入、輸出矩陣調(diào)節(jié)時(shí),布局內(nèi)文件將依據(jù)數(shù)據(jù)的組合框架大小情況,實(shí)行加載信息的轉(zhuǎn)變與調(diào)節(jié)。
即,從矩陣設(shè)計(jì)到編譯程序代碼的變更,每一個(gè)環(huán)節(jié)中的信息變換和轉(zhuǎn)變,都有與之跟隨的程序框架作為輔助,繼而實(shí)現(xiàn)了Petri網(wǎng)模擬器綜合檢驗(yàn)的狀態(tài)。
基于FPGA的Petri網(wǎng)模擬器操作時(shí),網(wǎng)庫(kù)模塊的對(duì)應(yīng)調(diào)整時(shí),也善于通過(guò)網(wǎng)庫(kù)模塊的前后對(duì)應(yīng)調(diào)節(jié),保障Petri網(wǎng)模擬器的靈活調(diào)整。簡(jiǎn)單來(lái)說(shuō),網(wǎng)庫(kù)模塊的變更調(diào)整,主要是依據(jù)程序中前期驅(qū)動(dòng)網(wǎng)庫(kù)的信息整合,進(jìn)行Petri網(wǎng)內(nèi)部數(shù)據(jù)整理與交換,然后在后續(xù)網(wǎng)庫(kù)模塊變遷的情況下,將庫(kù)內(nèi)驅(qū)動(dòng)數(shù)據(jù)很好的組合整理在一起(如圖2)[2]。
圖2 Petri網(wǎng)庫(kù)變更圖
Petri網(wǎng)模擬器前庫(kù)與后庫(kù)進(jìn)行信息交換時(shí),為保障每一部分庫(kù)內(nèi)信息的有序承接,驅(qū)動(dòng)變遷模塊的傳輸信號(hào)和反饋信號(hào),將在后續(xù)庫(kù)信號(hào)的引導(dǎo)下,進(jìn)行模塊輸出和輸入部分的對(duì)應(yīng)調(diào)整。如果前庫(kù)數(shù)據(jù)順利的變更到后庫(kù)中,記錄數(shù)據(jù)將變更為1,如果其過(guò)程中出現(xiàn)阻礙,則記錄數(shù)據(jù)將顯示0。但無(wú)論P(yáng)etri網(wǎng)模擬器接受到的信號(hào)是否完整,最終都將對(duì)應(yīng)輸入信號(hào)內(nèi)容進(jìn)行綜合評(píng)價(jià)。其相關(guān)內(nèi)容包括load、P_init、clk等內(nèi)容,當(dāng)Petri網(wǎng)模擬器反饋結(jié)果產(chǎn)生差異時(shí),系統(tǒng)將跟蹤進(jìn)行調(diào)整。
此外,無(wú)論P(yáng)etri網(wǎng)模擬器處于哪種變化狀態(tài)之中,模塊之間的轉(zhuǎn)換和調(diào)節(jié),均需要有控制輔助器作為保障,最終將所有控制器中的信號(hào)與運(yùn)行信號(hào)有機(jī)結(jié)合在一起,以完成網(wǎng)庫(kù)變更中的信號(hào)輸出記錄。
Petri網(wǎng)模擬器實(shí)際測(cè)試運(yùn)用時(shí),也存在著部分網(wǎng)絡(luò)信號(hào)判斷沖出的問(wèn)題。此時(shí)程序主要采用了控制器對(duì)每一個(gè)模塊進(jìn)行沖突調(diào)節(jié)。
如果Petri網(wǎng)模擬器沖突為輪換式變遷沖突,用戶可通過(guò)庫(kù)所模塊變更法,對(duì)輪換變遷的信號(hào)進(jìn)行復(fù)位調(diào)節(jié)。相反,Petri網(wǎng)模擬器信號(hào)中的測(cè)驗(yàn)變化,程序主要是通過(guò)控制器中最后一個(gè)信號(hào)的變遷調(diào)節(jié),完成輪換信號(hào)的變更調(diào)整。
如果Petri網(wǎng)模擬器屬于隨機(jī)分配式的沖突,程序往往采用線性反饋位移寄存器進(jìn)行偽裝發(fā)生更改。在某種程度上,我們可以將其理解為隨機(jī)性程序變更映射規(guī)律。當(dāng)沖突隨機(jī)發(fā)生時(shí),偽隨機(jī)可以依據(jù)Petri網(wǎng)隨機(jī)運(yùn)作程序,實(shí)現(xiàn)映射數(shù)據(jù)的對(duì)應(yīng)改變。
現(xiàn)場(chǎng)可編程門列陣中的Petri網(wǎng)模擬器信息傳輸P/T系統(tǒng)調(diào)節(jié)時(shí),每一個(gè)小程序部分的對(duì)應(yīng)調(diào)節(jié),都要注意在程序操作和分析期間的程序變化。具體而言,系統(tǒng)一方面是從加載程序階段的狀態(tài),自主進(jìn)行步驟狀態(tài)的對(duì)應(yīng)調(diào)整,一方面還需要在程序更換前,就進(jìn)入到信號(hào)準(zhǔn)備階段,以確保不同時(shí)期的信號(hào)穩(wěn)定性和協(xié)議性。
Petri網(wǎng)模擬器實(shí)際操作期間,為確保測(cè)驗(yàn)分析程序能夠保障穩(wěn)定性測(cè)驗(yàn),有時(shí)也需要控制器模塊的調(diào)節(jié)解決問(wèn)題。基于FPGA的Petri網(wǎng)模擬器運(yùn)轉(zhuǎn)管理時(shí),首先通過(guò)“單步運(yùn)行”,完成模擬程序的局部調(diào)整;其次是通過(guò)“制定步數(shù)運(yùn)行”,完成Petri網(wǎng)模擬器操作的最佳調(diào)整。其三是在“持續(xù)運(yùn)行”環(huán)節(jié)上,通過(guò)程序操控與調(diào)節(jié),將處于空置狀態(tài)的模擬數(shù)據(jù)庫(kù)、以及與之關(guān)聯(lián)的子數(shù)據(jù)庫(kù),同時(shí)進(jìn)行Petri網(wǎng)模擬器調(diào)控后的矯正。最后,如果Petri網(wǎng)模擬器所得到的結(jié)果,與整體結(jié)構(gòu)結(jié)構(gòu)之間的相互對(duì)應(yīng),加載程序信號(hào)按照128bit順序進(jìn)行記載存儲(chǔ)。
值得注意的,基于FPGA的Petri網(wǎng)模擬器進(jìn)行存儲(chǔ)和記憶時(shí),如果外部控制模塊控制信息,與基本程序相互對(duì)應(yīng),程序?qū)⒅鲃?dòng)進(jìn)行加載初始值的存儲(chǔ)。如果Petri網(wǎng)模擬器收取到的有效信號(hào),是程序依據(jù)模擬器的實(shí)際操作狀態(tài)下,實(shí)行的地址讀寫模擬加載,則Petri網(wǎng)模擬器就應(yīng)該結(jié)合數(shù)據(jù)庫(kù)的庫(kù)變遷數(shù)量,再對(duì)應(yīng)建立Petri網(wǎng)模擬器信息的實(shí)時(shí)跟蹤模擬,否則前期模擬消息得不到保存,后續(xù)實(shí)踐工作也將出現(xiàn)非輔助性調(diào)節(jié)的狀況,數(shù)據(jù)存儲(chǔ)同樣面臨著Petri網(wǎng)模擬器信息記錄不到位的狀況。
在Modelsim的仿真平臺(tái)下中進(jìn)行測(cè)驗(yàn),測(cè)驗(yàn)系統(tǒng)處于FPGA狀態(tài)下,測(cè)驗(yàn)程序經(jīng)前期檢驗(yàn),得到程序?yàn)榘存I上升沿,它是在信號(hào)指令寄存深入的狀態(tài)下,利用Petri網(wǎng)模擬器進(jìn)行測(cè)驗(yàn)。前期設(shè)定測(cè)驗(yàn)標(biāo)準(zhǔn)為:(1)button[0]為對(duì)應(yīng)復(fù)位狀態(tài),Petri網(wǎng)模擬器當(dāng)前處于初始狀態(tài);(2)button[1]時(shí),控制狀態(tài)轉(zhuǎn)換機(jī)為數(shù)據(jù)加載狀態(tài)。
持續(xù)按照Petri網(wǎng)模擬器的運(yùn)轉(zhuǎn)信息反饋情況,對(duì)測(cè)驗(yàn)結(jié)構(gòu)進(jìn)行評(píng)價(jià)和分析?;贔PGA的Petri網(wǎng)模擬器測(cè)驗(yàn)結(jié)果為:(1)當(dāng)Petri網(wǎng)模擬器處于穩(wěn)定模式下程序運(yùn)轉(zhuǎn)狀態(tài)時(shí),各個(gè)庫(kù)部分的加載數(shù)據(jù)值均將隨之發(fā)生改變。(2)當(dāng)P內(nèi)部托肯數(shù)持續(xù)性變化時(shí),每一個(gè)運(yùn)行程序部分的信息,基本上呈現(xiàn)出了“1”與“2”的交替波動(dòng)。(3)當(dāng) Petri 網(wǎng)模擬器保持穩(wěn)定狀態(tài)時(shí),網(wǎng)絡(luò)內(nèi)部信息程序?qū)⒊尸F(xiàn)出“穩(wěn)定性”和“交替轉(zhuǎn)換”狀態(tài)的對(duì)應(yīng)變化。直到Petri網(wǎng)模擬器所處的FPTA序列編程周期結(jié)束,則各個(gè)部分的模擬器也將隨之停止工作。
綜上所述,基于FPGA的Petri網(wǎng)模擬器設(shè)計(jì)及應(yīng)用研究,是計(jì)算機(jī)信息技術(shù)不斷調(diào)節(jié)和優(yōu)化的理論歸納。在此基礎(chǔ)上,本文通過(guò)矩陣設(shè)計(jì)到Verilog HDL編譯程序、網(wǎng)庫(kù)模塊的變更調(diào)整、P/T系統(tǒng)進(jìn)行沖突調(diào)配、控制模塊操控管理等方面,分析基于FPGA的Petri網(wǎng)模擬器實(shí)踐要點(diǎn)。因此,文章研究結(jié)果,為國(guó)內(nèi)信息化程序?qū)?yīng)調(diào)節(jié)提供了新思路。