模三/模七整除器
輸入的信號是單bit信號,先輸入的在高位,及輸入之后數(shù)據(jù)左移
輸入0,表示數(shù)據(jù)×2
輸入1,表示數(shù)據(jù)×2+1
(1)模三整除器(Moore狀態(tài)機)
S0:x初始狀態(tài)
????輸入0,2x除以3余數(shù)為0,還是進(jìn)入S0.
? ??輸入1,2x+1除以3余數(shù)為1,進(jìn)入S1.
S1:x除以3余數(shù)為1的狀態(tài)
????輸入0,2x除以3余數(shù)為2,進(jìn)入S2.
? ??輸入1,2x+1除以3余數(shù)為0,進(jìn)入S3.
S2:x除以3余數(shù)為2的狀態(tài)
????輸入0,2x除以3余數(shù)為1,進(jìn)入S1.
? ??輸入1,2x+1除以3余數(shù)為2,進(jìn)入S2.
S3:x整除3的狀態(tài)
????輸入0,2x整除3的狀態(tài),進(jìn)入S3.
? ??輸入1,2x+1除以3余數(shù)為1,進(jìn)入S1.
使用的Moore狀態(tài)機,輸出信號延遲一個周期

(2)模三整除器(Mealy狀態(tài)機)
Mealy狀態(tài)機比Moore狀態(tài)機少一個狀態(tài),但是判斷輸出會提前一個周期
Mealy狀態(tài)機不僅僅和當(dāng)前狀態(tài)有關(guān),還和輸入信號有關(guān)
1)所以Mealy狀態(tài)機為異步輸出,Moore狀態(tài)機同步輸出,Moore狀態(tài)機更加安全
2)Mealy狀態(tài)機的狀態(tài)更少,節(jié)省面積
3)Moore狀態(tài)機面積大,但是為同步輸出,時序好
Mealy狀態(tài)機分析模三整除器:
S0:x初始狀態(tài)
????輸入0,2x除以3余數(shù)為0,還是進(jìn)入S0.
? ??輸入1,2x+1除以3余數(shù)為1,進(jìn)入S1.
S1:x除以3余數(shù)為1的狀態(tài)
????輸入0,2x除以3余數(shù)為2,進(jìn)入S2.
? ??輸入1,2x+1除以3余數(shù)為0,進(jìn)入S3.
S2:x除以3余數(shù)為2的狀態(tài)
????輸入0,2x除以3余數(shù)為1,進(jìn)入S1.
? ??輸入1,2x+1除以3余數(shù)為2,進(jìn)入S2.
S3:x整除3的狀態(tài)
????輸入0,2x整除3的狀態(tài),進(jìn)入S3.
? ??輸入1,2x+1除以3余數(shù)為1,進(jìn)入S1.
此處Mealy狀態(tài)機的狀態(tài)沒有變少的原因是需要將初始狀態(tài)和被3整除之后的狀態(tài)區(qū)分開
即初始化情況下不算被整除,有數(shù)據(jù)來了之后被整除才算,所以保留S0和S3狀態(tài)。
主要改變的輸出狀態(tài)的判斷,即Mealy的輸出和輸入信號也有關(guān)系

(3)按照上述的寫法編寫模7整除器(聯(lián)發(fā)科筆試題)