24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
行業(yè)資訊
比較二進(jìn)制,灰度和一鍵編碼
有限狀態(tài)機(jī)(FSM)是幾乎每個(gè)數(shù)字系統(tǒng)中非常常見(jiàn)的部分。這就是為什么綜合工具通常會(huì)檢查您的代碼以檢測(cè)FSM并執(zhí)行可能會(huì)修改狀態(tài)編碼的優(yōu)化。無(wú)論您是否仔細(xì)選擇并指定了在源代碼中實(shí)現(xiàn)狀態(tài)的值都沒(méi)有關(guān)系,綜合工具可以將這些值替換為甚至可能具有與原始編碼不同的位長(zhǎng)的其他值。
狀態(tài)編碼:灰色vs.二進(jìn)制vs.一鍵
用于FSM狀態(tài)的三種最受歡迎的編碼是二進(jìn)制,格雷和單發(fā)。
二進(jìn)制編碼
二進(jìn)制編碼是在將值順序分配給狀態(tài)時(shí)可以直觀使用的簡(jiǎn)單方法。這樣,您將使用盡可能少的位來(lái)編碼狀態(tài)。
一鍵編碼的示例。
灰色編碼
格雷碼由一個(gè)序列組成,在一個(gè)序列中,一個(gè)值與下一個(gè)值之間只有一位發(fā)生變化。除了還使用最少的位數(shù)之外,如果狀態(tài)序列得到最佳遵循,則此編碼還可將動(dòng)態(tài)功耗降至最低。
格雷碼輪。
一鍵編碼
最后,單次熱編碼包括使用一個(gè)代表每個(gè)狀態(tài)的位,以便在任何時(shí)間點(diǎn),一個(gè)狀態(tài)將被編碼為代表當(dāng)前狀態(tài)的位為1,并被編碼為所有其他位的0。起初,由于使用的位數(shù)和無(wú)效狀態(tài)的過(guò)多,這似乎不太有效。但是,單熱編碼非常適合簡(jiǎn)化觸發(fā)器的激勵(lì)邏輯,因?yàn)闊o(wú)需解碼狀態(tài)。這些位是 狀態(tài)。
一鍵編碼的示例。
哪種編碼最好?
這是一個(gè)棘手的問(wèn)題,主要是因?yàn)槊糠N編碼都有其優(yōu)點(diǎn)和缺點(diǎn),因此可以歸結(jié)為取決于許多因素的優(yōu)化問(wèn)題。
如果一個(gè)非常簡(jiǎn)單的系統(tǒng)在各種編碼方式下產(chǎn)生非常相似的結(jié)果,則原始編碼是最佳選擇。
如果FSM在一條路徑(如計(jì)數(shù)器)中循環(huán)通過(guò)其狀態(tài),則格雷碼是一個(gè)很好的選擇。
如果FSM具有任意狀態(tài)轉(zhuǎn)換集或預(yù)期在高頻下運(yùn)行,則可能要采用單熱編碼。
現(xiàn)在,所有這些主張只是有根據(jù)的猜測(cè),而找到最佳狀態(tài)分配是一個(gè)復(fù)雜的問(wèn)題。