Verilog 設(shè)計(jì)進(jìn)階_第1頁(yè)
Verilog 設(shè)計(jì)進(jìn)階_第2頁(yè)
Verilog 設(shè)計(jì)進(jìn)階_第3頁(yè)
Verilog 設(shè)計(jì)進(jìn)階_第4頁(yè)
Verilog 設(shè)計(jì)進(jìn)階_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階8.1 分頻器設(shè)計(jì)分頻器設(shè)計(jì)8.2 Verilog 有限狀態(tài)機(jī)設(shè)計(jì)有限狀態(tài)機(jī)設(shè)計(jì)第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系8.1 分頻器設(shè)計(jì)分頻器設(shè)計(jì)分頻器是指使輸出信號(hào)頻率為輸入信號(hào)頻率整數(shù)分分頻器是指使輸出信號(hào)頻率為輸入信號(hào)頻率整數(shù)分之一的電子電路。之一的電子電路。在許多電子設(shè)備中如電子鐘、頻率合成器等,需要在許多電子設(shè)備中如電子鐘、頻率合成器等,需要各種不同頻率的信號(hào)協(xié)同工作,常用的方法是以

2、穩(wěn)各種不同頻率的信號(hào)協(xié)同工作,常用的方法是以穩(wěn)定度高的晶體振蕩器為主振源,通過(guò)變換得到所需定度高的晶體振蕩器為主振源,通過(guò)變換得到所需要的各種頻率成分,分頻器是一種主要變換手段。要的各種頻率成分,分頻器是一種主要變換手段。1.偶數(shù)倍偶數(shù)倍(2N)分頻分頻 偶分頻比較簡(jiǎn)單,假設(shè)為偶分頻比較簡(jiǎn)單,假設(shè)為N分頻,只需計(jì)數(shù)到分頻,只需計(jì)數(shù)到N/21,然后時(shí)鐘翻轉(zhuǎn)、計(jì)數(shù)清零,如此循環(huán)就可,然后時(shí)鐘翻轉(zhuǎn)、計(jì)數(shù)清零,如此循環(huán)就可以得到以得到N(偶偶)分頻分頻。第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系例例:module fp_even(clk_out,

3、clk_in,rst);output clk_out; input clk_in,rst;reg 1:0 cnt; reg clk_out;parameter N=6;always (posedge clk_in or negedge rst)beginif(!rst) begin cnt = 0; clk_out = 0; endelse begin if(cnt=N/2-1) begin clk_out = !clk_out; cnt=0; end else cnt = cnt + 1; endend endmodule 可以通過(guò)改變參量可以通過(guò)改變參量N的值和計(jì)數(shù)變量的值和計(jì)數(shù)變量cnt

4、的位寬實(shí)現(xiàn)任意偶分頻。的位寬實(shí)現(xiàn)任意偶分頻。第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系2.奇數(shù)倍奇數(shù)倍(2N+1)分頻分頻 用兩個(gè)計(jì)數(shù)器,一個(gè)由輸入時(shí)鐘上升沿觸發(fā),一個(gè)由輸用兩個(gè)計(jì)數(shù)器,一個(gè)由輸入時(shí)鐘上升沿觸發(fā),一個(gè)由輸入時(shí)鐘下降沿觸發(fā),最后將兩個(gè)計(jì)數(shù)器的輸出相或,即可得入時(shí)鐘下降沿觸發(fā),最后將兩個(gè)計(jì)數(shù)器的輸出相或,即可得到占空比為到占空比為50%的方波波形的方波波形?!纠?module count_N(reset, clk, cout);input clk, reset; output wire cout;reg4:0 m, n;

5、reg cout1, cout2;parameter N=13;always (posedge clk)/時(shí)鐘上升沿計(jì)數(shù)時(shí)鐘上升沿計(jì)數(shù)begin if(!reset) begin cout1=0; m=0; end else begin if(m=N-1) m=0; else m=m+1; if(m(N-1)/2) cout1=1; else cout1=0; end end第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系always (negedge clk)/時(shí)鐘下降沿計(jì)數(shù)時(shí)鐘下降沿計(jì)數(shù)beginif(!reset) begin cout2

