戴伏生
(哈爾濱工業(yè)大學(xué)威海校區(qū)信息與電氣工程學(xué)院,山東威海264209)
數(shù)字邏輯系統(tǒng)中存在多個(gè)相互獨(dú)立工作的邏輯電路在使用系統(tǒng)的某些共同資源時(shí)會(huì)遇到?jīng)_突與競爭的問題。為避免競爭沖突造成邏輯混亂,必須確保同一時(shí)刻只有一個(gè)競爭者能取得資源的使用權(quán),這就需要進(jìn)行仲裁邏輯電路設(shè)計(jì)[1]。雖然,目前已有文獻(xiàn)介紹了仲裁邏輯電路的一些設(shè)計(jì)方法。例如,用D鎖存器進(jìn)行設(shè)計(jì),用優(yōu)先權(quán)編碼器進(jìn)行設(shè)計(jì),還有用單片機(jī)或計(jì)數(shù)器進(jìn)行設(shè)計(jì),但均存在一定缺陷[2-6]。用多個(gè)D鎖存器設(shè)計(jì)的仲裁邏輯電路,當(dāng)發(fā)生多個(gè)競爭者同時(shí)請求情況時(shí),通過仿真實(shí)驗(yàn)發(fā)現(xiàn)存在仲裁失效現(xiàn)象;用優(yōu)先權(quán)編碼器或單片機(jī)進(jìn)行設(shè)計(jì),雖可以進(jìn)行仲裁,但需要按照優(yōu)先權(quán)高低排序等人為因素干預(yù),造成仲裁可能出現(xiàn)不平等性。筆者在研究基本RS鎖存器違背約束的現(xiàn)象時(shí),發(fā)現(xiàn)該電路具備自由競爭確定輸出狀態(tài)的特點(diǎn),這為設(shè)計(jì)仲裁邏輯電路提供了又一解決方案。
在“數(shù)字電子技術(shù)基礎(chǔ)”或者“數(shù)字邏輯基礎(chǔ)”課程講授到時(shí)序邏輯電路時(shí),必然首先介紹各種類型的觸發(fā)器[7,8]。因?yàn)樗鼈兪墙M成時(shí)序邏輯電路的核心部件,而基本RS鎖存器或者稱為基本RS觸發(fā)器,又是構(gòu)成觸發(fā)器的最基本單元,利用與非門構(gòu)成的基本RS鎖存器如圖1(a)所示,其中S'、R'以及Q'為S、R和Q的反變量的表示法。在介紹基本RS鎖存器時(shí)一定會(huì)遇到約束項(xiàng)問題,教材中一般只提到不允許違反約束條件,而忽視了該約束項(xiàng)問題還可以在實(shí)際電路設(shè)計(jì)中得到合理利用。
所謂基本RS鎖存器的約束項(xiàng)問題,是指圖1中鎖存器的輸入端S'和R'均由邏輯0同時(shí)刻改變?yōu)檫壿?時(shí),輸出端Q和Q'將由邏輯1狀態(tài)變?yōu)椴淮_定狀態(tài),正因?yàn)樵撉闆r下輸出端將會(huì)出現(xiàn)不確定狀態(tài),所以基本RS鎖存器在一般場合應(yīng)用時(shí)要避免該輸入情況的發(fā)生,即輸入信號的約束問題。按照約束項(xiàng)的邏輯描述為S'+R'=1或R·S=0。然而,如果按照約束項(xiàng)描述方式對基本RS鎖存器的應(yīng)用做出限制,那么其電路的一些獨(dú)特的功能將會(huì)被掩蓋。如果利用波形圖描述該電路的功能,將會(huì)很好地體現(xiàn)該電路的一些特色功能,特征時(shí)序波形如圖1(b)所示。
圖1 基本RS鎖存器
首先,由圖1(b)可看出,雖然輸入端S'和R'違背約束,但是只要S'和R'不同時(shí)由邏輯0變?yōu)?,輸出端Q和Q'的狀態(tài)能夠確定。其特點(diǎn)是,S'和R'率先由邏輯0變?yōu)檫壿?所對應(yīng)與非門輸出將為邏輯0,且另外的與非門會(huì)被該輸出的邏輯0信號鎖定,使其輸出繼續(xù)保持為邏輯1,此時(shí)被鎖定的與非門另一個(gè)輸入信號不再起作用,只有當(dāng)鎖定的邏輯0信號撤銷后,該與非門的輸入信號才能起作用。顯然,該特點(diǎn)符合先申請者優(yōu)先取得權(quán)限的仲裁原則。
再有,也是需要特別闡明的不確定狀態(tài)問題。即便輸入端S'和R'均由邏輯0同時(shí)刻改變?yōu)檫壿?時(shí),輸出端Q和Q'的變化將由邏輯1狀態(tài)變?yōu)椴淮_定狀態(tài),但是該不確定狀態(tài)并不是指輸出端Q和Q'在邏輯0和1之間振蕩,而是Q和Q'其中一個(gè)輸出端必為邏輯0,另一個(gè)必為邏輯1,或者反之,只不過哪個(gè)輸出端具體能停留在邏輯0還是邏輯1狀態(tài),無法通過邏輯分析能夠預(yù)先得到具體結(jié)論,只能通過電路自行競爭后穩(wěn)定到邏輯0或1的具體狀態(tài)。正因?yàn)榛綬S鎖存器的輸入信號絕對同時(shí)請求時(shí),輸出的最終狀態(tài)是由電路競爭完成,這就為設(shè)計(jì)仲裁邏輯電路找到了一種解決方法。
利用基本RS鎖存器設(shè)計(jì)的通用仲裁電路原理結(jié)構(gòu)如圖2所示。其中,輸入整形電路是把仲裁請求信號進(jìn)行適當(dāng)?shù)奶幚?,使其給仲裁邏輯電路輸入一個(gè)高電平窄脈沖,該高電平窄脈沖持續(xù)時(shí)間要小于仲裁結(jié)果駐留時(shí)間,即在復(fù)原信號有效之前各輸入信號應(yīng)結(jié)束高電平。例如,如果是手動(dòng)開關(guān)作為仲裁請求信號,則可以用施密特門電路或者單穩(wěn)態(tài)電路把信號處理為高電平窄脈沖;如果是低電平窄脈沖的地址譯碼器輸出作為仲裁請求信號,則利用反相器即可把信號處理為高電平窄脈沖。當(dāng)然,有些應(yīng)用場合仲裁請求信號本身就是高電平窄脈沖,則可以不用輸入整形電路,即該部分是可選擇的電路,可根據(jù)輸入仲裁請求信號的實(shí)際情況添加和刪除。圖2中仲裁邏輯和結(jié)果存貯是本電路設(shè)計(jì)的關(guān)鍵,而復(fù)原電路一般都比較簡單,在討論設(shè)計(jì)仲裁邏輯和結(jié)果存貯邏輯電路的同時(shí)一并介紹復(fù)原電路。
圖2 仲裁電路原理結(jié)構(gòu)
通過上節(jié)對基本RS鎖存器特點(diǎn)的介紹,其電路具備先申請者優(yōu)先且同時(shí)申請則通過內(nèi)部競爭決定輸出邏輯狀態(tài)等特點(diǎn),按照基本RS鎖存器工作特點(diǎn)進(jìn)行擴(kuò)展設(shè)計(jì),得到多路仲裁邏輯電路,如圖3所示。圖中左側(cè)用點(diǎn)劃線圈起來的部分為仲裁邏輯電路,圖中右側(cè)n個(gè)上跳沿觸發(fā)且并行工作的D觸發(fā)器為仲裁結(jié)果存貯電路,其余為復(fù)原電路。無仲裁請求時(shí),所有的輸入X1~Xn且包括復(fù)原信號均為低電平,即邏輯0,此時(shí)仲裁邏輯電路的與非門所有輸出Y1~Yn及存貯電路D觸發(fā)器同相輸出Q1~Qn均為高電平的邏輯1狀態(tài)。電路工作原理如下。
當(dāng)需要仲裁時(shí),所對應(yīng)的輸入信號將是一個(gè)高電平窄脈沖。電路中若有兩個(gè)或兩個(gè)以上輸入信號同時(shí)出現(xiàn),則由其內(nèi)部電路的競爭確定一個(gè)信號有效,這與基本觸發(fā)器的觸發(fā)功能一致。仲裁結(jié)束后Y1~Yn中只能有一個(gè)為低電平的邏輯0狀態(tài)。
圖3 多路仲裁及結(jié)果存貯邏輯電路
當(dāng)出現(xiàn)仲裁結(jié)果,即Y1~Yn中出現(xiàn)唯一低電平邏輯0狀態(tài)時(shí),CP將產(chǎn)生一個(gè)上跳沿,該上跳沿作為n個(gè)并行工作D觸發(fā)器的時(shí)鐘信號,使n個(gè)D觸發(fā)器接受所對應(yīng)的輸入Y1~Yn信號,并進(jìn)行存貯,且通過其同相Q1~Qn和反相Q'1~Q'n端輸出所存貯仲裁結(jié)果,該仲裁結(jié)果的邏輯狀態(tài)可供后續(xù)電路使用,或控制相應(yīng)電路動(dòng)作,或提供狀態(tài)查詢。
仲裁結(jié)果被存貯后,通過圖3電路中的與門,將輸出低電平邏輯0信號,該信號作用于仲裁邏輯電路使其復(fù)原,提前準(zhǔn)備好下一次仲裁,當(dāng)輸入的復(fù)原信號高電平窄脈沖結(jié)束后,便可進(jìn)行下一次仲裁。
再有,如果對圖3稍加改造,如再向右擴(kuò)展一組或多組n個(gè)上跳沿觸發(fā)且并行工作的D觸發(fā)器,并且利用仲裁結(jié)果輸出信號,對同時(shí)請求仲裁而競爭失敗輸入信號進(jìn)行適當(dāng)處理,還可以設(shè)計(jì)出排隊(duì)式存貯仲裁結(jié)果的邏輯電路,可進(jìn)一步提高仲裁電路功能。由于篇幅有限,此處不再贅述。
為了驗(yàn)證設(shè)計(jì)的正確性,利用Maxplus II仿真軟件環(huán)境,在不失一般性前提下按照圖3的工作原理,構(gòu)建了四輸入仲裁邏輯電路,仿真結(jié)果見圖4所示。通過仿真可以看出,無論仲裁請求是否有先后或者是同時(shí),仲裁結(jié)果只能有一個(gè)勝出,且先申請者優(yōu)先,同時(shí)申請時(shí)電路通過內(nèi)部競爭確定勝出者,驗(yàn)證了該設(shè)計(jì)的可行性和正確性。
圖4 四輸入仲裁邏輯電路仿真結(jié)果
本文介紹的仲裁邏輯電路還可以用于多CPU共享存貯器、共享傳輸總線以及數(shù)字式搶答器等方面。本文留給讀者的啟迪是,要學(xué)會(huì)用辯證的方式思考,要善于分析問題的各種因素和特點(diǎn),并抓住其實(shí)質(zhì),表面看似不利的因素往往有它獨(dú)有的特點(diǎn),應(yīng)充分發(fā)揮這些特點(diǎn)去解決實(shí)際問題。
本文介紹的仲裁邏輯電路就是巧妙地利用基本RS鎖存器輸入信號由違反約束條件變化成符合約束條件的瞬間,其輸出立即會(huì)變化成穩(wěn)定的互斥狀態(tài)的特點(diǎn),設(shè)計(jì)出多個(gè)輸入信號競爭時(shí)只有一個(gè)有效狀態(tài)輸出的仲裁邏輯電路?!皵?shù)字電子技術(shù)基礎(chǔ)”或“數(shù)字邏輯基礎(chǔ)”課程中有很多類似的問題,例如,主從JK觸發(fā)器有所謂的“一次性跳變”特點(diǎn),難道這僅僅是主從JK觸發(fā)器的缺點(diǎn)嗎?回答是否定的。該特點(diǎn)完全能夠被利用,以解決其它電路無法解決的實(shí)際問題,這需要讀者在遇到實(shí)際問題并尋找解決方案時(shí)自行體會(huì)。
[1]馬永軍,彭建學(xué),湯天浩,等.一種大容量雙口RAM接口電路的設(shè)計(jì)[J].北京:中國儀器儀表,2007,(11):33-35.
[2]劉開緒.數(shù)字式搶答器的設(shè)計(jì)與實(shí)現(xiàn)[J].南京:電子工程師,2005,31(9):69-71.
[3]寧志剛,黃智偉,唐 慧,等.八位數(shù)顯搶答器課程設(shè)計(jì)方法研討[J].上海:實(shí)驗(yàn)室研究與探索,2009,28(1):65-67.
[4]王冬梅,張建秋.基于單片機(jī)的八路搶答器設(shè)計(jì)與實(shí)現(xiàn)[J].佳木斯:佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,27(3):350-352.
[5]劉永強(qiáng).多單片機(jī)共享存貯器仲裁電路的一種設(shè)計(jì)方法[J].北京:微計(jì)算機(jī)信息,2001,17(2):73-74.
[6]熊建,熊光澤.一種高可信賴測控計(jì)算機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[J].北京:單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005,(2):20-23.
[7]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版)[M].北京:高等教育出版社,2006.
[8]陳光夢.數(shù)字邏輯基礎(chǔ)(第三版)[M].上海:復(fù)旦大學(xué)出版社,2009.