




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章Verilog有限狀態(tài)機設(shè)計
1第八章Verilog有限狀態(tài)機設(shè)計8.1VerilogHDL有限狀態(tài)機的一般形式8.2Moore型有限狀態(tài)機設(shè)計8.3Mealy型有限狀態(tài)機設(shè)計8.4SystemVerilog的枚舉類型應(yīng)用8.5狀態(tài)機圖形編輯設(shè)計方法8.6狀態(tài)編碼8.7非法狀態(tài)處理8.8硬件數(shù)字技術(shù)排除毛刺主要內(nèi)容28.1VerilogHDL有限狀態(tài)機的一般形式主要內(nèi)容有限狀態(tài)機是由寄存器組和組合邏輯構(gòu)成的硬件時序電路;其狀態(tài)(即由寄存器組的1和0的組合狀態(tài)所構(gòu)成的有限個狀態(tài))只能在同一時鐘跳變沿的情況下才能從一個狀態(tài)轉(zhuǎn)向另一個狀態(tài);究竟轉(zhuǎn)向哪一狀態(tài)不但取決于各個輸入值,還取決于當(dāng)前狀態(tài)。狀態(tài)機可用于產(chǎn)生在時鐘跳變沿時刻開關(guān)的復(fù)雜的控制邏輯,是數(shù)字邏輯的控制核心。8.1VerilogHDL有限狀態(tài)機的一般形式3有限狀態(tài)機是由寄存器組和組合邏輯構(gòu)成的硬件時序電路;8.1高效的順序控制模型:狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。容易利用現(xiàn)成的EDA優(yōu)化工具。性能穩(wěn)定:狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊。設(shè)計實現(xiàn)效率高:狀態(tài)機的HDL表述豐富多樣、程序?qū)哟畏置?,易讀易懂。高速性能:在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。高可靠性。8.1.1為什么要使用狀態(tài)機4高效的順序控制模型:狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不8.1.2有限狀態(tài)機的結(jié)構(gòu)分類:從狀態(tài)機的信號輸出方式上:Mealy型與Moore型。米利機的下一狀態(tài)和輸出取決于當(dāng)前狀態(tài)和當(dāng)前輸入;摩爾機的下一狀態(tài)取決于當(dāng)前狀態(tài)和當(dāng)前輸入,但其輸出僅取決于當(dāng)前狀態(tài)。狀態(tài)機的描述結(jié)構(gòu)上:單過程狀態(tài)機與多過程狀態(tài)機。從狀態(tài)表達方式:符號化狀態(tài)機和確定狀態(tài)編碼的狀態(tài)機。狀態(tài)編碼方式上分:順序編碼狀態(tài)機、一位熱碼編碼狀態(tài)機或其它編碼狀態(tài)機58.1.2有限狀態(tài)機的結(jié)構(gòu)分類:5狀態(tài)機的結(jié)構(gòu)說明部分
狀態(tài)轉(zhuǎn)換變量的定義和所有可能狀態(tài)的說明,必要時還要確定每一狀態(tài)的編碼形式。包括4個部分:說明部分、主控時序過程、主控組合過程、輔助過程說明:用參數(shù)parameter來定義各狀態(tài)的,其中各狀態(tài)的取值或編碼必須寫上。typedef是用戶自定義語句關(guān)鍵詞,enum是定義枚舉類型關(guān)鍵詞,type_user是標(biāo)示符。2.主控時序過程(REG進程)
負責(zé)狀態(tài)機運行和在時鐘驅(qū)動下負責(zé)狀態(tài)轉(zhuǎn)換的過程。6狀態(tài)機的結(jié)構(gòu)說明部分包括4個部分:說明部分、主控時序過程、主3.主控組合進程(COM進程)
主控組合過程也可稱為狀態(tài)譯碼過程,其任務(wù)是根據(jù)外部輸入的控制信號(包括來自狀態(tài)機外部的信號和來自狀態(tài)機內(nèi)部其它非主控的組合或時序過程的信號)以及當(dāng)前狀態(tài)的狀態(tài)值確定下一狀態(tài)(next_state)的取向,即next_state的取值內(nèi)容,以及確定對外輸出或?qū)?nèi)部其它組合時序過程輸出控制信號的內(nèi)容。73.主控組合進程(COM進程)74.輔助進程
配合狀態(tài)機工作的組合過程或時序過程。時序過程只負責(zé)將當(dāng)前狀態(tài)轉(zhuǎn)換為下一狀態(tài),不管將要轉(zhuǎn)換的是哪一個狀態(tài)。84.輔助進程時序過程只負責(zé)將當(dāng)前狀態(tài)轉(zhuǎn)換為下一狀態(tài),不管將99rst是低電平有效,clk是上升沿有效。觀察輸入信號0到3的變化,此例是Moore還是Mealy型?10rst是低電平有效,clk是上升沿有效。108.1.3狀態(tài)機設(shè)計初始控制與表述
(1)打開“狀態(tài)機萃取”開關(guān)。
118.1.3狀態(tài)機設(shè)計初始控制與表述(1)打開“狀態(tài)機萃1212(2)關(guān)于參數(shù)定義表述用parameter進行參數(shù)定義雖然十分必要,一旦打來狀態(tài)機萃取開關(guān),狀態(tài)定義可以十分隨意。定義什么值都可以。(3)狀態(tài)變量定義表述
13(2)關(guān)于參數(shù)定義表述用parameter進行參數(shù)定義雖然8.2Moore型有限狀態(tài)機的設(shè)計
Mealy狀態(tài)機:輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。不依賴時鐘同步。Moore狀態(tài)機:輸出僅為當(dāng)前狀態(tài)的函數(shù),所以在輸入發(fā)生變化時還要等待時鐘的到來,所以比機要多等待一個時鐘周期。148.2Moore型有限狀態(tài)機的設(shè)計Mealy狀態(tài)機:輸8.2.1ADC采樣控制設(shè)計及多過程結(jié)構(gòu)型狀態(tài)機
START:轉(zhuǎn)換啟動信號,高電平有效。ALE:模擬信號輸入選通端口地址鎖存信號。上升沿有效。EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)送給狀態(tài)機的信號。OE:輸出允許信號,高電平有效,表示轉(zhuǎn)換結(jié)束可以把結(jié)果輸出去了。158.2.1ADC采樣控制設(shè)計及多過程結(jié)構(gòu)型狀態(tài)機STA1616EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)送給狀態(tài)機的信號。17EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)1818接上頁19接上頁19過程:復(fù)位信號后進入狀態(tài)s0;第二個clk上升沿后,狀態(tài)機進入s1,由START、ALE發(fā)出啟動采樣和地址選通的控制信號,之后EOC進入了低電平,0809的8位數(shù)據(jù)輸出端出現(xiàn)高阻態(tài)”ZZ”,在狀態(tài)s2等待了數(shù)個CLK后,EOC變?yōu)楦唠娖?,表示轉(zhuǎn)換結(jié)束。進入s3狀態(tài)后,OE變?yōu)楦唠娖?,此時0809的數(shù)據(jù)輸出端D已經(jīng)輸出轉(zhuǎn)換好的5EH。在狀態(tài)s4,LOCK_T發(fā)出一個脈沖,其上升沿立即將D端數(shù)據(jù)5E鎖入Q和REGL中。20過程:20把例8-2中的組合過程可以分成兩個組合過程:一個負責(zé)狀態(tài)譯碼和狀態(tài)轉(zhuǎn)換。另一個負責(zé)對外控制信號的輸出。分開寫如下:21把例8-2中的組合過程可以分成兩個組合過程:218.2.2序列檢測器之狀態(tài)機設(shè)計
8位序列數(shù)“11010011”高位在前左移進入檢測器后,如次數(shù)與預(yù)置的密碼數(shù)相同,則輸出1,否則輸出09個參數(shù)的定義很隨意228.2.2序列檢測器之狀態(tài)機設(shè)計8位序列數(shù)“11010232324248.3Mealy型有限狀態(tài)機的設(shè)計
Mealy狀態(tài)機:輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。不依賴時鐘同步。與Moore狀態(tài)機不同之處在于組合過程中的輸出信號是當(dāng)前狀態(tài)和當(dāng)前輸入的函數(shù)。例8-5:狀態(tài)轉(zhuǎn)換方式由DIN1信號控制,對外控制信號碼的輸出由DIN2控制258.3Mealy型有限狀態(tài)機的設(shè)計Mealy狀態(tài)機:輸2626輸出信號有毛刺。因為輸出信號不隨時鐘clk同步。改進一下:設(shè)計成只有一個always過程的狀態(tài)機。27輸出信號有毛刺。因為輸出信號不隨時鐘clk同步。2728282929輸出信號沒有毛刺了。30輸出信號沒有毛刺了。30例8-7是把例8-4的雙過程改為單過程了。把輸出與時鐘同步這是去毛刺的辦法。31例8-7是把例8-4的雙過程改為單過程了。把輸出與時鐘同步這8.4SystemVerilog的枚舉類型應(yīng)用
把例8-4的狀態(tài)變量改為如下枚舉類型:保存類型為.sv328.4SystemVerilog的枚舉類型應(yīng)用把例8-8.5狀態(tài)機圖形編輯設(shè)計方法
338.5狀態(tài)機圖形編輯設(shè)計方法3334343535363637373838393940408.6狀態(tài)編碼
給狀態(tài)編上碼。8.6.1直接輸出型編碼
418.6狀態(tài)編碼給狀態(tài)編上碼。8.6.1直接輸計數(shù)器:計數(shù)輸出就是各狀態(tài)的狀態(tài)碼。當(dāng)計數(shù)到m時,采用異步清0的方式可以模m計數(shù)器。當(dāng)計數(shù)到m時,采用同步清0的方式可以模m+1計數(shù)器。當(dāng)把狀態(tài)編碼直接輸出作為控制信號,即out=state。狀態(tài)碼直接輸出型狀態(tài)機。42計數(shù)器:計數(shù)輸出就是各狀態(tài)的狀態(tài)碼。當(dāng)把狀態(tài)編碼直接輸出作為4343說明:優(yōu)點:輸出速度快,不大可能出現(xiàn)毛刺。缺點:可讀性差、用于狀態(tài)譯碼的組合邏輯資源比其他形同觸發(fā)器數(shù)量構(gòu)成的狀態(tài)機多、控制非法狀態(tài)出現(xiàn)的容錯技術(shù)高。44說明:44用宏定義‘define來定義狀態(tài)元素。放在模塊外面,是全局變量,可以在不同模塊里通用。優(yōu)點:在波形里面直接可以看到這些編碼45用宏定義‘define來定義狀態(tài)元素。放在模塊外面,是全局變8.6.2宏定義命令語句`define
用宏定義命令語句`define定義的標(biāo)示符,在使用的時候要加上’.宏定義的語句末尾不需要加分號。468.6.2宏定義命令語句`define用宏定義命令語8.6.3順序編碼
優(yōu)點:觸發(fā)器少,剩余的非法狀態(tài)也少。容錯技術(shù)簡單。缺點:狀態(tài)譯碼麻煩,占用組合邏輯電路多,容易出現(xiàn)毛刺。保密性差,不適合軍用。對CPLD合適:組合電路多,觸發(fā)器少。不適合FPGA設(shè)計。478.6.3順序編碼優(yōu)點:觸發(fā)器少,剩余的非法狀態(tài)也少。8.6.4一位熱碼狀態(tài)編碼一位熱碼編碼:n個觸發(fā)器來實現(xiàn)具有n個狀態(tài)的狀態(tài)機。狀態(tài)機中的每一個狀態(tài)都由其中一個觸發(fā)器的狀態(tài)表示。即當(dāng)處于該狀態(tài)時,對用的觸發(fā)器是1,其余觸發(fā)器都是0.優(yōu)點:譯碼速度快,轉(zhuǎn)換速度快,提高了系統(tǒng)穩(wěn)定性。適合FPGA設(shè)計。QuartusII中是默認的編碼方式。488.6.4一位熱碼狀態(tài)編碼一位熱碼編碼:n個觸發(fā)器來實現(xiàn)8.6.5狀態(tài)編碼設(shè)置1.用戶自定義方式2.用屬性定義語句設(shè)置498.6.5狀態(tài)編碼設(shè)置1.用戶自定義方式2.用屬50503.直接設(shè)置方法
513.直接設(shè)置方法518.7非法狀態(tài)處理
s5,s6,s7是非法狀態(tài)。528.7非法狀態(tài)處理s5,s6,s7是非法狀態(tài)。528.7.1程序直接導(dǎo)引法
說明:不要太依賴default語句。適合順序編碼的狀態(tài)機538.7.1程序直接導(dǎo)引法說明:不要太依賴default8.7.2狀態(tài)編碼監(jiān)測法
一位熱鍵編碼方式設(shè)計的狀態(tài)機。把狀態(tài)的每一位相加看結(jié)果如果大于1,發(fā)出一個警告信號alarm,系統(tǒng)根據(jù)此決定是否要轉(zhuǎn)向或者復(fù)位8.7.3借助EDA優(yōu)化控制工具生成安全狀態(tài)機
(*syn_encoding=“safe,one-hot”*)548.7.2狀態(tài)編碼監(jiān)測法一位熱鍵編碼方式設(shè)計的狀態(tài)機。8.8硬件數(shù)字技術(shù)排除毛刺
8.8.1延時方式去毛刺
現(xiàn)代方式的延時不采用組合邏輯,而是采用觸發(fā)器、寄存器等時序元件對輸入輸出電路通道上的信號進行適當(dāng)?shù)难訒r或延時采樣。,使處理過的信號在輸出后能避開毛刺。時序電路中最常用。558.8硬件數(shù)字技術(shù)排除毛刺8.8.1延時方式去毛刺特點:只能除去數(shù)據(jù)或者是時鐘單邊沿的毛刺。延時時鐘周期信號的周期應(yīng)該與主通道上面的輸入數(shù)據(jù)時序?qū)挾然驎r鐘的周期有較好的配合。56特點:568.8.2邏輯方式去毛刺
實質(zhì)就是一個過濾器:,將信號中的毛刺、隨機噪聲或電子抖動信號過濾掉,只讓真正的信號通過。578.8.2邏輯方式去毛刺實質(zhì)就是一個過濾器:,將信號中特點:輸出脈沖寬度變小了。信號有一個延遲。CLK的頻率應(yīng)該足夠高,至少4個上升沿被包含在正常信號脈寬里面。CLK的頻率不能太高,不能太小于干擾信號的頻率。增加D觸發(fā)器的數(shù)量,可以提高濾波性能。58特點:588.8.3定時方式去毛刺
用兩個計數(shù)器分別對輸入信號的高低電平的持續(xù)時間進行計數(shù),只有當(dāng)時間大于某個值時,則判斷為遇到正常信號。輸出1或0598.8.3定時方式去毛刺用兩個計數(shù)器分別對輸入信號的高特點:輸出信號的脈寬比邏輯方式輸出的信號寬很多。KH與KL的計數(shù)位寬可以視具體情況而定。60特點:60CPU總是按照一定的時鐘節(jié)拍與時序工作:振蕩周期/時鐘周期:Tc=晶振頻率fosc(或外加頻率)的倒數(shù)狀態(tài)周期:Ts=2個時鐘周期(Tc)(很少用到此概念)機器周期:Tm=6個狀態(tài)周期(Ts)=12個振蕩周期(Tc)指令周期:
Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù)牢牢記?。赫袷幹芷?晶振頻率fosc的倒數(shù);
1個機器周期=12個振蕩周期;
1個指令周期=1、2、4個機器周期61CPU總是按照一定的時鐘節(jié)拍與時序工作:振蕩周期/時鐘周期:第八章Verilog有限狀態(tài)機設(shè)計
62第八章Verilog有限狀態(tài)機設(shè)計8.1VerilogHDL有限狀態(tài)機的一般形式8.2Moore型有限狀態(tài)機設(shè)計8.3Mealy型有限狀態(tài)機設(shè)計8.4SystemVerilog的枚舉類型應(yīng)用8.5狀態(tài)機圖形編輯設(shè)計方法8.6狀態(tài)編碼8.7非法狀態(tài)處理8.8硬件數(shù)字技術(shù)排除毛刺主要內(nèi)容638.1VerilogHDL有限狀態(tài)機的一般形式主要內(nèi)容有限狀態(tài)機是由寄存器組和組合邏輯構(gòu)成的硬件時序電路;其狀態(tài)(即由寄存器組的1和0的組合狀態(tài)所構(gòu)成的有限個狀態(tài))只能在同一時鐘跳變沿的情況下才能從一個狀態(tài)轉(zhuǎn)向另一個狀態(tài);究竟轉(zhuǎn)向哪一狀態(tài)不但取決于各個輸入值,還取決于當(dāng)前狀態(tài)。狀態(tài)機可用于產(chǎn)生在時鐘跳變沿時刻開關(guān)的復(fù)雜的控制邏輯,是數(shù)字邏輯的控制核心。8.1VerilogHDL有限狀態(tài)機的一般形式64有限狀態(tài)機是由寄存器組和組合邏輯構(gòu)成的硬件時序電路;8.1高效的順序控制模型:狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。容易利用現(xiàn)成的EDA優(yōu)化工具。性能穩(wěn)定:狀態(tài)機容易構(gòu)成性能良好的同步時序邏輯模塊。設(shè)計實現(xiàn)效率高:狀態(tài)機的HDL表述豐富多樣、程序?qū)哟畏置?,易讀易懂。高速性能:在高速運算和控制方面,狀態(tài)機更有其巨大的優(yōu)勢。高可靠性。8.1.1為什么要使用狀態(tài)機65高效的順序控制模型:狀態(tài)機克服了純硬件數(shù)字系統(tǒng)順序方式控制不8.1.2有限狀態(tài)機的結(jié)構(gòu)分類:從狀態(tài)機的信號輸出方式上:Mealy型與Moore型。米利機的下一狀態(tài)和輸出取決于當(dāng)前狀態(tài)和當(dāng)前輸入;摩爾機的下一狀態(tài)取決于當(dāng)前狀態(tài)和當(dāng)前輸入,但其輸出僅取決于當(dāng)前狀態(tài)。狀態(tài)機的描述結(jié)構(gòu)上:單過程狀態(tài)機與多過程狀態(tài)機。從狀態(tài)表達方式:符號化狀態(tài)機和確定狀態(tài)編碼的狀態(tài)機。狀態(tài)編碼方式上分:順序編碼狀態(tài)機、一位熱碼編碼狀態(tài)機或其它編碼狀態(tài)機668.1.2有限狀態(tài)機的結(jié)構(gòu)分類:5狀態(tài)機的結(jié)構(gòu)說明部分
狀態(tài)轉(zhuǎn)換變量的定義和所有可能狀態(tài)的說明,必要時還要確定每一狀態(tài)的編碼形式。包括4個部分:說明部分、主控時序過程、主控組合過程、輔助過程說明:用參數(shù)parameter來定義各狀態(tài)的,其中各狀態(tài)的取值或編碼必須寫上。typedef是用戶自定義語句關(guān)鍵詞,enum是定義枚舉類型關(guān)鍵詞,type_user是標(biāo)示符。2.主控時序過程(REG進程)
負責(zé)狀態(tài)機運行和在時鐘驅(qū)動下負責(zé)狀態(tài)轉(zhuǎn)換的過程。67狀態(tài)機的結(jié)構(gòu)說明部分包括4個部分:說明部分、主控時序過程、主3.主控組合進程(COM進程)
主控組合過程也可稱為狀態(tài)譯碼過程,其任務(wù)是根據(jù)外部輸入的控制信號(包括來自狀態(tài)機外部的信號和來自狀態(tài)機內(nèi)部其它非主控的組合或時序過程的信號)以及當(dāng)前狀態(tài)的狀態(tài)值確定下一狀態(tài)(next_state)的取向,即next_state的取值內(nèi)容,以及確定對外輸出或?qū)?nèi)部其它組合時序過程輸出控制信號的內(nèi)容。683.主控組合進程(COM進程)74.輔助進程
配合狀態(tài)機工作的組合過程或時序過程。時序過程只負責(zé)將當(dāng)前狀態(tài)轉(zhuǎn)換為下一狀態(tài),不管將要轉(zhuǎn)換的是哪一個狀態(tài)。694.輔助進程時序過程只負責(zé)將當(dāng)前狀態(tài)轉(zhuǎn)換為下一狀態(tài),不管將709rst是低電平有效,clk是上升沿有效。觀察輸入信號0到3的變化,此例是Moore還是Mealy型?71rst是低電平有效,clk是上升沿有效。108.1.3狀態(tài)機設(shè)計初始控制與表述
(1)打開“狀態(tài)機萃取”開關(guān)。
728.1.3狀態(tài)機設(shè)計初始控制與表述(1)打開“狀態(tài)機萃7312(2)關(guān)于參數(shù)定義表述用parameter進行參數(shù)定義雖然十分必要,一旦打來狀態(tài)機萃取開關(guān),狀態(tài)定義可以十分隨意。定義什么值都可以。(3)狀態(tài)變量定義表述
74(2)關(guān)于參數(shù)定義表述用parameter進行參數(shù)定義雖然8.2Moore型有限狀態(tài)機的設(shè)計
Mealy狀態(tài)機:輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。不依賴時鐘同步。Moore狀態(tài)機:輸出僅為當(dāng)前狀態(tài)的函數(shù),所以在輸入發(fā)生變化時還要等待時鐘的到來,所以比機要多等待一個時鐘周期。758.2Moore型有限狀態(tài)機的設(shè)計Mealy狀態(tài)機:輸8.2.1ADC采樣控制設(shè)計及多過程結(jié)構(gòu)型狀態(tài)機
START:轉(zhuǎn)換啟動信號,高電平有效。ALE:模擬信號輸入選通端口地址鎖存信號。上升沿有效。EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)送給狀態(tài)機的信號。OE:輸出允許信號,高電平有效,表示轉(zhuǎn)換結(jié)束可以把結(jié)果輸出去了。768.2.1ADC采樣控制設(shè)計及多過程結(jié)構(gòu)型狀態(tài)機STA7716EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)送給狀態(tài)機的信號。78EOC:轉(zhuǎn)換結(jié)束信號。高電平有效,表示轉(zhuǎn)換結(jié)束。是0809發(fā)7918接上頁80接上頁19過程:復(fù)位信號后進入狀態(tài)s0;第二個clk上升沿后,狀態(tài)機進入s1,由START、ALE發(fā)出啟動采樣和地址選通的控制信號,之后EOC進入了低電平,0809的8位數(shù)據(jù)輸出端出現(xiàn)高阻態(tài)”ZZ”,在狀態(tài)s2等待了數(shù)個CLK后,EOC變?yōu)楦唠娖?,表示轉(zhuǎn)換結(jié)束。進入s3狀態(tài)后,OE變?yōu)楦唠娖?,此時0809的數(shù)據(jù)輸出端D已經(jīng)輸出轉(zhuǎn)換好的5EH。在狀態(tài)s4,LOCK_T發(fā)出一個脈沖,其上升沿立即將D端數(shù)據(jù)5E鎖入Q和REGL中。81過程:20把例8-2中的組合過程可以分成兩個組合過程:一個負責(zé)狀態(tài)譯碼和狀態(tài)轉(zhuǎn)換。另一個負責(zé)對外控制信號的輸出。分開寫如下:82把例8-2中的組合過程可以分成兩個組合過程:218.2.2序列檢測器之狀態(tài)機設(shè)計
8位序列數(shù)“11010011”高位在前左移進入檢測器后,如次數(shù)與預(yù)置的密碼數(shù)相同,則輸出1,否則輸出09個參數(shù)的定義很隨意838.2.2序列檢測器之狀態(tài)機設(shè)計8位序列數(shù)“11010842385248.3Mealy型有限狀態(tài)機的設(shè)計
Mealy狀態(tài)機:輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。不依賴時鐘同步。與Moore狀態(tài)機不同之處在于組合過程中的輸出信號是當(dāng)前狀態(tài)和當(dāng)前輸入的函數(shù)。例8-5:狀態(tài)轉(zhuǎn)換方式由DIN1信號控制,對外控制信號碼的輸出由DIN2控制868.3Mealy型有限狀態(tài)機的設(shè)計Mealy狀態(tài)機:輸8726輸出信號有毛刺。因為輸出信號不隨時鐘clk同步。改進一下:設(shè)計成只有一個always過程的狀態(tài)機。88輸出信號有毛刺。因為輸出信號不隨時鐘clk同步。2789289029輸出信號沒有毛刺了。91輸出信號沒有毛刺了。30例8-7是把例8-4的雙過程改為單過程了。把輸出與時鐘同步這是去毛刺的辦法。92例8-7是把例8-4的雙過程改為單過程了。把輸出與時鐘同步這8.4SystemVerilog的枚舉類型應(yīng)用
把例8-4的狀態(tài)變量改為如下枚舉類型:保存類型為.sv938.4SystemVerilog的枚舉類型應(yīng)用把例8-8.5狀態(tài)機圖形編輯設(shè)計方法
948.5狀態(tài)機圖形編輯設(shè)計方法339534963597369837993810039101408.6狀態(tài)編碼
給狀態(tài)編上碼。8.6.1直接輸出型編碼
1028.6狀態(tài)編碼給狀態(tài)編上碼。8.6.1直接輸計數(shù)器:計數(shù)輸出就是各狀態(tài)的狀態(tài)碼。當(dāng)計數(shù)到m時,采用異步清0的方式可以模m計數(shù)器。當(dāng)計數(shù)到m時,采用同步清0的方式可以模m+1計數(shù)器。當(dāng)把狀態(tài)編碼直接輸出作為控制信號,即out=state。狀態(tài)碼直接輸出型狀態(tài)機。103計數(shù)器:計數(shù)輸出就是各狀態(tài)的狀態(tài)碼。當(dāng)把狀態(tài)編碼直接輸出作為10443說明:優(yōu)點:輸出速度快,不大可能出現(xiàn)毛刺。缺點:可讀性差、用于狀態(tài)譯碼的組合邏輯資源比其他形同觸發(fā)器數(shù)量構(gòu)成的狀態(tài)機多、控制非法狀態(tài)出現(xiàn)的容錯技術(shù)高。105說明:44用宏定義‘define來定義狀態(tài)元素。放在模塊外面,是全局變量,可以在不同模塊里通用。優(yōu)點:在波形里面直接可以看到這些編碼106用宏定義‘define來定義狀態(tài)元素。放在模塊外面,是全局變8.6.2宏定義命令語句`define
用宏定義命令語句`define定義的標(biāo)示符,在使用的時候要加上’.宏定義的語句末尾不需要加分號。1078.6.2宏定義命令語句`define用宏定義命令語8.6.3順序編碼
優(yōu)點:觸發(fā)器少,剩余的非法狀態(tài)也少。容錯技術(shù)簡單。缺點:狀態(tài)譯碼麻煩,占用組合邏輯電路多,容易出現(xiàn)毛刺。保密性差,不適合軍用。對CPLD合適:組合電路多,觸發(fā)器少。不適合FPGA設(shè)計。1088.6.3順序編碼優(yōu)點:觸發(fā)器少,剩余的非法狀態(tài)也少。8.6.4一位熱碼狀態(tài)編碼一位熱碼編碼:n個觸發(fā)器來實現(xiàn)具有n個狀態(tài)的狀態(tài)機。狀態(tài)機中的每一個狀態(tài)都由其中一個觸發(fā)器的狀態(tài)表示。即當(dāng)處于該狀態(tài)時,對用的觸發(fā)器是1,其余觸發(fā)器都是0.優(yōu)點:譯碼速度快,轉(zhuǎn)換速度快,提高了系統(tǒng)穩(wěn)定性。適合FPGA設(shè)計。QuartusII中是默認的編碼方式。1098.6.4一位熱碼狀態(tài)編碼一位熱碼編碼:n個觸發(fā)器來實現(xiàn)8.6.5狀態(tài)編碼設(shè)置1.用戶自定義方式2.用屬性定義語句設(shè)置1108.6.5狀態(tài)編碼設(shè)置1.用戶自定義方式2.用屬111503.直接設(shè)置方法
1123.直接設(shè)置方法518.7非法狀態(tài)處理
s5,s6,s7是非法狀態(tài)。1138.7非法狀態(tài)處理s5,s6,s7是非法狀態(tài)。528.7.1程序直接導(dǎo)引法
說明:不要太依賴default語句。適合順序編碼的狀態(tài)機1148.7.1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國桂酸乙酯行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國標(biāo)記試劑行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國板環(huán)式拉壓力傳感器市場現(xiàn)狀分析及前景預(yù)測報告
- 2025至2030年中國殺稗快行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國機包彈力紗行業(yè)投資前景及策略咨詢報告
- 2025至2030年中國木工膠數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國有線電視野外型光工作站行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國暖壺除垢劑市場現(xiàn)狀分析及前景預(yù)測報告
- 2025至2030年中國智能化電子主動測量儀市場現(xiàn)狀分析及前景預(yù)測報告
- 2025至2030年中國普通圓片級PC片材行業(yè)投資前景及策略咨詢報告
- 足浴店創(chuàng)業(yè)計劃書
- 2024年中國私域運營洞察白皮書
- 10KV配電室倒閘操作票
- 小學(xué)六年級治班策略
- 異想天開的科學(xué)游戲
- 移動式門式腳手架技術(shù)交底
- 內(nèi)科學(xué)泌尿系統(tǒng)疾病總論課件
- GB/T 25283-2023礦產(chǎn)資源綜合勘查評價規(guī)范
- 大學(xué)生職業(yè)生涯規(guī)劃知到章節(jié)答案智慧樹2023年濰坊護理職業(yè)學(xué)院
- 英語學(xué)術(shù)論文寫作智慧樹知到答案章節(jié)測試2023年西安外國語大學(xué)
- 《化工原理》試題庫答案
評論
0/150
提交評論