6、=0; n=0; endelse begin if(n=N-1) n=0; else n=n+1; if(n(N-1)/2) cout2=1; else cout2=0; endendassign cout=cout1|cout2;/兩個(gè)計(jì)數(shù)器的輸出相或兩個(gè)計(jì)數(shù)器的輸出相或endmodule模模13奇數(shù)分頻器功能仿真波形圖(奇數(shù)分頻器功能仿真波形圖(Quartus ) 第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系3.半整數(shù)半整數(shù)(N-0.5)倍分頻倍分頻假設(shè)有一個(gè)假設(shè)有一個(gè)5 MHz的時(shí)鐘信號(hào),但需要得到的時(shí)鐘信號(hào),但需要得到2 MHz的時(shí)

7、鐘,的時(shí)鐘,分頻比為分頻比為2.5,此時(shí)可采用半整數(shù)分頻器,此時(shí)可采用半整數(shù)分頻器。半整數(shù)分頻器的設(shè)計(jì)思想:要實(shí)現(xiàn)半整數(shù)分頻器的設(shè)計(jì)思想:要實(shí)現(xiàn)N-0.5分頻,可先設(shè)計(jì)分頻,可先設(shè)計(jì)一個(gè)模一個(gè)模N計(jì)數(shù)器,再設(shè)計(jì)一個(gè)脈沖扣除電路,加在模計(jì)數(shù)器,再設(shè)計(jì)一個(gè)脈沖扣除電路,加在模N計(jì)計(jì)數(shù)器之后,每來(lái)數(shù)器之后,每來(lái)N個(gè)脈沖就扣除半個(gè)脈沖,即可實(shí)現(xiàn)分頻個(gè)脈沖就扣除半個(gè)脈沖,即可實(shí)現(xiàn)分頻系數(shù)為系數(shù)為N-0.5的半整數(shù)分頻。的半整數(shù)分頻。半整數(shù)分頻器原理圖如一圖所示,異或門(mén)和半整數(shù)分頻器原理圖如一圖所示,異或門(mén)和2分頻模塊組分頻模塊組成脈沖扣除電路。成脈沖扣除電路。第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)

8、階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系【例例】:module fdiv5_5(clkin, clr, clkout);input clkin, clr; output reg clkout;reg clk1; wire clk2; integer count;xor xor1(clk2,clkin,clk1); /異或門(mén)異或門(mén)always(posedge clkout or negedge clr) /2分頻器分頻器begin if(!clr) begin clk1=1b0; end else clk1=clk1;endalways(posedge clk2 or negedg

9、e clr) /模模5分頻器分頻器begin if(!clr)begin count=0; clkout=1b0; endelse if(count=5) /要改變分頻器的模,只需改變要改變分頻器的模,只需改變count的值的值 begin count=0; clkout=1b1; endelse begin count=count+1; clkout=25) begin count=count-25; delete=10; end /不刪除脈沖不刪除脈沖else delete=1b1; end /刪除脈沖刪除脈沖endalways(delete)begin if(delete=1b1) cl

10、k504m=1b1; else clk504m=ckk60m;end第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系always(posedge clk504m or posedge rst)begin if(rst) clkout=0; else if(cnt=2519) begin clkout=clkout; cnt= origin; end else cnt=cnt+1; endalways(insig)begin case(insig)4b0001:origin=2519;/產(chǎn)生產(chǎn)生10kHz信號(hào)信號(hào)4b0010:origin=125

11、9;/產(chǎn)生產(chǎn)生20kHz信號(hào)信號(hào)4b0011:origin=839;/產(chǎn)生產(chǎn)生30kHz信號(hào)信號(hào)4b0100:origin=629;/產(chǎn)生產(chǎn)生40kHz信號(hào)信號(hào)4b0101:origin=503;/產(chǎn)生產(chǎn)生50kHz信號(hào)信號(hào)4b0110:origin=419;/產(chǎn)生產(chǎn)生60kHz信號(hào)信號(hào)4b0111:origin=359;/產(chǎn)生產(chǎn)生70kHz信號(hào)信號(hào)4b1000:origin=314;/產(chǎn)生產(chǎn)生80kHz信號(hào)信號(hào)4b1001:origin=279;/產(chǎn)生產(chǎn)生90kHz信號(hào)信號(hào)4b1010:origin=251;/產(chǎn)生產(chǎn)生100kHz信號(hào)信號(hào)default: origin=2519;endcas

