欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

猝發(fā)模式異步控制電路設(shè)計(jì)方法

文檔序號(hào):6572254閱讀:516來(lái)源:國(guó)知局
專利名稱:猝發(fā)模式異步控制電路設(shè)計(jì)方法
技術(shù)領(lǐng)域
本發(fā)明涉及大規(guī)模異步控制電路的設(shè)計(jì)方法,尤其是大規(guī)模猝發(fā)模式(burst-mode)異步控制電路的設(shè)計(jì)方法。

背景技術(shù)
由于集成電路規(guī)模的擴(kuò)大、特征尺寸的減小、設(shè)計(jì)主頻的提高以及制造工藝的限制,同步電路中原先可以忽略的線延遲、時(shí)鐘樹(shù)負(fù)載等日益突出,設(shè)計(jì)方法上也面臨著許多難以解決的問(wèn)題(特別是時(shí)鐘偏差問(wèn)題)。相對(duì)而言,異步電路不需要全局時(shí)鐘,有效地避免了復(fù)雜的時(shí)鐘樹(shù)設(shè)計(jì)及其時(shí)鐘偏差問(wèn)題,同時(shí)以可移植性好、模塊化程度高、抗電磁干擾能力強(qiáng)、功耗低等諸多特性逐漸成為電路設(shè)計(jì)研究的熱點(diǎn)。
異步電路的發(fā)展可以說(shuō)在很大程度上取決于異步電路設(shè)計(jì)方法與EDA工具的完善和成熟。由于異步電路與同步電路的主要差異在于電路的控制邏輯,其數(shù)據(jù)通路基本一致,因此現(xiàn)有的異步電路設(shè)計(jì)方法一般說(shuō)來(lái)都是利用已有的同步電路的設(shè)計(jì)流程和商用EDA工具進(jìn)行異步數(shù)據(jù)通路設(shè)計(jì),而將工作重點(diǎn)放在異步控制電路設(shè)計(jì)上。
根據(jù)異步控制電路的類型以及描述機(jī)制的不同,異步控制電路設(shè)計(jì)方法可以大致劃分為基于CSP的方法、基于Petri網(wǎng)的方法以及基于有限狀態(tài)機(jī)的方法三類 A.基于CSP(Communicating Sequential Processes)的方法主要采用Balsa、Tangram、DI-Algebra、DISP(DI Sequential Processes)以及CHP(Communicating Hardware Processes)等CSP類異步描述語(yǔ)言對(duì)控制電路的行為進(jìn)行描述,經(jīng)由語(yǔ)法驅(qū)動(dòng)的轉(zhuǎn)換(syntax-directed translation)得到延遲無(wú)關(guān)或者準(zhǔn)延遲無(wú)關(guān)異步控制電路。這類方法可以在較高層次對(duì)電路行為進(jìn)行描述,能夠較為充分地挖掘異步控制電路的并行性,其缺點(diǎn)是 a)無(wú)法運(yùn)用全局優(yōu)化技術(shù),設(shè)計(jì)得到的電路工作效率不高; b)CSP類異步描述語(yǔ)言語(yǔ)法晦澀,相關(guān)EDA工具不完善,難以得到廣泛的接受和使用; B.基于Petri網(wǎng)的方法主要采用LPN(Labeled Petri Net)、STG(SignalTransition Graph)或者CD(Change Diagram)等對(duì)控制電路的行為進(jìn)行描述,經(jīng)由可達(dá)性分析、狀態(tài)編碼、布爾表達(dá)式生成、邏輯分解以及工藝映射得到速度無(wú)關(guān)異步控制電路。這類方法可以在較低層次描述電路行為,能夠在優(yōu)化時(shí)使用時(shí)序信息,產(chǎn)生較為高效的電路結(jié)構(gòu),其缺點(diǎn)是采用無(wú)限門延遲模型,對(duì)線延遲忽略不計(jì),導(dǎo)致電路存在一些不必要的開(kāi)銷。同時(shí),對(duì)于深亞微米工藝而言,線延遲占有主導(dǎo)地位,電路的延遲假設(shè)可能不再適用。
C.基于有限狀態(tài)機(jī)的方法主要采用異步有限狀態(tài)機(jī)(Asynchronous FiniteState Machine)或者猝發(fā)模式狀態(tài)機(jī)(Burst Mode Machine)對(duì)控制電路的行為進(jìn)行描述,經(jīng)由狀態(tài)歸約、狀態(tài)賦值、邏輯綜合以及工藝映射分別得到基本模式Huffman電路和猝發(fā)模式異步控制電路。這類方法與基于有限狀態(tài)機(jī)的同步電路設(shè)計(jì)方法類似,可以充分利用或者借鑒現(xiàn)有的設(shè)計(jì)方法和EDA工具加以處理,不足之處在于不允許輸入和輸出并發(fā)變化,當(dāng)且僅當(dāng)電路完全穩(wěn)定,也就是電路的狀態(tài)不再發(fā)生變化的時(shí)候,電路的外部輸入信號(hào)才允許改變,由此導(dǎo)致電路的運(yùn)行周期加長(zhǎng),工作效率降低。
通過(guò)比較上述方法的優(yōu)勢(shì)與不足可知,基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法更具可行性和實(shí)用性。
猝發(fā)模式狀態(tài)機(jī)是基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法所常用的描述機(jī)制,它采用類似于同步Mealy機(jī)的狀態(tài)轉(zhuǎn)換圖對(duì)電路行為進(jìn)行說(shuō)明。猝發(fā)模式狀態(tài)機(jī)源于異步有限狀態(tài)機(jī),但是對(duì)異步有限狀態(tài)機(jī)的描述能力進(jìn)行了擴(kuò)展降低異步有限狀態(tài)機(jī)的基本假設(shè)要求(異步有限狀態(tài)機(jī)要求對(duì)前一個(gè)輸入信號(hào)的響應(yīng)穩(wěn)定之前,當(dāng)前輸入信號(hào)不發(fā)生變化),允許猝發(fā)輸入(非空的輸入信號(hào)集合)中的信號(hào)以任何順序發(fā)生變化。當(dāng)然,猝發(fā)模式狀態(tài)機(jī)仍然要求各個(gè)猝發(fā)輸入之間必須滿足基本假設(shè)。
猝發(fā)模式狀態(tài)機(jī)M通常采用7元偶<V,E,I,O,v0,transi,transo>進(jìn)行形式化描述,其中V是狀態(tài)節(jié)點(diǎn)集合,節(jié)點(diǎn)v∈V對(duì)應(yīng)于M的狀態(tài)v,EV×V是有向邊集合,有向邊e=<u,v>∈E連接節(jié)點(diǎn)u和v,用于描述M中狀態(tài)u和v之間的轉(zhuǎn)換,I={x1,…,xm}是輸入信號(hào)集合,O={z1,…,zn}是輸出信號(hào)集合,節(jié)點(diǎn)v0∈V定義為起始狀態(tài)節(jié)點(diǎn),與M的起始狀態(tài)v0相對(duì)應(yīng)。有向邊標(biāo)記函數(shù)transiE→{-,+}I和transoE→{-,+}O分別用于指定狀態(tài)轉(zhuǎn)換時(shí)的猝發(fā)輸入變遷和猝發(fā)輸出變遷,也就是狀態(tài)轉(zhuǎn)換過(guò)程中猝發(fā)輸入和猝發(fā)輸出的變化情況。對(duì)于任意有向邊e∈E,其對(duì)應(yīng)的猝發(fā)輸入和猝發(fā)輸出采用“|”加以區(qū)分,“|”之前為猝發(fā)輸入,之后為猝發(fā)輸出,猝發(fā)輸出允許為空。
猝發(fā)模式異步控制電路經(jīng)由猝發(fā)模式狀態(tài)機(jī)得到,由猝發(fā)輸入、猝發(fā)輸出、組合邏輯電路以及反饋回路構(gòu)成,組合邏輯電路采用有限延遲模型,反饋回路采用無(wú)限反饋延遲模型。電路的當(dāng)前狀態(tài)保存在反饋回路中,電路的猝發(fā)輸出和下一狀態(tài)由猝發(fā)輸入、當(dāng)前狀態(tài)以及部分輸出信號(hào)的反饋共同決定。
對(duì)基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法而言,由于在邏輯綜合階段需要進(jìn)行完備的狀態(tài)空間搜索,面臨狀態(tài)空間爆炸問(wèn)題,因此僅僅適用于中小規(guī)??刂齐娐返脑O(shè)計(jì)。為了有效地提高猝發(fā)模式異步控制電路的設(shè)計(jì)規(guī)模,哥倫比亞大學(xué)的異步電路與系統(tǒng)研究小組在文章A Cycle-BasedDecomposition Method for Burst-Mode Asynchronous Controllers中提出了一種大規(guī)模猝發(fā)模式異步控制電路的分解設(shè)計(jì)方法,該方法首先對(duì)復(fù)雜的猝發(fā)模式狀態(tài)機(jī)進(jìn)行層次化分解,獲得相互獨(dú)立的猝發(fā)模式子狀態(tài)機(jī),各子狀態(tài)機(jī)的輸入均為外部環(huán)境的輸入信號(hào),子狀態(tài)機(jī)之間不存在輸入輸出上的制約關(guān)系;然后利用已有的異步控制電路綜合工具(加利福尼亞大學(xué)的3D和哥倫比亞大學(xué)的MINIMALIST)對(duì)各子狀態(tài)機(jī)分別進(jìn)行綜合得到對(duì)應(yīng)的猝發(fā)模式子控制電路模塊;接著對(duì)各子控制電路模塊進(jìn)行調(diào)整,增加輸入信號(hào)鎖存模塊以解決子控制電路模塊之間的仲裁問(wèn)題(由于子控制電路模塊是相互獨(dú)立的,輸入信號(hào)的變化可能導(dǎo)致多個(gè)子控制電路模塊同時(shí)被驅(qū)動(dòng),為此需要合理選擇允許運(yùn)行的子控制電路模塊);最后將各子控制電路模塊進(jìn)行連接獲得最終的猝發(fā)模式異步控制電路。該方法存在兩點(diǎn)不足一是采用深度優(yōu)先搜索算法進(jìn)行猝發(fā)模式狀態(tài)機(jī)的層次化分解,分解效率較低;二是子控制電路模塊的仲裁機(jī)制要求各子控制電路模塊之間存在嚴(yán)格的時(shí)序約束,在電路設(shè)計(jì)過(guò)程中很難得到滿足,因此這種方法難以有效地付諸實(shí)際應(yīng)用。


