从设计110序列检测器来看--同步时序电路设计
从设计110序列检测器来看--同步时序电路设计
开学临近,本人查缺补漏,应对推迟的期末考试
同步时序逻辑设计,难度有所增加,本人欲通过110序列检测器来解决这一问题点:
设计步骤:
1.获取原始状态图与状态表--分析状态图表
2.最简化状态图表
3.状态编码
4.利用状态转移表与触发器特征设计触发器激励
5.卡诺图化简
6.电路实现
7.检查无关项
具体操作
获取原始状态图与状态表--分析状态图表
-
状态设定:
s0 --->初态:表示接收一位数据“0”
s1 --->“1”
s2 --->"11"
s3 --->"110" 此时输出 z = 1;其他情况 z = 0 -
分析状态转换情况:
原式状态图如下:
手写版:
- 原始状态表:
对其进行化简
发现s3与s0相同,删去s3
状态分配
有s0,s1,s2三种状态,所以要使用两个JK触发器或者D触发器
我们先以JK触发器为例:
-
设置编码
~~~ y2 y1 s0------------> 0 0 s1-------------> 1 0 s2-------------> 1 1 y1,y2分别为两个jk触发器的Q输出 ~~~
-
列真值表
利用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 = (ar{Q}) , 反转,此时可以认为就是T触发器的效果
-
利用卡诺图化简:
要画五个卡诺图,分别是:J2,K2,J1,K1,Z
** 根据真值表中的值来画卡诺图**
可得:J2 = X
可得: J1 = X·Y2
K2= (ar{X})
K1 = (ar{X})
Z = (ar{X})·Y1
电路实现
根据 :J2 = X, J1 = XY2,K2= (ar{X}),K1 = (ar{X}),Z = (ar{X})*Y1来画电路
X为一个输入引脚,Z为输出引脚
先画俩JK触发器:
再添电路:
检查无关项
思路:将未用到的“01”状态带入计算
利用JK触发器的次态方程 D = J(ar{Q}) + (ar{K})Q
得: Y1n+1 = J1(ar{Y})1n + (ar{K})1Y1n = XY2n(ar{Y})1n + XY1n = X(Y1n + Y2n)
Y2n+1 = X(ar{Y})2n + XY2n = X
Y1
现在再将“ Y2 = 0, Y1= 1”带入
情况1:
Y2n+1 = 0Y1n+1 = 0(1+0) = 0
情况2;
Y2n+1 = 1(1+0) = 1
Y1n+1 = 1
检查无误,电路可以自启动,自此也就完成了
结尾补充
补充:
对于未用状态得2输出设置调整: 可以将其输出调整为无效即可
对于未用状态的次态设置调整:可以将未用状态的次态设置成初态或其编码最接近的工作状态 --例如:假设本题中的“01”未用状态,则可将其次态设置为“00”或“11”,这样列真值表时把他也考虑在内,在列卡诺图……等一系列操作
各位也可以根据这个思路,把JK触发器换成T触发器,总体步骤不变,列真值表时把jk换成T ,利用次态是否反转判断T的取值,列卡诺图……
利用D触发器实现
本题如果用D触发器实现时检查电路时:
当电路处于 11 状态时,若 X=0,,Y1Y2 = 10 则输出 Z=1,输出错误。因此,要对“11”设置次态
大体思路与jk无异,这种类型题目就应细心,本身不难,在期末占30分,拉开差距就靠细不细
状态表与jk触发器相同
有S0,S1,S2三种情况,对应两个D触发器D1,D2
S0 -- 00(分别对应Y1,Y2)
S1 -- 01
S2 -- 10
真值表如下:
发现“11”有问题,对其设置初态:X = 0,出现0,设置为“00”,X = 1,出现了1,次态设置为“01”。
这样再列卡诺图,得到:
D1 = X(Y1 + Y2)
D2 = X(ar{Y})1(ar{Y})2
Z = (ar{X})Y1Y2
最终可得电路图:
相关文章
- 金融服务领域的大数据:即时分析
- 影响大数据、机器学习和人工智能未来发展的8个因素
- 从0开始构建一个属于你自己的PHP框架
- 如何将Hadoop集成到工作流程中?这6个优秀实践必看
- SEO公司使用大数据优化其模型的5种方法
- 关于Web Workers你需要了解的七件事
- 深入理解HTTPS原理、过程与实践
- 增强分析:数据和分析的未来
- PHP协程实现过程详解
- AI专家:大数据知识图谱——实战经验总结
- 关于PHP的错误机制总结
- 利用数据分析量化协同过滤算法的两大常见难题
- 怎么做大数据工作流调度系统?大厂架构师一语点破!
- 2019大数据处理必备的十大工具,从Linux到架构师必修
- OpenCV中的KMeans算法介绍与应用
- 教大家如果搭建一套phpstorm+wamp+xdebug调试PHP的环境
- CentOS下三种PHP拓展安装方法
- Go语言HTTP Server源码分析
- Go语言HTTP Server源码分析
- 2017年4月编程语言排行榜:Hack首次进入前五十