1.形成原始狀態(tài)圖和原始狀態(tài)表
原始狀態(tài)圖和原始狀態(tài)表是對(duì)設(shè)計(jì)要求的最原始的抽象,是構(gòu)造相應(yīng)電路的依據(jù)。因此,建立正確的原始狀態(tài)圖和狀態(tài)表是同步時(shí)序電路設(shè)計(jì)中最關(guān)鍵的一步。
原始狀態(tài)圖的形成是建立在對(duì)設(shè)計(jì)要求充分理解的基礎(chǔ)之上的,設(shè)計(jì)者必須對(duì)給定的問(wèn)題進(jìn)行認(rèn)真、全面地分析,弄清楚電路輸出和輸入的關(guān)系以及狀態(tài)的轉(zhuǎn)換關(guān)系。一般應(yīng)考慮如下3個(gè)問(wèn)題:
① 確定電路模型
將電路設(shè)計(jì)成mealy型 還是 moore型?有的問(wèn)題已由設(shè)計(jì)要求規(guī)定,有的問(wèn)題可由設(shè)計(jì)者選擇。不同的模型對(duì)應(yīng)的電路結(jié)構(gòu)不同,設(shè)計(jì)者在選擇時(shí),應(yīng)根據(jù)問(wèn)題中的信號(hào)形式、電路所需器件的多少等綜合考慮。
② 設(shè)立初始狀態(tài)
時(shí)序邏輯電路在輸入信號(hào)開(kāi)始作用之前的狀態(tài)稱為初始狀態(tài)。在建立原始狀態(tài)圖時(shí),應(yīng)首先設(shè)立初始狀態(tài),然后從初始狀態(tài)出發(fā)考慮在各種輸入作用下的狀態(tài)轉(zhuǎn)移和輸出響應(yīng)。
③ 根據(jù)需要記憶和區(qū)分的信息設(shè)立狀態(tài)
在建立原始狀態(tài)圖時(shí),應(yīng)該根據(jù)問(wèn)題中要求記憶和區(qū)分的信息去考慮設(shè)立每一個(gè)狀態(tài)。一般來(lái)說(shuō),若在某個(gè)狀態(tài)下出現(xiàn)的輸入信號(hào)能用已有狀態(tài)表示,則應(yīng)轉(zhuǎn)向已有狀態(tài)。僅當(dāng)某個(gè)狀態(tài)下出現(xiàn)的輸入信號(hào)不能用已有狀態(tài)表示時(shí),才令其轉(zhuǎn)向新的狀態(tài)。這樣,從初始狀態(tài)出發(fā),逐個(gè)增加和完善,直到每個(gè)狀態(tài)下各種輸入取值均已考慮而沒(méi)有新的狀態(tài)出現(xiàn)為止。
④ 確定各時(shí)刻電路的輸出
時(shí)序邏輯電路的功能是通過(guò)輸出對(duì)輸入的響應(yīng)來(lái)體現(xiàn)的。在建立原始狀態(tài)圖時(shí),必須確定各時(shí)刻的輸出值。在moore型電路中,應(yīng)指明每種狀態(tài)下對(duì)應(yīng)的輸出;在mealy型電路中應(yīng)指明從每一個(gè)狀態(tài)出發(fā),在不同輸入作用下的輸出值。
2.狀態(tài)化簡(jiǎn)碼
① 什么叫狀態(tài)化簡(jiǎn)? 所謂狀態(tài)化簡(jiǎn),是指采用某種化簡(jiǎn)技術(shù)從原始狀態(tài)表中消去多余狀態(tài),得到一個(gè)既能正確地描述給定的邏輯功能,又能使所包含的狀態(tài)數(shù)目達(dá)到最少的狀態(tài)表,通常稱這種狀態(tài)表為最小化狀態(tài)表。
② 目的:簡(jiǎn)化電路結(jié)構(gòu)。狀態(tài)數(shù)目的多少直接決定電路中所需觸發(fā)器數(shù)目的多少。設(shè)狀態(tài)數(shù)目為n,所需觸發(fā)器數(shù)目為m,則應(yīng)滿足如下關(guān)系:
為了降低電路的復(fù)雜性和電路成本,應(yīng)盡可能狀態(tài)表中包含的狀態(tài)數(shù)達(dá)到最少。
③ 方法:常用方法有觀擦法、輸出分類(lèi)法、隱含表法等。最常用的一種方法----隱含表法。
④相關(guān)概念
完全確定狀態(tài)表的化簡(jiǎn)是建立在狀態(tài)等效的概念基礎(chǔ)之上的。必須熟悉如下幾個(gè)概念:
● 等效狀態(tài)
定義:設(shè)狀態(tài)si和sj是完全確定狀態(tài)表中的兩個(gè)狀態(tài),若對(duì)于所有可能的輸入序列,分別從狀態(tài)si和狀態(tài)sj出發(fā),所得到的輸出響應(yīng)序列完全相同,則狀態(tài)si和sj是等效的,記作(si,sj),又稱狀態(tài)si和sj 為等效對(duì)。
判斷:若狀態(tài)si和sj 是完全確定的原始狀態(tài)表中的兩個(gè)現(xiàn)態(tài),則si和sj 等效的條件可歸納為在一位輸入的各種取值組合下滿足兩條: 第一,輸出相同;第二,次態(tài)相同、次態(tài)交錯(cuò)、次態(tài)為各自的現(xiàn)態(tài)、次態(tài)循環(huán)或?yàn)榈刃?duì)。
性質(zhì):等效狀態(tài)具有傳遞性。
● 等效類(lèi):由若干彼此等效的狀態(tài)構(gòu)成的集合。在同一個(gè)等效類(lèi)中的任意兩個(gè)狀態(tài)都是等效的。
● 最大等效類(lèi):所謂最大等效類(lèi),是指不被任何別的等效類(lèi)所包含的等效類(lèi)。這里所指的最大,并不是指包含的狀態(tài)最多,而是指它的獨(dú)立性,即使是一個(gè)狀態(tài),只要它不被包含在別的等效類(lèi)中,也是最大等效類(lèi)。換而言之,如果一個(gè)等效類(lèi)不是任何其他等效類(lèi)的子集, 則該等效類(lèi)被稱為最大等效類(lèi)。
⑤化簡(jiǎn)步驟
采用隱含表化簡(jiǎn)原始狀態(tài)表的的一般步驟如圖1所示。
圖1
3.狀態(tài)編碼
狀態(tài)編碼是指給最簡(jiǎn)狀態(tài)表中用字母或數(shù)字表示的狀態(tài),指定一個(gè)二進(jìn)制代碼,將其轉(zhuǎn)換成二進(jìn)制狀態(tài)表,以便與電路中觸發(fā)器的狀態(tài)對(duì)應(yīng)。狀態(tài)編碼也稱狀態(tài)分配,或者狀態(tài)賦值。
狀態(tài)編碼的任務(wù)是:
① 確定二進(jìn)制代碼的位數(shù)(即所需觸發(fā)器個(gè)數(shù));
設(shè)最簡(jiǎn)狀態(tài)表中的狀態(tài)數(shù)為n,二進(jìn)制代碼的長(zhǎng)度為m,則狀態(tài)數(shù)n與二進(jìn)制代碼長(zhǎng)度m的關(guān)系為
② 尋找一種最佳的或接近最佳的狀態(tài)分配方案
在二進(jìn)制代碼的位數(shù)確定之后,具體狀態(tài)與代碼之間的對(duì)應(yīng)關(guān)系可以有許多種方案。設(shè)計(jì)者應(yīng)尋找一種最佳的或接近最佳的狀態(tài)分配方案,以便使電路最簡(jiǎn)單。在實(shí)際工作中,工程技術(shù)人員通常按照一定的原則、憑借設(shè)計(jì)經(jīng)驗(yàn)去尋找相對(duì)最佳的編碼方案,一種常用的編碼方法稱為相鄰編碼法。
相鄰編碼法的狀態(tài)編碼原則如下:
★ 在相同輸入條件下,具有相同次態(tài)的現(xiàn)態(tài)應(yīng)盡可能分配相鄰的二進(jìn)制代碼;
★ 在相鄰輸入條件下,同一現(xiàn)態(tài)的次態(tài)應(yīng)盡可能分配相鄰的二進(jìn)制代碼;
★ 輸出完全相同的現(xiàn)態(tài)應(yīng)盡可能分配相鄰的二進(jìn)制代碼。
此外,從電路實(shí)際工作狀態(tài)考慮,一般將初始狀態(tài)分配為“0”狀態(tài)。
4.確定觸發(fā)器數(shù)目和類(lèi)型
狀態(tài)編碼后,可根據(jù)二進(jìn)制狀態(tài)表中二進(jìn)制代碼的位數(shù)確定電路中所需觸發(fā)器數(shù)目,所需觸發(fā)器數(shù)目等于二進(jìn)制代碼的位數(shù)。觸發(fā)器類(lèi)型可根據(jù)問(wèn)題的要求確定,當(dāng)問(wèn)題中沒(méi)有具體要求時(shí),可由設(shè)計(jì)者挑選。
5.確定激勵(lì)函數(shù)和輸出函數(shù)表達(dá)式
觸發(fā)器類(lèi)型確定后,應(yīng)根據(jù)二進(jìn)制狀態(tài)表和所選觸發(fā)器的激勵(lì)表,求出觸發(fā)器的激勵(lì)函數(shù)表達(dá)式和電路的輸出函數(shù)表達(dá)式,并予以化簡(jiǎn)。激勵(lì)函數(shù)表達(dá)式和輸出函數(shù)表達(dá)式的復(fù)雜度決定了同步時(shí)序電路中組合邏輯部分的復(fù)雜度。
6.畫(huà)出邏輯電路圖
最后,根據(jù)觸發(fā)器數(shù)目和類(lèi)型實(shí)現(xiàn)存儲(chǔ)電路部分,根據(jù)激勵(lì)函數(shù)和輸出函數(shù)的最簡(jiǎn)表達(dá)式選擇合適的邏輯門(mén)實(shí)現(xiàn)組合邏輯部分,畫(huà)出完整的邏輯電路圖。
以上步驟是就一般設(shè)計(jì)問(wèn)題而言的。實(shí)際中設(shè)計(jì)者可以根據(jù)具體問(wèn)題靈活掌握,在實(shí)際設(shè)計(jì)過(guò)程中不必拘泥于固定的步驟。