發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是改進(jìn)現(xiàn)有猝發(fā)模式異步控制電路的設(shè)計(jì)方法,提高設(shè)計(jì)規(guī)模,使大規(guī)模猝發(fā)模式異步控制電路實(shí)用化。利用猝發(fā)模式狀態(tài)機(jī)所對(duì)應(yīng)有向圖的有向回路集合對(duì)狀態(tài)機(jī)進(jìn)行分解得到相互獨(dú)立的猝發(fā)模式子狀態(tài)機(jī);對(duì)各子狀態(tài)機(jī)進(jìn)行調(diào)整,采用請(qǐng)求/應(yīng)答信號(hào)實(shí)現(xiàn)相應(yīng)子狀態(tài)機(jī)之間的四段握手通信;設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī)解決相應(yīng)子狀態(tài)機(jī)之間的仲裁問(wèn)題。
本發(fā)明的技術(shù)方案是 本發(fā)明包括分解猝發(fā)模式狀態(tài)機(jī)、調(diào)整猝發(fā)模式子狀態(tài)機(jī)、設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī)、再調(diào)整猝發(fā)模式子狀態(tài)機(jī)、實(shí)現(xiàn)子控制電路模塊和接口控制電路模塊以及合成猝發(fā)模式異步控制電路六步。具體步驟是 1.利用猝發(fā)模式狀態(tài)機(jī)M所對(duì)應(yīng)有向圖的有向回路集合對(duì)M進(jìn)行層次化分解,得到K級(jí)猝發(fā)模式子狀態(tài)機(jī),K為M分解得到的猝發(fā)模式子狀態(tài)機(jī)的總級(jí)數(shù)。
分解流程為 (1)根據(jù)M所對(duì)應(yīng)有向圖G=<V,E>的有向回路集合C確定初始子狀態(tài)機(jī)集合S任一有向回路c(c∈C)在M中的對(duì)應(yīng)結(jié)構(gòu),包括狀態(tài)節(jié)點(diǎn)、有向邊及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出,構(gòu)成一個(gè)初始子狀態(tài)機(jī)s(s∈S)。
(2)確定判定節(jié)點(diǎn)集合DG中所有出度大于2的頂點(diǎn)在M中的對(duì)應(yīng)狀態(tài)節(jié)點(diǎn)即為判定節(jié)點(diǎn)。
(3)M中起始狀態(tài)節(jié)點(diǎn)v0到最近的判定節(jié)點(diǎn)d1∈D之間的有向通路及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出構(gòu)成第一級(jí)猝發(fā)模式子狀態(tài)機(jī),第一級(jí)子狀態(tài)機(jī)的起始狀態(tài)節(jié)點(diǎn)為v0;所有包含判定節(jié)點(diǎn)d1的初始子狀態(tài)機(jī)均為第二級(jí)猝發(fā)模式子狀態(tài)機(jī),第二級(jí)子狀態(tài)機(jī)的起始狀態(tài)節(jié)點(diǎn)為d1。
(4)設(shè)定子狀態(tài)機(jī)級(jí)數(shù)N=2。
(5)從S中刪除所有第N級(jí)猝發(fā)模式子狀態(tài)機(jī)。
(6)對(duì)S進(jìn)行判斷,如果S不為空,跳轉(zhuǎn)至步驟(7);如果S為空則M分解完成。
(7)對(duì)第N級(jí)猝發(fā)模式子狀態(tài)機(jī)逐一進(jìn)行判斷,如果存在除起始狀態(tài)節(jié)點(diǎn)之外的其他判定節(jié)點(diǎn)(可能不是唯一的,不失一般性記為dNi,i=1,…,l,l為第N級(jí)猝發(fā)模式子狀態(tài)機(jī)中除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)數(shù)目),則S中所有包含dNi的初始子狀態(tài)機(jī)均為第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī),起始狀態(tài)節(jié)點(diǎn)為dNi。
(8)調(diào)整子狀態(tài)機(jī)級(jí)數(shù)N=N+1,跳轉(zhuǎn)至步驟(6)。
2.增加額外的請(qǐng)求/應(yīng)答信號(hào),對(duì)第1級(jí)至第K級(jí)所有的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整,實(shí)現(xiàn)相鄰兩級(jí)子狀態(tài)機(jī)之間的四段握手通信,去除相鄰兩級(jí)子狀態(tài)機(jī)之間的時(shí)序要求。對(duì)第1級(jí)至第K級(jí)所有的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整的方法是 (1)在第N級(jí)猝發(fā)模式子狀態(tài)機(jī)MN(1≤N≤K-1)中,增加輔助狀態(tài)節(jié)點(diǎn)vN與除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)dN相連接;設(shè)定有向邊<dN,vN>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ackN+和reqN-;設(shè)定有向邊<vN,dN>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ackN-和reqN+;以dN為終點(diǎn)的有向邊(<vN,dN>除外)的猝發(fā)輸出變遷增加reqN+。(+代表信號(hào)由0到1的變遷,-代表由1到0的變遷) (2)記MN對(duì)應(yīng)的第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)分別為MN+11,…,MN+1L,L為第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)的個(gè)數(shù),在MN+1i(i=1,…,L)中,以起始狀態(tài)節(jié)點(diǎn)dN為起點(diǎn)的有向邊的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加reqN+1i+和ackN+1i+,以節(jié)點(diǎn)dN為終點(diǎn)的有向邊的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加reqN+1i-和ackN+1i-。
MN與任意第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)MN+1i的通信過(guò)程為 (1)MN進(jìn)入狀態(tài)dN,同時(shí)將信號(hào)reqN置為高,啟動(dòng)握手操作,請(qǐng)求觸發(fā)第N+1級(jí)子狀態(tài)機(jī); (2)MN+1i接收來(lái)自MN的觸發(fā)請(qǐng)求reqN+1i+,然后將信號(hào)ackN+1i置為高加以確認(rèn); (3)MN接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+,進(jìn)入狀態(tài)vN,同時(shí)將信號(hào)reqN置為低,對(duì)握手操作進(jìn)行復(fù)位; (4)MN+1i接收來(lái)自MN的復(fù)位請(qǐng)求reqN+1i-,然后將信號(hào)ackN+1i置為低,加以確認(rèn); (5)MN接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+,回到狀態(tài)dN,同時(shí)再次將信號(hào)reqN置為高,進(jìn)行新的通訊。
對(duì)于MN與任意第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)MN+1i而言,由于采用延遲無(wú)關(guān)的四段握手協(xié)議進(jìn)行通訊,MN+1i接收到MN所發(fā)送的觸發(fā)請(qǐng)求之后才能執(zhí)行,MN+1i執(zhí)行時(shí)MN被中斷,MN+1i執(zhí)行完畢MN才能進(jìn)行執(zhí)行,因而可以有效地去除相鄰兩級(jí)子狀態(tài)機(jī)之間的時(shí)序要求。
由于MN+11,…,MN+1L是相互獨(dú)立的,也就是說(shuō)各子狀態(tài)機(jī)之間不存在輸入輸出上的制約關(guān)系,因此某個(gè)輸入信號(hào)的變化可能導(dǎo)致多個(gè)子狀態(tài)機(jī)同時(shí)被觸發(fā),從而產(chǎn)生子狀態(tài)機(jī)的仲裁問(wèn)題。
3.在相鄰兩級(jí)子狀態(tài)機(jī)之間設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī),對(duì)子狀態(tài)機(jī)是否觸發(fā)進(jìn)行仲裁。
對(duì)于任意第N級(jí)猝發(fā)模式子狀態(tài)機(jī)MN及其對(duì)應(yīng)的第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)MN+11,…,MN+1L而言,1≤N<K,L為第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)的總數(shù)目;子狀態(tài)機(jī)MN除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)為dN,輔助狀態(tài)節(jié)點(diǎn)為vN,以節(jié)點(diǎn)dN為起點(diǎn)的有向邊eN≠<dN,vN>所對(duì)應(yīng)的猝發(fā)輸入為BIN,相應(yīng)的猝發(fā)輸入變遷為transi(eN);子狀態(tài)機(jī)MN+1i(i=1,…,L)以起始狀態(tài)節(jié)點(diǎn)dN為起點(diǎn)的有向邊eN+1i所對(duì)應(yīng)的猝發(fā)輸入為BIN+1i,其相應(yīng)的猝發(fā)輸入變遷為transi(eN+1i)。
接口狀態(tài)機(jī)的設(shè)計(jì)方法是 (1)確定接口狀態(tài)機(jī)的輸入輸出信號(hào)。接口狀態(tài)機(jī)與MN,MN+11,…,MN+1L相連接,輸入信號(hào)包括猝發(fā)輸入BIN,BIN+11,…,BIN+1L、子狀態(tài)機(jī)MN的請(qǐng)求信號(hào)reqN以及子狀態(tài)機(jī)MN+11,…,MN+1L相應(yīng)的應(yīng)答信號(hào)ackN+11,…,ackN+1L;輸出信號(hào)包括子狀態(tài)機(jī)MN的應(yīng)答信號(hào)ackN、子狀態(tài)機(jī)MN+11,…,MN+1L相應(yīng)的請(qǐng)求信號(hào)reqN+11,…,reqN+1L以及輔助信號(hào)pseu。
(2)確定接口狀態(tài)機(jī)狀態(tài)節(jié)點(diǎn)的數(shù)目。當(dāng)N=1時(shí),接口狀態(tài)機(jī)僅需要解決MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,此時(shí)需要3L+1個(gè)狀態(tài)節(jié)點(diǎn),記為dN,v11,…,vL1,v12,…,vL2,v13,…,vL3。當(dāng)1<N<K時(shí),接口狀態(tài)機(jī)不僅需要解決MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,而且需要解決MN與MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,此時(shí)需要3L+3個(gè)狀態(tài)節(jié)點(diǎn),記為dN,v01,v11,…,vL1,v02,v12,…,vL2,v13,…,vL3。
(3)確定狀態(tài)節(jié)點(diǎn)之間的有向邊及其對(duì)應(yīng)的猝發(fā)輸入/猝發(fā)輸出變遷。
a)有向邊<dN,v01>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN+,transi(eN),猝發(fā)輸出變遷為pseu+;有向邊<v01,v02>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN-,猝發(fā)輸出變遷為pseu-;有向邊<v02,dN>,對(duì)應(yīng)的猝發(fā)輸入變遷為