12、e end endmodule第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系8.2 Verilog 有限狀態(tài)機(jī)設(shè)計(jì)有限狀態(tài)機(jī)設(shè)計(jì)分析圖示電路實(shí)現(xiàn)什么功能分析圖示電路實(shí)現(xiàn)什么功能 1.寫(xiě)出各寫(xiě)出各時(shí)鐘及時(shí)鐘及觸發(fā)器的觸發(fā)器的驅(qū)驅(qū)動(dòng)動(dòng)方程;方程;2.寫(xiě)出電路的輸出方程;寫(xiě)出電路的輸出方程;3.寫(xiě)出各觸發(fā)器的狀態(tài)方程;寫(xiě)出各觸發(fā)器的狀態(tài)方程;4.列出電路的狀態(tài)表;列出電路的狀態(tài)表;5.畫(huà)出電路的狀態(tài)圖;畫(huà)出電路的狀態(tài)圖;6.邏輯功能邏輯功能分析分析。( XZ )第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微

13、電子工程系狀態(tài)機(jī)狀態(tài)機(jī)(State Machine)是一個(gè)廣義的時(shí)序電路,像是一個(gè)廣義的時(shí)序電路,像移位寄存器、計(jì)數(shù)器等都算是它的特殊功能類(lèi)型中移位寄存器、計(jì)數(shù)器等都算是它的特殊功能類(lèi)型中的一種。的一種。根據(jù)輸入、輸出及狀態(tài)之間的關(guān)系,狀態(tài)機(jī)可分兩根據(jù)輸入、輸出及狀態(tài)之間的關(guān)系,狀態(tài)機(jī)可分兩類(lèi),一類(lèi)是類(lèi),一類(lèi)是Moore狀態(tài)機(jī),其輸出值只取決于當(dāng)前狀態(tài)機(jī),其輸出值只取決于當(dāng)前狀態(tài),與輸入值無(wú)關(guān);另一類(lèi)是狀態(tài),與輸入值無(wú)關(guān);另一類(lèi)是Mealy狀態(tài)機(jī),其狀態(tài)機(jī),其輸出值不但和當(dāng)前狀態(tài)有關(guān),還和輸入值有關(guān)。輸出值不但和當(dāng)前狀態(tài)有關(guān),還和輸入值有關(guān)。第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)

14、計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系摩爾型(摩爾型(Moore)狀態(tài)機(jī))狀態(tài)機(jī) 米里型(米里型(Mealy)狀態(tài)機(jī))狀態(tài)機(jī) 第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系狀態(tài)機(jī)的特點(diǎn)與優(yōu)勢(shì):狀態(tài)機(jī)的特點(diǎn)與優(yōu)勢(shì):1.高效的過(guò)程控制模型。它的工作方式是根據(jù)控制信號(hào)按高效的過(guò)程控制模型。它的工作方式是根據(jù)控制信號(hào)按照預(yù)先設(shè)定的狀態(tài)進(jìn)行順序運(yùn)行的,能實(shí)現(xiàn)高速、高效照預(yù)先設(shè)定的狀態(tài)進(jìn)行順序運(yùn)行的,能實(shí)現(xiàn)高速、高效的過(guò)程控制。的過(guò)程控制。2.容易利用現(xiàn)成的容易利用現(xiàn)成的EDA工具進(jìn)行優(yōu)化設(shè)計(jì)。狀態(tài)機(jī)構(gòu)建簡(jiǎn)工具進(jìn)行優(yōu)化設(shè)計(jì)。狀態(tài)機(jī)構(gòu)建

15、簡(jiǎn)單,設(shè)計(jì)方案相對(duì)固定,使得綜合器能提供強(qiáng)大的優(yōu)化單,設(shè)計(jì)方案相對(duì)固定,使得綜合器能提供強(qiáng)大的優(yōu)化功能,如自動(dòng)編碼、完全狀態(tài)機(jī)生成等。功能,如自動(dòng)編碼、完全狀態(tài)機(jī)生成等。3.系統(tǒng)性能穩(wěn)定。通過(guò)構(gòu)建同步時(shí)序邏輯模塊,能解決競(jìng)系統(tǒng)性能穩(wěn)定。通過(guò)構(gòu)建同步時(shí)序邏輯模塊,能解決競(jìng)爭(zhēng)冒險(xiǎn)。爭(zhēng)冒險(xiǎn)。4. 高速性能。高速性能。 比相應(yīng)的比相應(yīng)的CPU工作速度高出工作速度高出35個(gè)數(shù)量級(jí)。個(gè)數(shù)量級(jí)。5.高可靠性能。由純硬件電路構(gòu)成,運(yùn)行不依賴軟件指令高可靠性能。由純硬件電路構(gòu)成,運(yùn)行不依賴軟件指令的逐條執(zhí)行;有完整的容錯(cuò)技術(shù);能很快從非法態(tài)跳出。的逐條執(zhí)行;有完整的容錯(cuò)技術(shù);能很快從非法態(tài)跳出。第八章第八章 V

16、erilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系有限狀態(tài)機(jī)設(shè)計(jì)的一般步驟有限狀態(tài)機(jī)設(shè)計(jì)的一般步驟1.邏輯抽象。得出狀態(tài)轉(zhuǎn)換圖就是把給出的一個(gè)實(shí)際邏輯抽象。得出狀態(tài)轉(zhuǎn)換圖就是把給出的一個(gè)實(shí)際邏輯關(guān)系表示為時(shí)序邏輯函數(shù),可以用狀態(tài)轉(zhuǎn)換表邏輯關(guān)系表示為時(shí)序邏輯函數(shù),可以用狀態(tài)轉(zhuǎn)換表來(lái)描述,也可以用狀態(tài)轉(zhuǎn)換圖來(lái)描述。來(lái)描述,也可以用狀態(tài)轉(zhuǎn)換圖來(lái)描述。2.狀態(tài)化簡(jiǎn)。如果在狀態(tài)轉(zhuǎn)換圖中出現(xiàn)這樣兩個(gè)狀態(tài),狀態(tài)化簡(jiǎn)。如果在狀態(tài)轉(zhuǎn)換圖中出現(xiàn)這樣兩個(gè)狀態(tài),它們?cè)谙嗤妮斎胂罗D(zhuǎn)換到同一狀態(tài)去,并得到一它們?cè)谙嗤妮斎胂罗D(zhuǎn)換到同一狀態(tài)去,并得到一樣的輸出,則稱它們?yōu)榈葍r(jià)狀態(tài)。顯然等價(jià)

