MDS圖(Memonic Document State Diagram,可譯為助記狀態(tài)圖,或備有記憶文檔的狀態(tài)圖)是美國的Wi11iam Fletcher于1980年提出的一種系統(tǒng)設計方法,MDS圖可從詳細邏輯流程圖直接導出,依據(jù)它可較直觀、方便地進行電路級的設計。
MDS圖的主要優(yōu)點是:①它可由詳細邏輯流程圖按給定規(guī)則直接轉(zhuǎn)換得到,形式規(guī)范;②MDS圖類似于時序電路的狀態(tài)圖(或稱為狀態(tài)轉(zhuǎn)移圖),因而比較容易接受和掌握;③它與硬件有良好的對應關系,可以清楚地反映出邏輯電路應提供多少個狀態(tài)值,各個狀態(tài)之間的轉(zhuǎn)換必須符合什么條件,在狀態(tài)轉(zhuǎn)換時需要哪些輸入信號,何時產(chǎn)生輸出信號,輸出信號應該以何種方式輸出等等要求,依據(jù)這些要求便可以設計出符合數(shù)字系統(tǒng)邏輯關系的邏輯電路。
MDS圖的缺點是:①它不能將器件的時延影響反映出來,設計電路時要求設計者在MDS圖反映的邏輯關系之外附加消除時延影響的電路;②它描述的系統(tǒng)規(guī)模不能太大,狀態(tài)不能太多。
當詳細邏輯流程圖畫好后,應該遵循下列規(guī)則將其轉(zhuǎn)換為MDS圖。
(1)將工作框轉(zhuǎn)換為狀態(tài)助記符:用圓來表示某一狀態(tài),稱為狀態(tài)圓,圓中的字母為狀態(tài)值的助記符,用來區(qū)別不同的狀態(tài)。
(2)判斷框轉(zhuǎn)換為分支助記符:當判斷框轉(zhuǎn)換為分支符號后,判斷條件中的參數(shù)要用字母來表示,判斷條件用邏輯表達式表示(與或式),邏輯表達式放置在分支旁邊,稱為分支條件;若流程圖兩個相鄰的工作框之間沒有判斷框,則對應的分支旁邊無分支表達式,這種分支稱為無條件分支。不管原流程圖中兩個工作框之間原有多少個判斷框,當轉(zhuǎn)換為MDS圖時只允許有一個分支。
(3)多個判斷框轉(zhuǎn)換為條件分支助記符:在流程圖中,兩個工作框之間如果存在前后連續(xù)的多個判斷框,表示這些判斷條件必須同時滿足(即在邏輯上相當“與”運算)時,邏輯操作才能轉(zhuǎn)換至下面的工作框。
(4)含有異步輸入信號的判斷條件的轉(zhuǎn)換:在畫詳細邏輯圖時必須對異步輸入信號進行同步化處理,并且規(guī)定在兩個工作框之間只允許存在一個異步輸入信號,當兩個工作框之間多于-個異步輸入信號時,必須增加工作框,以免丟失某些異步輸入信號。在詳細邏輯流程圖中,在判斷框中的邏輯符號“*”表明在判斷條件中存在異步輸入信號,當將詳細邏輯流程圖轉(zhuǎn)換為MDS圖時,應在狀態(tài)圖中標注“*”,表明分支條件中存在異步輸入信號。
(5)輸出信號轉(zhuǎn)換為助記符:詳細邏輯流程圖中的輸出信號有脈沖輸出信號、輸出有效、輸出無效和條件輸出信號等4種。這些輸出信號是標注在工作框或條件輸出框內(nèi)的,也可以標注在工作框或條件輸出框的框外的右側(cè),在轉(zhuǎn)換為MDS圖后,它們均應標注在狀態(tài)圓的旁邊。脈沖輸出信號的助記符形式為Z↑↓,放置在狀態(tài)圓外側(cè),它表明進入該狀態(tài)圓后輸出信號Z為1,脫離該狀態(tài)后Z=0,信號z輸出的脈沖寬度與該狀態(tài)的存在時間相同;輸出信號有效的助記符形式為Z↑,它表明進入該狀態(tài)圓后輸出Z為1(有效),并一直保持輸出為1,直到遇到另一個要求該輸出無效的狀態(tài)圓再變?yōu)?,z有效輸出的持續(xù)時間(脈沖寬度)為令其有效的狀態(tài)圓至令其無效的狀態(tài)圓之間邏輯操作時間的總和;輸出信號無效的助記符形式為Z↓,它表明進入該狀態(tài)圓后某輸出信號為0(無效),并一直保持輸出為0,直到遇到另一個要求該輸出有效的狀態(tài)圓為止;條件輸出信號通過邏輯表達式的形式來表示,如條件輸出信號Z的存在有兩個條件:一是要求邏輯進程已進入某個工作框;二是還必須滿足某一條件,如“X=1”,那么,在將該條件輸出信號轉(zhuǎn)換為MDS圖的助記符時,該信號的形式為Z↑↓=S1.X.S1.X是邏輯“與”運算表達式。
(6)輸出信號的表格表達形式:在有些情況下,電路設計人員也采用表格形式表達在何時產(chǎn)生輸出信號,即將各個狀態(tài)及對應的輸出用表格的形式表達出來。在做MDS圖時應注意下列事項:①兩個狀態(tài)圓符之間只允許有一個分支:MDS圖中任意兩個相鄰的狀態(tài)圓之間只容許有一個分支,從邏輯關系上講,狀態(tài)圓之間并行的分支是“或”運算的關系,故將兩個分支合并為一個,再用“或”運算符將兩個分支條件合并為一個“與或”表達式。②條件輸出信號標注在當前狀態(tài)圓旁邊:在詳細邏輯流程圖中,條件輸出信號框畫在兩個工作框之間,在轉(zhuǎn)換為MDS圖后必須畫在狀態(tài)圓旁邊,另外,還要注意不要錯選了狀態(tài)圓,條件輸出信號應畫在條件輸出框之前的狀態(tài)圓旁邊。③輸入輸出實際有效電平的處理:對于初學者,最好先不要考慮實際的有效電平,應該先按規(guī)則將詳細邏輯流程圖轉(zhuǎn)換為MDS圖,然后再根據(jù)器件的具體型號,逐個明確各個輸入和輸出信號的實際有效電平。④詳細邏輯流程圖中多個相連的判斷條件轉(zhuǎn)換為MDS圖后,成為MDS圖上一個分支條件“與”運算的不同變量。
如圖1是某電路的狀態(tài)圖及其對應的MDS圖,如圖2是一個乘法器中控制器的詳細邏輯流程圖及對應的MDS圖。
如圖1 某電路的狀態(tài)圖及其對應的MDS圖
如圖2 一個乘法器中控制器的詳細邏輯流程圖及對應的MDS圖
來源:ks991次