對(duì)于任意信號(hào)x∈BIN,如果x+∈transi(eN),則如果x-∈transi(eN),則 b)對(duì)于任意i=1,…,L,有向邊<dN,vi1>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN+,transi(eN+1i>,猝發(fā)輸出變遷為reqN+1i+;有向邊<vi1,vi2>,對(duì)應(yīng)的猝發(fā)輸入變遷為ackN+1i+,猝發(fā)輸出變遷為ackN+;有向邊<vi2,vi3>,對(duì)應(yīng)的猝發(fā)輸入變遷為

猝發(fā)輸出變遷為reqN+1i-;有向邊<vi3,dN>, 對(duì)應(yīng)的猝發(fā)輸入變遷為ackN+1i-,猝發(fā)輸出變遷為ackN-。
對(duì)于第一級(jí)子狀態(tài)機(jī)而言,除<d1,v1>之外不存在其他以節(jié)點(diǎn)d1為起點(diǎn)的有向邊,連接第一級(jí)子狀態(tài)機(jī)和第二級(jí)子狀態(tài)機(jī)的接口狀態(tài)機(jī)無(wú)需輸出輔助信號(hào)pseu,因此這個(gè)接口狀態(tài)機(jī)最簡(jiǎn)單。
在第N級(jí)猝發(fā)模式子狀態(tài)機(jī)MN及其對(duì)應(yīng)的第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)MN+11,…,MN+1L之間設(shè)計(jì)接口狀態(tài)機(jī)之后,當(dāng)MN進(jìn)入狀態(tài)dN時(shí),MN將啟動(dòng)握手操作,請(qǐng)求接口狀態(tài)機(jī)進(jìn)行仲裁,接口狀態(tài)機(jī)則根據(jù)外部環(huán)境輸入信號(hào)的變化情況進(jìn)行判斷,對(duì)子狀態(tài)機(jī)是否觸發(fā)進(jìn)行仲裁,方法為 (1)如果猝發(fā)輸入變遷reqN+,transi(eN+1i)先有效,那么接口狀態(tài)機(jī)進(jìn)入狀態(tài)vi1,選擇觸發(fā)第N+1級(jí)子狀態(tài)機(jī)MN+1i,具體過(guò)程為 a)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁請(qǐng)求reqN+,當(dāng)猝發(fā)輸入變遷transi(eN)有效時(shí)進(jìn)入狀態(tài)vi1,同時(shí)將信號(hào)reqN+1i置為高,請(qǐng)求觸發(fā)MN+1i; b)MN+1i接收來(lái)自狀態(tài)機(jī)的觸發(fā)請(qǐng)求reqN+1i+,將信號(hào)ackN+1i置為高,對(duì)觸發(fā)請(qǐng)求加以確認(rèn); c)接口狀態(tài)機(jī)接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+1i,進(jìn)入狀態(tài)vi2,同時(shí)將信號(hào)ackN置為高,對(duì)仲裁請(qǐng)求加以確認(rèn); d)MN接收來(lái)自接口狀態(tài)機(jī)的應(yīng)答信號(hào)ackN+,進(jìn)入狀態(tài)vN,同時(shí)將reqN置為低,對(duì)仲裁請(qǐng)求進(jìn)行復(fù)位; e)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁復(fù)位請(qǐng)求reqN-,進(jìn)入狀態(tài)vi3,同時(shí)將reqN+1i置為低,對(duì)觸發(fā)請(qǐng)求進(jìn)行復(fù)位; f)MN+1i接收來(lái)自接口狀態(tài)機(jī)的觸發(fā)復(fù)位請(qǐng)求reqN+1i-,等待相應(yīng)的猝發(fā)輸入變遷有效,然后進(jìn)入狀態(tài)dN,同時(shí)將信號(hào)ackN+1i置為低,對(duì)觸發(fā)復(fù)位加以確認(rèn); g)接口狀態(tài)機(jī)接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+1i-,回到狀態(tài)dN,同時(shí)將信號(hào)ackN置為低,對(duì)仲裁復(fù)位加以確認(rèn); h)MN接收來(lái)自接口狀態(tài)機(jī)的應(yīng)答信號(hào)ackN+,回到狀態(tài)dN,同時(shí)再次將信號(hào)reqN置為高,進(jìn)行新的仲裁。
(2)如果猝發(fā)輸入變遷reqN+,transi(eN)先有效,那么接口狀態(tài)機(jī)進(jìn)入狀態(tài)v01,選擇繼續(xù)運(yùn)行MN,具體過(guò)程為 a)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁請(qǐng)求reqN+,當(dāng)猝發(fā)輸入變遷transi(eN+1i)有效時(shí)進(jìn)入狀態(tài)v01,同時(shí)將信號(hào)pseu置為高; b)MN接收來(lái)自接口狀態(tài)機(jī)的輔助信號(hào)變遷pseu+,然后將reqN置為低進(jìn)行復(fù)位; c)接口狀態(tài)機(jī)接收復(fù)位請(qǐng)求reqN-,進(jìn)入狀態(tài)v02,同時(shí)將信號(hào)pseu置為低; d)MN接收來(lái)自接口狀態(tài)機(jī)的輔助信號(hào)變遷pseu-等待相應(yīng)的猝發(fā)輸入變遷有效,進(jìn)而繼續(xù)運(yùn)行; e)接口狀態(tài)機(jī)等待相應(yīng)的猝發(fā)輸入變遷有效,然后回到狀態(tài)dN,等待新的仲裁請(qǐng)求。
4.再次調(diào)整第2級(jí)到第K-1級(jí)的所有猝發(fā)模式子狀態(tài)機(jī)MN,2≤N<K,實(shí)現(xiàn)N級(jí)猝發(fā)模式子狀態(tài)機(jī)與對(duì)應(yīng)N+1級(jí)子狀態(tài)機(jī)之間的仲裁。
對(duì)于第N級(jí)猝發(fā)模式子狀態(tài)機(jī)MN及其對(duì)應(yīng)的第N+1級(jí)子狀態(tài)機(jī)MN+11,…,MN+1L而言,采用接口狀態(tài)機(jī)進(jìn)行仲裁時(shí),MN將根據(jù)接口狀態(tài)機(jī)的輔助輸出信號(hào)pseu是否發(fā)生變遷來(lái)決定是繼續(xù)運(yùn)行還是等待某一個(gè)N+1級(jí)子狀態(tài)機(jī)被觸發(fā)并運(yùn)行完畢。為此,MN需要引入新的輸入信號(hào)pseu,進(jìn)行再調(diào)整。
MN除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)為dN,除輔助狀態(tài)節(jié)點(diǎn)vN以外與dN通過(guò)有向邊連接的節(jié)點(diǎn)為vc;有向邊<dN,vN>對(duì)應(yīng)的猝發(fā)輸出變遷reqN-,有向邊eN=<dN,vc>所對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為transi(eN)和transo(eN)。
調(diào)整方法為 (1)刪除有向邊<dN,vc>及其相應(yīng)的猝發(fā)輸入變遷transi(eN)和猝發(fā)輸出變遷transo(eN); (2)增加額外的狀態(tài)節(jié)點(diǎn)v,設(shè)定有向邊<dN,v>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為pseu+和reqN-;設(shè)定有向邊<v,vc>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為pseu-,transi(eN)和transo(eN)。
5.對(duì)所有的猝發(fā)模式子狀態(tài)機(jī)和猝發(fā)模式接口狀態(tài)機(jī)采用已有的基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法和工具進(jìn)行狀態(tài)歸約、狀態(tài)賦值、邏輯綜合以及工藝映射,得到相應(yīng)的子控制電路模塊和接口控制電路模塊。
6.將所有的子控制電路模塊和接口控制電路模塊按照對(duì)應(yīng)信號(hào)進(jìn)行連接得到最終的猝發(fā)模式異步控制電路。
采用本發(fā)明可以達(dá)到以下技術(shù)效果 1.本發(fā)明充分利用猝發(fā)模式狀態(tài)機(jī)所對(duì)應(yīng)有向圖的有向回路集合對(duì)狀態(tài)機(jī)進(jìn)行層次化分解,比基于深度優(yōu)先搜索的分解算法分解效率更高,處理規(guī)模更大; 2.通過(guò)額外設(shè)計(jì)的猝發(fā)模式接口狀態(tài)機(jī)有效地解決了各子狀態(tài)機(jī)之間的仲裁問(wèn)題,設(shè)計(jì)方法簡(jiǎn)單且不需要增加任何時(shí)序約束; 3.利用請(qǐng)求/應(yīng)答信號(hào)實(shí)現(xiàn)相應(yīng)子狀態(tài)機(jī)之間的四段握手協(xié)議進(jìn)行通信,有效地去除了各子狀態(tài)機(jī)之間的時(shí)序約束要求,降低了邏輯綜合的難度。