17、狀態(tài)是樣的輸出,則稱它們?yōu)榈葍r(jià)狀態(tài)。顯然等價(jià)狀態(tài)是重復(fù)的,可以合并為一個(gè)。重復(fù)的,可以合并為一個(gè)。3.狀態(tài)分配。狀態(tài)分配又稱狀態(tài)編碼。狀態(tài)分配。狀態(tài)分配又稱狀態(tài)編碼。4.選定觸發(fā)器的類(lèi)型并求出狀態(tài)方程、驅(qū)動(dòng)方程和輸選定觸發(fā)器的類(lèi)型并求出狀態(tài)方程、驅(qū)動(dòng)方程和輸出方程。出方程。5.按照方程得出邏輯圖。按照方程得出邏輯圖。第八章第八章 Verilog 設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系8.2.1 有限狀態(tài)機(jī)的有限狀態(tài)機(jī)的Verilog描述描述1. 用三個(gè)過(guò)程描述:即現(xiàn)態(tài)用三個(gè)過(guò)程描述:即現(xiàn)態(tài)(CS:Current State)、次、次態(tài)態(tài)(NS:Next State

18、)、輸出邏輯、輸出邏輯(OL:Out Logic)各用一各用一個(gè)個(gè)always過(guò)程描述過(guò)程描述 。2. 雙過(guò)程描述雙過(guò)程描述(CS+NS、OL雙過(guò)程描述雙過(guò)程描述):使用兩個(gè):使用兩個(gè)always過(guò)程來(lái)描述有限狀態(tài)機(jī),一個(gè)過(guò)程描述現(xiàn)態(tài)過(guò)程來(lái)描述有限狀態(tài)機(jī),一個(gè)過(guò)程描述現(xiàn)態(tài)和次態(tài)時(shí)序邏輯和次態(tài)時(shí)序邏輯(CS+NS);另一個(gè)過(guò)程描述輸出邏;另一個(gè)過(guò)程描述輸出邏輯輯(OL)。3. 雙過(guò)程描述雙過(guò)程描述(CS、NS+OL雙過(guò)程描述雙過(guò)程描述):一個(gè)過(guò)程用:一個(gè)過(guò)程用來(lái)描述現(xiàn)態(tài)來(lái)描述現(xiàn)態(tài)(CS);另一個(gè)過(guò)程描述次態(tài)和輸出邏輯;另一個(gè)過(guò)程描述次態(tài)和輸出邏輯(NS+OL)。4. 單過(guò)程描述:在單過(guò)程描述方式

19、中,將狀態(tài)機(jī)的現(xiàn)單過(guò)程描述:在單過(guò)程描述方式中,將狀態(tài)機(jī)的現(xiàn)態(tài)、次態(tài)和輸出態(tài)、次態(tài)和輸出邏輯邏輯(CS+NS+OL)放在一個(gè)放在一個(gè)always過(guò)程中進(jìn)行描述過(guò)程中進(jìn)行描述。第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系用三個(gè)過(guò)程進(jìn)行描述用三個(gè)過(guò)程進(jìn)行描述【例例8.28.2】: :“101”序列檢測(cè)器的序列檢測(cè)器的Verilog描描述述(CS、NS、OL各一各一)復(fù)習(xí)數(shù)電中學(xué)的設(shè)計(jì)過(guò)程:復(fù)習(xí)數(shù)電中學(xué)的設(shè)計(jì)過(guò)程:1.1.由給定的邏輯功能確定電路應(yīng)包含的狀態(tài),并畫(huà)出原始狀由給定的邏輯功能確定電路應(yīng)包含的狀態(tài),并畫(huà)出原始狀態(tài)圖;態(tài)圖;2

20、.2.狀態(tài)化簡(jiǎn);狀態(tài)化簡(jiǎn);3.3.狀態(tài)編碼及畫(huà)編碼形式的狀態(tài)編碼及畫(huà)編碼形式的 狀狀態(tài)圖和狀態(tài)表;態(tài)圖和狀態(tài)表;4.4.選擇觸發(fā)器;選擇觸發(fā)器;5.5.確定各觸發(fā)器的驅(qū)動(dòng)方程確定各觸發(fā)器的驅(qū)動(dòng)方程 及及電路的輸出方程;電路的輸出方程;6.6.畫(huà)邏輯電路圖;畫(huà)邏輯電路圖;第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系module fsm1_seq101(clk,clr,x,z);input clk,clr,x; output reg z; reg1:0 state,next_state;parameter S0=2b00,S1=2b

21、01,S2=2b11,S3=2b10; /*狀態(tài)編碼,采用格雷(狀態(tài)編碼,采用格雷(Gray)編碼方式)編碼方式*/always (posedge clk or posedge clr) / /該過(guò)程定義當(dāng)前狀態(tài)該過(guò)程定義當(dāng)前狀態(tài)beginif(clr) state=S0; /異步復(fù)位,異步復(fù)位,s0為起始狀態(tài)為起始狀態(tài)else state=next_state;endalways (state or x) /該過(guò)程定義次態(tài)該過(guò)程定義次態(tài)begincase (state)S0:begin if(x) next_state=S1;else next_state=S0; endS1:beginif

