1

从设计110序列检测器来看--同步时序电路设计 - Tanگگ

 1 year ago
source link: https://www.cnblogs.com/Tan-code/p/17072336.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

从设计110序列检测器来看--同步时序电路设计

开学临近,本人查缺补漏,应对推迟的期末考试
同步时序逻辑设计,难度有所增加,本人欲通过110序列检测器来解决这一问题点:

设计步骤:

1.获取原始状态图与状态表--分析状态图表
2.最简化状态图表
3.状态编码
4.利用状态转移表与触发器特征设计触发器激励
5.卡诺图化简
6.电路实现
7.检查无关项

具体操作


获取原始状态图与状态表--分析状态图表

  • 状态设定:
    s0 --->初态:表示接收一位数据“0”
    s1 --->“1”
    s2 --->"11"
    s3 --->"110" 此时输出 z = 1;其他情况 z = 0

  • 分析状态转换情况:

    3030878-20230129120924488-327748469.png

    原式状态图如下:

X=0,Z=0
X=1,Z=0
X=0,Z=0
X=1,Z=0
X=1,Z=0
X=0,Z=1
X=1,Z=0
X=1,Z=0
S3 此时z=1

3030878-20230129120946171-695038898.png
  • 原始状态表:

3030878-20230129121255868-1103596604.png

对其进行化简

发现s3与s0相同,删去s3

3030878-20230129121313676-1473333188.png

有s0,s1,s2三种状态,所以要使用两个JK触发器或者D触发器
我们先以JK触发器为例:

  • highlighter- asciidoc
    ~~~
                       y2   y1
    s0------------>    0    0
    s1------------->   1    0
    s2------------->   1    1
    y1,y2分别为两个jk触发器的Q输出
    ~~~

3030878-20230129121329736-1026591094.png

利用JK触发器的特性,可写出J2,K2,J1,K1的高低电压情况,使y2,y1从现态变成次态

此真值表中的触发器的取值就是将现态转变为次态的J,K取值情况

JK触发器特性
J = K = 0 ---> D = Q ,保持
J = 0,K = 1 ---> D = 0,复位
J = 1,K = 0 ---> D = 1 ,置位
J = K = 1 ----> D = Q¯ , 反转,此时可以认为就是T触发器的效果

  • 利用卡诺图化简:

    要画五个卡诺图,分别是:J2,K2,J1,K1,Z

    ** 根据真值表中的值来画卡诺图**

    3030878-20230129121402699-386816975.png

可得:J2 = X

3030878-20230129121416831-1691921972.png

可得: J1 = X·Y2

3030878-20230129121429351-508521138.png

K2= X¯

3030878-20230129121447127-990951986.png

K1 = X¯

3030878-20230129121458537-918610778.png

Z = X¯·Y1

根据 :J2 = X, J1 = XY2,K2= X¯,K1 = X¯,Z = X¯*Y1来画电路

​ X为一个输入引脚,Z为输出引脚\

先画俩JK触发器:

3030878-20230129121515917-1100343267.png

再添电路:

3030878-20230129121526267-1352855555.png

检查无关项

思路:将未用到的“01”状态带入计算

利用JK触发器的次态方程 D = JQ¯ + K¯Q
得: Y1n+1 = J1Y¯1n + K¯1Y1n = XY2nY¯1n + XY1n = X(Y1n + Y2n)
​ Y2n+1 = XY¯2n + XY2n = X


Y1
现在再将“ Y2 = 0, Y1= 1”带入

情况1:X = 0
情况2:X = 1
满足情况s2,可以自启动
满足情况s0,可以自启动

情况1:
Y2n+1 = 0

Y1n+1 = 0(1+0) = 0

情况2;
Y2n+1 = 1(1+0) = 1
Y1n+1 = 1

检查无误,电路可以自启动,自此也就完成了

补充:
对于未用状态得2输出设置调整: 可以将其输出调整为无效即可
对于未用状态的次态设置调整:可以将未用状态的次态设置成初态或其编码最接近的工作状态 --例如:假设本题中的“01”未用状态,则可将其次态设置为“00”或“11”,这样列真值表时把他也考虑在内,在列卡诺图……等一系列操作

各位也可以根据这个思路,把JK触发器换成T触发器,总体步骤不变,列真值表时把jk换成T ,利用次态是否反转判断T的取值,列卡诺图……

__EOF__

本文作者: Tanگگ 本文链接: https://www.cnblogs.com/Tan-code/p/17072336.html 关于博主: A Qingdao University student 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK