獨(dú)熱碼在狀態(tài)機(jī)里面使用比價廣泛,這一塊有些人愛用,有些人嫌煩,有時候可以用用格雷碼跳轉(zhuǎn),不過格雷碼只支持那種一步到底的,中間有分支就不好做了,所以后來還是回到了獨(dú)熱碼的正道上。
說白了獨(dú)熱碼的使用,在對狀態(tài)判斷時,會減少一級組合邏輯,關(guān)鍵路徑上少一步,乍看沒多少,用多了積累多了,還是一個很客觀的數(shù)據(jù)的。
然后三段式狀態(tài)機(jī),狀態(tài)跳轉(zhuǎn)時一定記得要加上default,避免latch的產(chǎn)生。為了防止有時候不記得,在寫狀態(tài)機(jī)時不如上來就給其他情況先賦值。
調(diào)試技巧
FPGA設(shè)計,需要以數(shù)據(jù)流來推動,因此統(tǒng)計數(shù)據(jù)流輸入和輸出的個數(shù),對于調(diào)試來說,是一個最方便也最直觀的方式。
這些計數(shù),設(shè)計者可以通過總線接口供外部處理器讀出。不需要占用大量邏輯資源去調(diào)用邏輯分析儀,就可以通過處理器的串口連接計算機(jī)打印出來。
調(diào)試過程中,如果發(fā)現(xiàn)某些模塊有輸入?yún)s沒輸出,或者是輸入個數(shù)與輸出個數(shù)不匹配,打印出所有計數(shù),就可以很快定位出問題出現(xiàn)的位置。然后有的放矢,很快就可以找出該模塊的問題所在。
通過FPGA內(nèi)部各模塊的關(guān)鍵計數(shù)分析,來定位分析問題,在設(shè)計上沒有任何難度。不過需要外部CPU或者FPGA嵌入式CPU的配合使用。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21738瀏覽量
603464 -
Default
+關(guān)注
關(guān)注
0文章
4瀏覽量
8048 -
Latch
+關(guān)注
關(guān)注
1文章
48瀏覽量
16216
原文標(biāo)題:與FPGA相關(guān)的獨(dú)熱碼
文章出處:【微信號:ALIFPGA,微信公眾號:FPGA極客空間】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論