22、(x) next_state=S1;else next_state=S2; end【例例8.28.2】: :“101”序列檢測(cè)器的序列檢測(cè)器的Verilog描描述述(CS、NS、OL各一各一)第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系S2:beginif(x) next_state=S3;else next_state=S0; endS3:beginif(x) next_state=S1;else next_state=S2; enddefault:next_state=S0; /default語(yǔ)句語(yǔ)句endcaseendal

23、ways (state) /該過(guò)程產(chǎn)生輸出邏輯該過(guò)程產(chǎn)生輸出邏輯(OL)begin case(state)S3: z=1b1;default:z=1b0;endcaseendendmodule第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系module fsm2_seq101(clk,clr,x,z);input clk,clr,x; output reg z; reg1:0 state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2b10; /*狀態(tài)編碼,采用格雷(狀態(tài)編碼,采用格雷(Gray)編碼方

24、式)編碼方式*/always (posedge clk or posedge clr) / /該過(guò)程定義當(dāng)前狀態(tài)該過(guò)程定義當(dāng)前狀態(tài)begin if(clr) state=S0; /異步復(fù)位,異步復(fù)位,s0為起始狀態(tài)為起始狀態(tài) else case (state) S0:begin if(x) state=S1; else state=S0; end S1:begin if(x) state=S1; else state=S2; end S2:begin if(x) state=S3; else state=S0; end S3:begin if(x) state=S1; else state=S

25、2; end default: state=S0; end endcase end用兩個(gè)過(guò)程進(jìn)行描述用兩個(gè)過(guò)程進(jìn)行描述【例例8.38.3】: :“101”序列檢測(cè)器的序列檢測(cè)器的Verilog描描述述(CS+NS、OL)第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系always (state) /該過(guò)程產(chǎn)生輸出邏輯該過(guò)程產(chǎn)生輸出邏輯(OL)begin case(state)S3: z=1b1;default:z=1b0;endcaseendendmodule第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微

26、電子工程系材料與能源學(xué)院微電子工程系module fsm3_seq101(clk,clr,x,z);input clk,clr,x; output reg z; reg1:0 state,next_state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2b10; /*狀態(tài)編碼,采用格雷(狀態(tài)編碼,采用格雷(Gray)編碼方式)編碼方式*/always (posedge clk or posedge clr) / /該過(guò)程定義當(dāng)前狀態(tài)該過(guò)程定義當(dāng)前狀態(tài)beginif(clr) state=S0; /異步復(fù)位,異步復(fù)位,s0為起始狀態(tài)為起始狀態(tài)else state=

27、next_state;end【例例8.4】:“101”序列檢測(cè)器的序列檢測(cè)器的Verilog描述描述(CS、NS+OL)第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系always (state or x) /該過(guò)程定義次態(tài)該過(guò)程定義次態(tài)begincase (state)S0:begin if(x) begin next_state=S1; z=10; end else begin next_state=S0; z=10; end endS1:begin if(x) begin next_state=S1; z=10; end el

28、se begin next_state=S2; z=10; end endS2:begin if(x) begin next_state=S3; z=10; end else begin next_state=S0; z=10; end endS3:begin if(x) begin next_state=S1; z=10; end else begin next_state=S2; z=10; end enddefault: begin next_state=S0; z=10; end endcaseendendmodule第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源

29、學(xué)院微電子工程系材料與能源學(xué)院微電子工程系用單個(gè)用單個(gè)過(guò)程進(jìn)行描述過(guò)程進(jìn)行描述【例例8.5】:“101”序列檢測(cè)器的序列檢測(cè)器的Verilog描述描述(CS+NS+OL)module fsm4_seq101(clk,clr,x,z);input clk,clr,x; output reg z; reg1:0 state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2b10; /*狀態(tài)編碼,采用格雷狀態(tài)編碼,采用格雷(Gray)編碼方式編碼方式*/always (posedge clk or posedge clr)Begin if(clr) state=S0; /

30、異步復(fù)位,異步復(fù)位,s0為起始狀態(tài)為起始狀態(tài)else case(state) S0:begin if(x) begin state=S1; z=1b0; end else begin state=S0; z=1b0; end end S1:begin if(x) begin state=S1; z=1b0; end else begin state=S2; z=1b0; end end S2:begin if(x) begin state=S3; z=1b0; end else begin state=S0; z=1b0; end end S3:begin if(x) begin state=

