|
在設(shè)計(jì)狀態(tài)機(jī)時(shí)有幾種狀態(tài)編碼方法:二進(jìn)制,格雷碼(gray)和獨(dú)熱碼(one hot code)。他們各有各的優(yōu)點(diǎn)。
獨(dú)熱 格雷 二進(jìn)制
4'b0001 2'b00 2‘b00
4'b0010 2'b01 2’b01
4'b0100 2'b11 2‘b10
4'b1000 2'b10 2’b11
one hot,獨(dú)熱嘛,一看就明白,就是只有一位是高電平。獨(dú)熱碼 使用的觸發(fā)器較多,但可減少實(shí)現(xiàn)狀態(tài)機(jī)的組合邏輯數(shù)目,減少?gòu)?fù)雜性,提高系統(tǒng)的速度,即工作時(shí)鐘頻率可以做到最高。格雷碼是使用最小數(shù)目的觸發(fā)器來(lái)編碼狀態(tài)機(jī),但形成的組合邏輯比較復(fù)雜。
使用獨(dú)熱碼編碼時(shí),會(huì)出現(xiàn)很多未使用的狀態(tài),而使用二進(jìn)制編碼和格雷碼編碼時(shí),如果狀態(tài)機(jī)的狀態(tài)數(shù)不是2的指數(shù)次方時(shí),也會(huì)出現(xiàn)未使用狀態(tài)。
格雷碼每個(gè)相鄰的狀態(tài)切換只有一個(gè)bit的信號(hào)跳變,適用于異步握手的情況,比如異步FIFO的指針計(jì)數(shù)。
|
|