欢迎光临散文网 会员登陆 & 注册

模三/模七整除器

2023-08-10 18:21 作者:数字逻辑der  | 我要投稿

输入的信号是单bit信号,先输入的在高位,及输入之后数据左移

输入0,表示数据×2

输入1,表示数据×2+1


(1)模三整除器(Moore状态机)

S0:x初始状态

    输入0,2x除以3余数为0,还是进入S0.

    输入1,2x+1除以3余数为1,进入S1.

S1:x除以3余数为1的状态

    输入0,2x除以3余数为2,进入S2.

    输入1,2x+1除以3余数为0,进入S3.


S2:x除以3余数为2的状态

    输入0,2x除以3余数为1,进入S1.

    输入1,2x+1除以3余数为2,进入S2.


S3:x整除3的状态

    输入0,2x整除3的状态,进入S3.

    输入1,2x+1除以3余数为1,进入S1.



使用的Moore状态机,输出信号延迟一个周期

Moore状态机仿真图


(2)模三整除器(Mealy状态机)

Mealy状态机比Moore状态机少一个状态,但是判断输出会提前一个周期

Mealy状态机不仅仅和当前状态有关,还和输入信号有关

1)所以Mealy状态机为异步输出,Moore状态机同步输出,Moore状态机更加安全

2)Mealy状态机的状态更少,节省面积

3)Moore状态机面积大,但是为同步输出,时序好


Mealy状态机分析模三整除器:

S0:x初始状态

    输入0,2x除以3余数为0,还是进入S0.

    输入1,2x+1除以3余数为1,进入S1.

S1:x除以3余数为1的状态

    输入0,2x除以3余数为2,进入S2.

    输入1,2x+1除以3余数为0,进入S3.


S2:x除以3余数为2的状态

    输入0,2x除以3余数为1,进入S1.

    输入1,2x+1除以3余数为2,进入S2.


S3:x整除3的状态

    输入0,2x整除3的状态,进入S3.

    输入1,2x+1除以3余数为1,进入S1.

此处Mealy状态机的状态没有变少的原因是需要将初始状态和被3整除之后的状态区分开

即初始化情况下不算被整除,有数据来了之后被整除才算,所以保留S0和S3状态。

主要改变的输出状态的判断,即Mealy的输出和输入信号也有关系

Mealy状态机


(3)按照上述的写法编写模7整除器(联发科笔试题)

模三/模七整除器的评论 (共 条)

分享到微博请遵守国家法律