在以同步右移移位寄存器为基础设计序列信号发生器时, 快速而准确地确定电路状态序列的方法

        在上一篇博文中, 我采用穷举法来寻找合适的状态序列——这是低效的, 且很容易出错.

        这里介绍一种科学的方法, 可以帮助我们快速确定合适的状态序列.

        在本题中, 要求实现序列信号00010111, 那么我们先选择两位: 00->00->01->10->01->11->11->10->00->...... 有重复状态, 舍弃;

接下来选择三位: 000->001->010->101->011->111->110->100->000->...... 没有重复状态, 则选择该方案进行设计.

        由此得到状态序列表.

CLK顺序 Q2 Q1 Q0
0 0 0 0
1 0 0 1
2 0 1 0
3 1 0 1
4 0 1 1
5 1 1 1
6 1 1 0
7 1 0 0
8 0 0 0

         观察状态序列表后, 我们可以清楚地看到, 要求产生的序列信号00010111正好在Q2端顺序产生, 所以这里直接将Q2引出, 作为序列信号产生端, 而不用再去添加输出变量了.

        采用这种方法确定合适的状态序列, 是既准确又高效的.

        根据上面的分析得到下表.

CLK顺序 Q2 Q1 Q0 D0
0 0 0 0 1
1 0 0 1 0
2 0 1 0 1
3 1 0 1 1
4 0 1 1 1
5 1 1 1 0
6 1 1 0 0
7 1 0 0 0
8 0 0 0 1

        之后的步骤与上一篇博文相同, 这里不再赘述. 读者在阅读本篇文章后, 能掌握这种快速确定状态序列的方法即可.

原创文章 266 获赞 62 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_42048463/article/details/103722094