31、S1; z=1b1; end else begin state=S2; z=1b1; end end default:begin state=S0; z=1b0;end /*default語(yǔ)句語(yǔ)句*/ endcaseend endmodule第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系8.2.2 狀態(tài)編碼狀態(tài)編碼1.順序編碼順序編碼 :使用的觸發(fā)器數(shù)量最少:使用的觸發(fā)器數(shù)量最少(N個(gè)觸發(fā)器個(gè)觸發(fā)器有有2N狀態(tài)狀態(tài)),剩余的非法狀態(tài)也最少,容錯(cuò)技術(shù),剩余的非法狀態(tài)也最少,容錯(cuò)技術(shù)最為簡(jiǎn)單。但耗的組合邏輯資源較多,轉(zhuǎn)換時(shí)間最為簡(jiǎn)單。

32、但耗的組合邏輯資源較多,轉(zhuǎn)換時(shí)間較長(zhǎng),易出現(xiàn)毛刺。較長(zhǎng),易出現(xiàn)毛刺。2.格雷編碼:每個(gè)相鄰的狀態(tài)切換只有一個(gè)格雷編碼:每個(gè)相鄰的狀態(tài)切換只有一個(gè)bit的的信號(hào)跳變,降低產(chǎn)生毛刺和暫態(tài)的可能性。信號(hào)跳變,降低產(chǎn)生毛刺和暫態(tài)的可能性。3.約翰遜編碼:相鄰的狀態(tài)切換只有一個(gè)約翰遜編碼:相鄰的狀態(tài)切換只有一個(gè)bit的信的信號(hào)跳變,但號(hào)跳變,但N個(gè)觸發(fā)器只有個(gè)觸發(fā)器只有2N狀態(tài)。狀態(tài)。4.獨(dú)熱碼:相鄰的狀態(tài)切換只有一個(gè)獨(dú)熱碼:相鄰的狀態(tài)切換只有一個(gè)bit的信號(hào)跳的信號(hào)跳變,轉(zhuǎn)換速度快,工作穩(wěn)定性好,可節(jié)省和簡(jiǎn)變,轉(zhuǎn)換速度快,工作穩(wěn)定性好,可節(jié)省和簡(jiǎn)化譯碼電路,但化譯碼電路,但N個(gè)觸發(fā)器只有個(gè)觸發(fā)器只有N

33、狀態(tài)。狀態(tài)。第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系對(duì)于對(duì)于FPGA器件,常用器件,常用獨(dú)熱獨(dú)熱碼編碼。碼編碼。在在Quartus 中設(shè)置:中設(shè)置:Assignments/Settings/ Analysis & Synthesis Settings/More Settings/Existing option Settings/State Machine Precessing/Setting第八章第八章 Ve

34、rilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系8.2.3 狀態(tài)編碼狀態(tài)編碼 在在Verilog語(yǔ)言中,有兩種方式可用于定義狀態(tài)語(yǔ)言中,有兩種方式可用于定義狀態(tài)編碼,分別用編碼,分別用parameter和和define語(yǔ)句實(shí)現(xiàn),比如要語(yǔ)句實(shí)現(xiàn),比如要為為state0、state1、state2、state3四個(gè)狀態(tài)定義碼字四個(gè)狀態(tài)定義碼字為:為:00、01、11、10,可采用下面兩種方式。,可采用下面兩種方式。方式方式1:用:用parameter參數(shù)定義參數(shù)定義 parameter tate1=2b00, state2=2b01, state3=2b11, state4=2b10; case(state) state1:; /調(diào)用調(diào)用 state2:; 第八章第八章 Verilog 狀態(tài)機(jī)設(shè)計(jì)技術(shù)狀態(tài)機(jī)設(shè)計(jì)技術(shù)材料與能源學(xué)院微電子工程系材料與能源學(xué)院微電子工程系方式方式2:用:用define語(yǔ)句定義語(yǔ)句定義define state1 2b00 /不要加分號(hào)不要加分

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論