圖1四段握手通信的時(shí)序圖; 圖2基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法流程圖; 圖3猝發(fā)模式異步控制電路結(jié)構(gòu)圖; 圖4哥倫比亞大學(xué)所提出的基于層次化分解的猝發(fā)模式異步控制電路設(shè)計(jì)方法流程圖; 圖5本發(fā)明基于層次化分解的猝發(fā)模式異步控制電路設(shè)計(jì)方法流程圖; 圖6為一個(gè)典型的猝發(fā)模式狀態(tài)機(jī)M; 圖7為圖6所示猝發(fā)模式狀態(tài)機(jī)M對(duì)應(yīng)的有向圖及其有向回路集合; 圖8為采用本發(fā)明對(duì)M進(jìn)行分解后的猝發(fā)模式子狀態(tài)機(jī); 圖9為對(duì)圖8所示的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整后的猝發(fā)模式子狀態(tài)機(jī); 圖10為對(duì)圖9所示猝發(fā)模式子狀態(tài)機(jī)再調(diào)整之后的猝發(fā)模式子狀態(tài)機(jī); 圖11為采用本發(fā)明對(duì)M設(shè)計(jì)的猝發(fā)模式接口狀態(tài)機(jī); 圖12為圖11所示接口狀態(tài)機(jī)與子狀態(tài)機(jī)連接方式示意圖。

