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