日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > ZYNQ
		


采用獨(dú)熱碼為什么節(jié)省許多組合電路?


等等問題,就這些問題我收集了一些說法,覺得很有意思,在這里我們一起討論下。


還是先簡(jiǎn)介下有限狀態(tài)機(jī):


有限狀態(tài)機(jī)是由寄存器組和組合邏輯構(gòu)成的硬件時(shí)序電路,其狀態(tài)(即由寄存器組的1和0的組合狀態(tài)所構(gòu)成的有限個(gè)狀態(tài))只可能在同一時(shí)鐘跳變沿的情況下才能從一個(gè)狀態(tài)轉(zhuǎn)向另一個(gè)狀態(tài),究竟轉(zhuǎn)向哪一狀態(tài)還是留在原狀態(tài)不但取決于各個(gè)輸入值,還取決于當(dāng)前所在狀態(tài)。這里是指Mealy型有限狀態(tài)機(jī)。


Moore型有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移只取決于當(dāng)前狀態(tài),與輸入值無關(guān)。


在Verilog HDL中可以用許多種方法來描述有限狀態(tài)機(jī),最常用的方法是用always語句和case語句。下面的狀態(tài)轉(zhuǎn)移圖表示了一個(gè)有限狀態(tài)機(jī):

上面的狀態(tài)轉(zhuǎn)移圖表示了一個(gè)四狀態(tài)的有限狀態(tài)機(jī),它的同步時(shí)鐘是Clock,輸入信號(hào)是 A 和 rst_n ,輸出信號(hào)是 F 和 G。狀態(tài)的轉(zhuǎn)移只能在同步時(shí)鐘(Clock)的上升沿時(shí)發(fā)生,往哪個(gè)狀態(tài)的轉(zhuǎn)移則取決于目前所在的狀態(tài)和輸入的信號(hào)(Reset 和 A)。


我們采用兩種狀態(tài)編碼方式來實(shí)現(xiàn)這個(gè)有限狀態(tài)機(jī):


1)采用格雷碼:

在ISE中,綜合后,得到的RTL Schematic:

2)采用獨(dú)熱碼:

程序和上面的幾乎一樣,只需要改下,各個(gè)狀態(tài)對(duì)應(yīng)的編碼值即可,還有最后的default:state <= Idle;

還是給出程序吧:

上面兩個(gè)程序的主要不同點(diǎn)是狀態(tài)編碼,2)采用了獨(dú)熱編碼,而1)則采用Gray碼,究竟采用哪一種編碼好要看具體情況而定。對(duì)于用FPGA實(shí)現(xiàn)的有限狀態(tài)機(jī)建議采用獨(dú)熱碼,因?yàn)殡m然采用獨(dú)熱編碼多用了兩個(gè)觸發(fā)器,但所用組合電路可省下許多,因而使電路的速度和可靠性有顯著提高,而總的單元數(shù)并無顯著增加。采用了獨(dú)熱編碼后有了多余的狀態(tài),就有一些不可到達(dá)的狀態(tài),為此在CASE語句的最后需要增加default分支項(xiàng),以確保多余狀態(tài)能回到Idle狀態(tài)。


上面所說的多余狀態(tài)是:4位編碼有16種,獨(dú)熱碼只列出了4種,剩下了12種,就是多余的狀態(tài)。

另一位大牛只說了一句話,但很有啟發(fā):

那我把3—8譯碼器的真值表給出來,確實(shí)如此。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