具體實(shí)施例方式 圖1為兩個(gè)異步電路模塊之間進(jìn)行四段握手通信時(shí)請(qǐng)求/應(yīng)答信號(hào)的時(shí)序圖。當(dāng)兩個(gè)異步電路模塊A、B之間同步傳輸數(shù)據(jù)時(shí),通常包括四個(gè)步驟 (1)模塊A發(fā)送數(shù)據(jù),同時(shí)將請(qǐng)求信號(hào)req置為高來(lái)啟動(dòng)握手;(2)模塊B接收數(shù)據(jù),然后將應(yīng)答信號(hào)ack置為高進(jìn)行確認(rèn),表示已經(jīng)接收到數(shù)據(jù),并開(kāi)始相應(yīng)的運(yùn)算;(3)模塊A將請(qǐng)求信號(hào)req置為低進(jìn)行復(fù)位;(4)模塊B將應(yīng)答信號(hào)ack置為低完成握手。
圖2是基于有限狀態(tài)機(jī)的異步控制電路設(shè)計(jì)方法流程圖?;谟邢逘顟B(tài)機(jī)模型的異步電路設(shè)計(jì)方法與同步電路的設(shè)計(jì)流程基本相同,首先將有限狀態(tài)機(jī)描述轉(zhuǎn)換為異步流表,其次進(jìn)行狀態(tài)歸約與賦值得到二進(jìn)制異步流表,接著進(jìn)行邏輯綜合確定輸出變量的邏輯表達(dá)式,最后通過(guò)工藝映射獲得電路的門級(jí)網(wǎng)表。
圖3為猝發(fā)模式異步控制電路結(jié)構(gòu)圖。猝發(fā)模式異步控制電路由猝發(fā)輸入、猝發(fā)輸出、組合邏輯電路以及反饋回路構(gòu)成,組合邏輯電路采用有限延遲模型,反饋回路采用無(wú)限反饋延遲模型。電路的當(dāng)前狀態(tài)保存在反饋回路中,電路的猝發(fā)輸出和下一狀態(tài)由猝發(fā)輸入、當(dāng)前狀態(tài)以及部分輸出信號(hào)的反饋共同決定。
圖4為哥倫比亞大學(xué)公布的基于層次化分解的猝發(fā)模式異步控制電路設(shè)計(jì)方法流程圖。對(duì)于給定的復(fù)雜猝發(fā)模式狀態(tài)機(jī)描述,首先采用深度優(yōu)先搜索算法進(jìn)行層次化分解得到相互獨(dú)立的猝發(fā)模式子狀態(tài)機(jī);其次采用已有的猝發(fā)模式狀態(tài)機(jī)綜合工具(比如說(shuō)加利福尼亞大學(xué)的3D和哥倫比亞大學(xué)的MINIMALIST)對(duì)各子狀態(tài)機(jī)分別進(jìn)行邏輯綜合得到對(duì)應(yīng)的猝發(fā)模式子控制電路模塊;接著對(duì)各子控制電路模塊進(jìn)行調(diào)整,增加輸入信號(hào)鎖存模塊以解決子控制電路模塊之間的仲裁問(wèn)題,最后將各子控制模塊按照對(duì)應(yīng)的輸入輸出信號(hào)關(guān)系進(jìn)行連接獲得最終的猝發(fā)模式異步控制電路。
圖5為本發(fā)明所提出的基于層次化分解的猝發(fā)模式異步控制電路設(shè)計(jì)方法流程圖,總共包括6個(gè)步驟(1)利用猝發(fā)模式狀態(tài)機(jī)所對(duì)應(yīng)有向圖的有向回路集合對(duì)狀態(tài)機(jī)進(jìn)行層次化分解;(2)通過(guò)增加額外的請(qǐng)求/應(yīng)答信號(hào)對(duì)猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整,實(shí)現(xiàn)相應(yīng)子狀態(tài)機(jī)之間的四段握手通信;(3)設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī)解決子狀態(tài)機(jī)的仲裁問(wèn)題;(4)再次調(diào)整猝發(fā)模式子狀態(tài)機(jī),實(shí)現(xiàn)第N級(jí)猝發(fā)模式子狀態(tài)機(jī)與對(duì)應(yīng)第N+1級(jí)子狀態(tài)機(jī)之間的仲裁;(5)對(duì)各子狀態(tài)機(jī)和接口狀態(tài)機(jī)進(jìn)行邏輯綜合獲得子控制電路模塊和接口電路模塊;(6)將各子控制模塊進(jìn)行連接獲得最終的猝發(fā)模式異步控制電路。
圖6為一個(gè)典型的猝發(fā)模式狀態(tài)機(jī)M,其狀態(tài)節(jié)點(diǎn)為v0,v1,v2,v3,v4,v5;有向邊為<v0,v1>,<v1,v2>,<v2,v3>,<v3,v2>,<v2,v4>,<v4,v5>,<v5,v4>,<v4,v1>;輸入信號(hào)為ain,bin,cin以及din,輸出信號(hào)為yout和zout起始狀態(tài)節(jié)點(diǎn)為v0。
圖7.1為M對(duì)應(yīng)的有向圖G。圖7.2、7.3以及7.4為有向圖G的有向回路,構(gòu)成有向回路集合C。
圖8為采用本發(fā)明對(duì)圖6所示M進(jìn)行分解后得到的猝發(fā)模式子狀態(tài)機(jī)。圖8.1所示為第一級(jí)猝發(fā)模式子狀態(tài)機(jī)M1,圖8.2所示為第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M21,圖8.3所示為第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M22,圖8.4所示為第三級(jí)猝發(fā)模式子狀態(tài)機(jī)M31。
具體分解過(guò)程是 (1)生成M的初始子狀態(tài)機(jī)集合S。有向回路集合C中的有向回路在M中的對(duì)應(yīng)結(jié)構(gòu),包括狀態(tài)節(jié)點(diǎn)、有向邊及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出,構(gòu)成M的初始子狀態(tài)機(jī)。圖7.2、圖7.3以及圖7.4所示有向回路分別與圖8.2、圖8.3以及圖8.4所示初始子狀態(tài)機(jī)相對(duì)應(yīng)。
(2)確定M中判定節(jié)點(diǎn)集合D,D={v2,v4}。
(3)M中起始狀態(tài)節(jié)點(diǎn)v0到判定節(jié)點(diǎn)v2之間的有向路徑及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出構(gòu)成第一級(jí)猝發(fā)模式子狀態(tài)機(jī)M1,起始狀態(tài)節(jié)點(diǎn)為v0。
(4)包含節(jié)點(diǎn)v2的初始子狀態(tài)機(jī)為第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M21和M22,起始狀態(tài)節(jié)點(diǎn)均設(shè)定為v2。
(5)對(duì)于M22而言,除起始狀態(tài)節(jié)點(diǎn)v2之外還存在判定節(jié)點(diǎn)v4,因此包含v4的初始子狀態(tài)機(jī)為第三級(jí)猝發(fā)模式子狀態(tài)機(jī)M31,起始狀態(tài)節(jié)點(diǎn)設(shè)定為v4。
圖9為對(duì)圖8所示的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整,即增加額外的請(qǐng)求/應(yīng)答信號(hào)之后的猝發(fā)模式子狀態(tài)機(jī)。圖9.1、圖9.2、圖9.3以及圖9.4所示的調(diào)整后的猝發(fā)模式子狀態(tài)機(jī)分別與圖8.1、圖8.2、圖8.3以及圖8.4所示的猝發(fā)模式子狀態(tài)機(jī)相對(duì)應(yīng)。
具體的調(diào)整步驟為 (1)在如圖8.1所示的M1中,增加輔助狀態(tài)節(jié)點(diǎn)v1與節(jié)點(diǎn)v2相連接;設(shè)定有向邊<v2,v1>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ack1+和req1-;設(shè)定有向邊<v1,v2>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ack1-和req1+;有向邊<v1,v2>的猝發(fā)輸出變遷增加req1+。
(2)在如圖8.2所示的M21中,有向邊<v2,v3>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req21+和ack21+,有向邊<v3,v2>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req21-和ack21-。
(3)在如圖8.3所示的M22中,有向邊<v2,v4>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req22+和ack22+,有向邊<v1,v2>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req22-和ack22-。
(4)在如圖8.3所示的M22中,增加輔助狀態(tài)節(jié)點(diǎn)v2與節(jié)點(diǎn)v4相連接;設(shè)定有向邊<v4,v2>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ack2+和req2-;設(shè)定有向邊<v2,v4>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ack2-和req2+;有向邊<v2,v4>的猝發(fā)輸出變遷增加req2+。
(5)在如圖8.4所示的M31中,有向邊<v4,v5>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req31+和ack31+,有向邊<v5,v4>的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加req31-和ack31-。
圖10為引入接口狀態(tài)機(jī)的輸出輔助信號(hào)pseu進(jìn)行再調(diào)整之后的猝發(fā)模式子狀態(tài)機(jī)。對(duì)于M的第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M21和M22而言,由于M21沒(méi)有對(duì)應(yīng)的第三級(jí)猝發(fā)模式子狀態(tài)機(jī),所以僅需要調(diào)整M22。
具體的調(diào)整步驟為 (1)刪除有向邊<v4,v1>及其相應(yīng)的猝發(fā)輸入變遷ain+,bin+; (2)增加額外的狀態(tài)節(jié)點(diǎn)v,設(shè)定有向邊<v4,v>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為pseu+和req2-; (3)設(shè)定有向邊<v,v1>對(duì)應(yīng)的猝發(fā)輸入變遷為pseu-,ain+,bin+。
圖11為采用本發(fā)明設(shè)計(jì)的猝發(fā)模式接口狀態(tài)機(jī),圖11.1所示接口狀態(tài)機(jī)A用于解決圖9.1所示第一級(jí)猝發(fā)模式子狀態(tài)機(jī)M1與圖9.2、圖10所示第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M21、M22之間的仲裁問(wèn)題。圖11.2所示接口狀態(tài)機(jī)B是則為了解決圖10所示第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M22與圖9.4所示第三級(jí)猝發(fā)模式子狀態(tài)機(jī)M31之間的仲裁問(wèn)題。
接口狀態(tài)機(jī)A的仲裁過(guò)程為M1進(jìn)入狀態(tài)v2,同時(shí)將信號(hào)req1置為高,啟動(dòng)握手操作,請(qǐng)求接口狀態(tài)機(jī)A進(jìn)行仲裁;接口狀態(tài)機(jī)A根據(jù)外部環(huán)境輸入信號(hào)的變化情況進(jìn)行判斷,如果猝發(fā)輸入變遷req1+,bin+,cin+先有效,則接口狀態(tài)機(jī)A進(jìn)入狀態(tài)v11,選擇觸發(fā)M21;如果輸入變遷req1+,ain-先有效,則接口狀態(tài)機(jī)A進(jìn)入狀態(tài)v21,選擇觸發(fā)M22。
1、當(dāng)接口狀態(tài)機(jī)A進(jìn)入狀態(tài)v11,選擇觸發(fā)M21時(shí),具體執(zhí)行過(guò)程為 a)接口狀態(tài)機(jī)A接收來(lái)自M1的仲裁請(qǐng)求req1+,當(dāng)猝發(fā)輸入變遷bin+,cin+有效時(shí)進(jìn)入狀態(tài)v11,同時(shí)將信號(hào)req21置為高,請(qǐng)求觸發(fā)M21; b)M21接收來(lái)自接口狀態(tài)機(jī)A的觸發(fā)請(qǐng)求req21+,進(jìn)入狀態(tài)v3,同時(shí)將信號(hào)ack21置為高,對(duì)觸發(fā)請(qǐng)求加以確認(rèn); c)接口狀態(tài)機(jī)A接收來(lái)自M21的應(yīng)答信號(hào)ack21+,進(jìn)入狀態(tài)v12,同時(shí)將信號(hào)ack1置為高,對(duì)仲裁請(qǐng)求加以確認(rèn); d)M1接收來(lái)自接口狀態(tài)機(jī)A的應(yīng)答信號(hào)ack1+,進(jìn)入狀態(tài)v1,同時(shí)將req1置為低,對(duì)仲裁請(qǐng)求進(jìn)行復(fù)位; e)接口狀態(tài)機(jī)A接收來(lái)自M1的仲裁復(fù)位請(qǐng)求req1-,進(jìn)入狀態(tài)v13,同時(shí)將req21置為低,對(duì)觸發(fā)請(qǐng)求進(jìn)行復(fù)位; f)M21接收來(lái)自接口狀態(tài)機(jī)A的觸發(fā)復(fù)位請(qǐng)求req21-,等待猝發(fā)輸入變遷bin-,cin-有效,然后回到狀態(tài)v2,同時(shí)將信號(hào)ack21置為低,對(duì)觸發(fā)復(fù)位加以確認(rèn); g)接口狀態(tài)機(jī)A接收來(lái)自M21的應(yīng)答信號(hào)ack21-,回到狀態(tài)v2,同時(shí)將信號(hào)ack1置為低,對(duì)仲裁復(fù)位加以確認(rèn); h)M1接收來(lái)自接口狀態(tài)機(jī)A的應(yīng)答信號(hào)ack1+,回到狀態(tài)v2,同時(shí)再次將信號(hào)req1置為高進(jìn)行新的仲裁。
2、接口狀態(tài)機(jī)A進(jìn)入狀態(tài)v21選擇觸發(fā)M22時(shí)的具體執(zhí)行過(guò)程與其進(jìn)入狀態(tài)v11選擇觸發(fā)M21時(shí)基本一致。
接口狀態(tài)機(jī)B的仲裁過(guò)程為M22進(jìn)入狀態(tài)v4,同時(shí)將信號(hào)req2置為高,啟動(dòng)握手操作,請(qǐng)求接口狀態(tài)機(jī)B進(jìn)行仲裁;接口狀態(tài)機(jī)B根據(jù)外部環(huán)境輸入信號(hào)的變化情況進(jìn)行判斷,如果猝發(fā)輸入變遷req2+,ain+,bin+先有效,那么接口狀態(tài)機(jī)B進(jìn)入狀態(tài)v01,選擇繼續(xù)運(yùn)行M22;如果猝發(fā)輸入變遷req2+,din+先有效,那么接口狀態(tài)機(jī)B進(jìn)入狀態(tài)v11,選擇觸發(fā)M31。
1、接口狀態(tài)機(jī)B進(jìn)入狀態(tài)v11選擇觸發(fā)M31時(shí)的具體執(zhí)行過(guò)程與接口狀態(tài)機(jī)A進(jìn)入狀態(tài)v11選擇觸發(fā)M21時(shí)基本一致。
2、接口狀態(tài)機(jī)B進(jìn)入狀態(tài)v01,選擇繼續(xù)運(yùn)行M22時(shí),具體執(zhí)行過(guò)程為 a)接口狀態(tài)機(jī)B接收到來(lái)自M22的仲裁請(qǐng)求req2+,當(dāng)猝發(fā)輸入變遷din+有效時(shí)進(jìn)入狀態(tài)v01,同時(shí)將信號(hào)pseu置為高; b)M22接收來(lái)自接口狀態(tài)機(jī)B的輔助信號(hào)變遷pseu+,進(jìn)入狀態(tài)v并將req2置為低進(jìn)行復(fù)位; c)接口狀態(tài)機(jī)B接收復(fù)位請(qǐng)求reqN-,進(jìn)入狀態(tài)v02,同時(shí)將信號(hào)pseu置為低; d)M22接收來(lái)自接口狀態(tài)機(jī)B的輔助信號(hào)變遷pseu-,等待猝發(fā)輸入變遷ain-,bin-有效,然后進(jìn)入狀態(tài)v1繼續(xù)運(yùn)行; e)接口狀態(tài)機(jī)等待猝發(fā)輸入變遷ain-,bin-有效,然后回到狀態(tài)v4,等待新的仲裁請(qǐng)求。
圖12.1是圖11.1所示接口狀態(tài)機(jī)A與圖9.1所示第一級(jí)猝發(fā)模式子狀態(tài)機(jī)M1、圖9.2所示第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M21以及圖10所示第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M22的連接方式示意圖。接口狀態(tài)機(jī)A通過(guò)握手信號(hào)req1和ack1與M1相連接,通過(guò)握手信號(hào)req21和ack21與M21相連接,通過(guò)握手信號(hào)req22和ack22與M22相連接。圖12.2是圖11.2所示接口狀態(tài)機(jī)B與圖10所示第二級(jí)猝發(fā)模式子狀態(tài)機(jī)M22以及圖9.4所示第三級(jí)猝發(fā)模式子狀態(tài)機(jī)M31之間的連接方式示意圖。接口狀態(tài)機(jī)B通過(guò)握手信號(hào)req2和ack2以及輔助信號(hào)pseu與M22相連接,通過(guò)信號(hào)req31和ack31與M31相連接。
權(quán)利要求
1.一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,它包括分解猝發(fā)模式狀態(tài)機(jī)、實(shí)現(xiàn)子控制電路模塊、合成猝發(fā)模式異步控制電路這些步驟,其特征在于在分解猝發(fā)模式狀態(tài)機(jī)步驟和實(shí)現(xiàn)子控制電路模塊步驟之間還包括調(diào)整猝發(fā)模式子狀態(tài)機(jī)、設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī)、再調(diào)整猝發(fā)模式子狀態(tài)機(jī)三個(gè)步驟,具體步驟為
第一步,利用猝發(fā)模式狀態(tài)機(jī)M所對(duì)應(yīng)有向圖的有向回路集合對(duì)M進(jìn)行層次化分解,得到K級(jí)猝發(fā)模式子狀態(tài)機(jī),K為M分解得到的猝發(fā)模式子狀態(tài)機(jī)的總級(jí)數(shù);
第二步,增加額外的請(qǐng)求/應(yīng)答信號(hào),對(duì)第1級(jí)至第K級(jí)所有的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整,實(shí)現(xiàn)相鄰兩級(jí)子狀態(tài)機(jī)之間的四段握手通信,去除相鄰兩級(jí)子狀態(tài)機(jī)之間的時(shí)序要求;
第三步,在相鄰兩級(jí)子狀態(tài)機(jī)之間設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī),對(duì)子狀態(tài)機(jī)是否觸發(fā)進(jìn)行仲裁;
第四步,再次調(diào)整第2級(jí)到第K-1級(jí)的所有猝發(fā)模式子狀態(tài)機(jī)MN,2≤N<K,實(shí)現(xiàn)N級(jí)猝發(fā)模式子狀態(tài)機(jī)與對(duì)應(yīng)N+1級(jí)子狀態(tài)機(jī)之間的仲裁;
第五步,對(duì)所有的猝發(fā)模式子狀態(tài)機(jī)和猝發(fā)模式接口狀態(tài)機(jī)進(jìn)行狀態(tài)歸約、狀態(tài)賦值、邏輯綜合以及工藝映射,得到相應(yīng)的子控制電路模塊和接口控制電路模塊;
第六步,將所有的子控制電路模塊和接口控制電路模塊按照對(duì)應(yīng)信號(hào)進(jìn)行連接得到最終的猝發(fā)模式異步控制電路。
2.如權(quán)利要求1所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于所述層次化分解的流程為
(1)根據(jù)M所對(duì)應(yīng)有向圖G=<V,E>的有向回路集合C確定初始子狀態(tài)機(jī)集合S任一有向回路c(c∈C)在M中的對(duì)應(yīng)結(jié)構(gòu),包括狀態(tài)節(jié)點(diǎn)、有向邊及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出,構(gòu)成一個(gè)初始子狀態(tài)機(jī)s(s∈S);
(2)確定判定節(jié)點(diǎn)集合DG中所有出度大于2的頂點(diǎn)在M中的對(duì)應(yīng)狀態(tài)節(jié)點(diǎn)即為判定節(jié)點(diǎn);
(3)M中起始狀態(tài)節(jié)點(diǎn)v0到最近的判定節(jié)點(diǎn)d1∈D之間的有向通路及相應(yīng)的猝發(fā)輸入和猝發(fā)輸出構(gòu)成第一級(jí)猝發(fā)模式子狀態(tài)機(jī),第一級(jí)子狀態(tài)機(jī)的起始狀態(tài)節(jié)點(diǎn)為v0;所有包含判定節(jié)點(diǎn)d1的初始子狀態(tài)機(jī)均為第二級(jí)猝發(fā)模式子狀態(tài)機(jī),第二級(jí)子狀態(tài)機(jī)的起始狀態(tài)節(jié)點(diǎn)為d1;
(4)設(shè)定子狀態(tài)機(jī)級(jí)數(shù)N=2;
(5)從S中刪除所有第N級(jí)猝發(fā)模式子狀態(tài)機(jī);
(6)對(duì)S進(jìn)行判斷,如果S不為空,跳轉(zhuǎn)至步驟(7);如果S為空則M分解完成;
(7)對(duì)第N級(jí)猝發(fā)模式子狀態(tài)機(jī)逐一進(jìn)行判斷,如果存在除起始狀態(tài)節(jié)點(diǎn)之外的其他判定節(jié)點(diǎn)dNi,i=1,…,l,l為第N級(jí)猝發(fā)模式子狀態(tài)機(jī)中除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)數(shù)目,則S中所有包含dNi的初始子狀態(tài)機(jī)均為第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī),起始狀態(tài)節(jié)點(diǎn)為dNi;
(8)調(diào)整子狀態(tài)機(jī)級(jí)數(shù)N=N+1,跳轉(zhuǎn)至步驟(6)。
3.如權(quán)利要求1所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于對(duì)第1級(jí)至第K級(jí)所有的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整的方法是
(1)在第N級(jí)猝發(fā)模式子狀態(tài)機(jī)MN(1≤N≤K-1)中,增加輔助狀態(tài)節(jié)點(diǎn)vN與除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn)dN相連接;設(shè)定有向邊<dN,vN>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ackN+和reqN-;設(shè)定有向邊<vN,dN>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為ackN-和reqN+;以dN為終點(diǎn)的有向邊(<vN,dN>除外)的猝發(fā)輸出變遷增加reqN+;+代表信號(hào)由0到1的變遷,-代表由1到0的變遷;
(2)記MN對(duì)應(yīng)的第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)分別為MN+11,…,MN+1L,L為第N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)的個(gè)數(shù),在MN+1i(i=1,…,L)中,以起始狀態(tài)節(jié)點(diǎn)dN為起點(diǎn)的有向邊的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加reqN+1i+和ackN+1i+,以節(jié)點(diǎn)dN為終點(diǎn)的有向邊的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別增加reqN+1i-和ackN+1i-。
4.如權(quán)利要求3所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于所述MN與任意N+1級(jí)猝發(fā)模式子狀態(tài)機(jī)MN+1i的通信過(guò)程為
(1)MN進(jìn)入狀態(tài)dN,同時(shí)將信號(hào)reqN置為高,啟動(dòng)握手操作,請(qǐng)求觸發(fā)第N+1級(jí)子狀態(tài)機(jī);
(2)MN+1i接收來(lái)自MN的觸發(fā)請(qǐng)求reqN+1i+,然后將信號(hào)ackN+1i置為高加以確認(rèn);
(3)MN接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+,進(jìn)入狀態(tài)vN,同時(shí)將信號(hào)reqN置為低,對(duì)握手操作進(jìn)行復(fù)位;
(4)MN+1i接收來(lái)自MN的復(fù)位請(qǐng)求reqN+1i-,然后將信號(hào)ackN+1i置為低,加以確認(rèn);
(5)MN接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+,回到狀態(tài)dN,同時(shí)再次將信號(hào)reqN置為高,進(jìn)行新的通訊。
5.如權(quán)利要求1所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于所述接口狀態(tài)機(jī)的設(shè)計(jì)方法是
(1)確定接口狀態(tài)機(jī)的輸入輸出信號(hào)接口狀態(tài)機(jī)與MN,MN+11,…MN+1L相連接,輸入信號(hào)包括猝發(fā)輸入BIN,BIN+11,…,BIN+1L、子狀態(tài)機(jī)MN的請(qǐng)求信號(hào)reqN以及子狀態(tài)機(jī)MN+11,…,MN+1L相應(yīng)的應(yīng)答信號(hào)axkN+11,…,ackN+1L;輸出信號(hào)包括子狀態(tài)機(jī)MN的應(yīng)答信號(hào)ackN、子狀態(tài)機(jī)MN+11,…,MN+1L相應(yīng)的請(qǐng)求信號(hào)reqN+11,…,reqN+1L以及輔助信號(hào)pseu;
(2)確定接口狀態(tài)機(jī)狀態(tài)節(jié)點(diǎn)的數(shù)目當(dāng)N=1時(shí),接口狀態(tài)機(jī)僅需要解決MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,此時(shí)需要3L+1個(gè)狀態(tài)節(jié)點(diǎn),記為dN,v11,…,vL1,v12,…,vL2,v13,…,vL3;當(dāng)1<N<K時(shí),接口狀態(tài)機(jī)不僅需要解決MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,而且需要解決MN與MN+11,…,MN+1L之間的觸發(fā)仲裁問(wèn)題,此時(shí)需要3L+3個(gè)狀態(tài)節(jié)點(diǎn),記為dN,v01,v11,…,vL1,v02,v12,…,vL2,v13,…,vL3。
(3)確定狀態(tài)節(jié)點(diǎn)之間的有向邊及其對(duì)應(yīng)的猝發(fā)輸入/猝發(fā)輸出變遷
a)有向邊<dN,v01>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN+,transi(eN),猝發(fā)輸出變遷為pseu+;有向邊<v01,v02>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN-,猝發(fā)輸出變遷為pseu-;有向邊<v02,dN>,對(duì)應(yīng)的猝發(fā)輸入變遷為
;對(duì)于任意信號(hào)x∈BIN,如果x+∈transi(eN),則,如果x-∈transi(eN),則
b)對(duì)于任意i=1,…,L,有向邊<dN,vi1>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN+,transi(eN+1i),猝發(fā)輸出變遷為reqN+1i+;有向邊<vi1,vi2>,對(duì)應(yīng)的猝發(fā)輸入變遷為ackN+1i+,猝發(fā)輸出變遷為ackN+;有向邊<vi2,vi3>,對(duì)應(yīng)的猝發(fā)輸入變遷為reqN-,
,猝發(fā)輸出變遷為reqN+1i-;有向邊<vi3,dN>,
對(duì)應(yīng)的猝發(fā)輸入變遷為ackN+1i-,猝發(fā)輸出變遷為ackN-。
6.如權(quán)利要求1或5所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于所述接口狀態(tài)機(jī)對(duì)子狀態(tài)機(jī)是否觸發(fā)進(jìn)行仲裁的方法是
(1)如果猝發(fā)輸入變遷reqN+,transi(eN+1i)先有效,那么接口狀態(tài)機(jī)進(jìn)入狀態(tài)vi1,選擇觸發(fā)第N+1級(jí)子狀態(tài)機(jī)MN+1i,具體過(guò)程為
a)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁請(qǐng)求reqN+,當(dāng)猝發(fā)輸入變遷transi(eN)有效時(shí)進(jìn)入狀態(tài)vi1,同時(shí)將信號(hào)reqN+1i置為高,請(qǐng)求觸發(fā)MN+1i;
b)MN+1i接收來(lái)自狀態(tài)機(jī)的觸發(fā)請(qǐng)求reqN+1i+,將信號(hào)ackN+1i置為高,對(duì)觸發(fā)請(qǐng)求加以確認(rèn);
c)接口狀態(tài)機(jī)接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+1i+,進(jìn)入狀態(tài)vi2,同時(shí)將信號(hào)ackN置為高,對(duì)仲裁請(qǐng)求加以確認(rèn);
d)MN接收來(lái)自接口狀態(tài)機(jī)的應(yīng)答信號(hào)ackN+,進(jìn)入狀態(tài)vN,同時(shí)將reqN置為低,對(duì)仲裁請(qǐng)求進(jìn)行復(fù)位;
e)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁復(fù)位請(qǐng)求reqN-,進(jìn)入狀態(tài)vi3,同時(shí)將reqN+1i置為低,對(duì)觸發(fā)請(qǐng)求進(jìn)行復(fù)位;
f)MN+1i接收來(lái)自接口狀態(tài)機(jī)的觸發(fā)復(fù)位請(qǐng)求reqN+1i-,等待相應(yīng)的猝發(fā)輸入變遷有效,然后進(jìn)入狀態(tài)dN,同時(shí)將信號(hào)ackN+1i置為低,對(duì)觸發(fā)復(fù)位加以確認(rèn);
g)接口狀態(tài)機(jī)接收來(lái)自MN+1i的應(yīng)答信號(hào)ackN+1i-,回到狀態(tài)dN,同時(shí)將信號(hào)ackN置為低,對(duì)仲裁復(fù)位加以確認(rèn);
h)MN接收來(lái)自接口狀態(tài)機(jī)的應(yīng)答信號(hào)ackN+,回到狀態(tài)dN,同時(shí)再次將信號(hào)reqN置為高,進(jìn)行新的仲裁;
(2)如果猝發(fā)輸入變遷reqN+,transi(eN)先有效,那么接口狀態(tài)機(jī)進(jìn)入狀態(tài)v01,選擇繼續(xù)運(yùn)行MN,具體過(guò)程為
a)接口狀態(tài)機(jī)接收來(lái)自MN的仲裁請(qǐng)求reqN+,當(dāng)猝發(fā)輸入變遷transi(eN+1i)有效時(shí)進(jìn)入狀態(tài)v01,同時(shí)將信號(hào)pseu置為高;
b)MN接收來(lái)自接口狀態(tài)機(jī)的輔助信號(hào)變遷pseu+,然后將reqN置為低進(jìn)行復(fù)位;
c)接口狀態(tài)機(jī)接收復(fù)位請(qǐng)求reqN-,進(jìn)入狀態(tài)v02,同時(shí)將信號(hào)pseu置為低;
d)MN接收來(lái)自接口狀態(tài)機(jī)的輔助信號(hào)變遷pseu-等待相應(yīng)的猝發(fā)輸入變遷有效,進(jìn)而繼續(xù)運(yùn)行;
e)接口狀態(tài)機(jī)等待相應(yīng)的猝發(fā)輸入變遷有效,然后回到狀態(tài)dN,等待新的仲裁請(qǐng)求。
7.如權(quán)利要求1所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于所述對(duì)第2級(jí)到第K-1級(jí)的所有猝發(fā)模式子狀態(tài)機(jī)MN再次調(diào)整的方法為
(1)刪除有向邊<dN,vc>及其相應(yīng)的猝發(fā)輸入變遷transi(eN)和猝發(fā)輸出變遷transo(eN);dN為MN中除起始狀態(tài)節(jié)點(diǎn)之外的判定節(jié)點(diǎn),vc為除輔助狀態(tài)節(jié)點(diǎn)vN以外與dN通過(guò)有向邊連接的節(jié)點(diǎn);有向邊<dN,vN>對(duì)應(yīng)的猝發(fā)輸出變遷reqN-,有向邊eN=<dN,vc>所對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為transi(eN)和transo(eN);
(2)增加額外的狀態(tài)節(jié)點(diǎn)v,設(shè)定有向邊<dN,v>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為pseu+和reqN-;設(shè)定有向邊<v,vc>對(duì)應(yīng)的猝發(fā)輸入變遷和猝發(fā)輸出變遷分別為pseu-,transi(eN)和transo(eN)。
8.如權(quán)利要求5所述的一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,其特征在于連接第一級(jí)子狀態(tài)機(jī)和第二級(jí)子狀態(tài)機(jī)的接口狀態(tài)機(jī)不輸出輔助信號(hào)pseu。
全文摘要
本發(fā)明公開(kāi)了一種猝發(fā)模式異步控制電路設(shè)計(jì)方法,要解決的技術(shù)問(wèn)題是提高設(shè)計(jì)規(guī)模,使大規(guī)模猝發(fā)模式異步控制電路實(shí)用化。技術(shù)方案是利用猝發(fā)模式狀態(tài)機(jī)M所對(duì)應(yīng)有向圖的有向回路集合對(duì)M進(jìn)行層次化分解;增加額外的請(qǐng)求/應(yīng)答信號(hào),對(duì)第1級(jí)至第K級(jí)所有的猝發(fā)模式子狀態(tài)機(jī)進(jìn)行調(diào)整;設(shè)計(jì)猝發(fā)模式接口狀態(tài)機(jī),對(duì)子狀態(tài)機(jī)是否觸發(fā)進(jìn)行仲裁;再次調(diào)整第2級(jí)到第K-1級(jí)的所有猝發(fā)模式子狀態(tài)機(jī);實(shí)現(xiàn)子控制電路模塊和接口控制電路模塊;合成猝發(fā)模式異步控制電路。采用本發(fā)明可對(duì)狀態(tài)機(jī)進(jìn)行層次化分解,分解效率高,處理規(guī)模大;可解決各子狀態(tài)機(jī)之間的仲裁問(wèn)題,設(shè)計(jì)方法簡(jiǎn)單;可有效去除各子狀態(tài)機(jī)之間的時(shí)序約束要求,降低邏輯綜合的難度。
文檔編號(hào)G06F17/50GK101149763SQ20071003605
公開(kāi)日2008年3月26日 申請(qǐng)日期2007年11月6日 優(yōu)先權(quán)日2007年11月6日
發(fā)明者王志英, 堅(jiān) 阮, 蕾 王, 葵 戴, 勇 李, 銳 龔, 鋼 晉, 李云照 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
文水县| 布尔津县| 通渭县| 治县。| 前郭尔| 江川县| 浏阳市| 沙河市| 通化市| 乐清市| 汤原县| 响水县| 鄯善县| 饶阳县| 康乐县| 安达市| 新密市| 伊吾县| 鄂伦春自治旗| 辰溪县| 邢台市| 黑河市| 太湖县| 睢宁县| 铅山县| 阳春市| 小金县| 八宿县| 达孜县| 宜宾县| 武冈市| 古丈县| 保定市| 宜宾县| 葵青区| 东乌珠穆沁旗| 深水埗区| 武宁县| 宁海县| 望都县| 东台市|