数字逻辑·时序线路设计【状态化简与编码】

2023-10-31 00:30

本文主要是介绍数字逻辑·时序线路设计【状态化简与编码】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

化简原理

等价状态:
1、必要条件:在同样的输入作用下,有相同的输出
2、同样的输入条件下,相应的次态彼此等价
等价次态:
1、对应的次态相同
2、次态为两个现态本身或交错
3、两个次态为状态对封闭链中的一对
4、两个次态的某一后续状态对可以合并
等价状态具有可传递性:AB 等价,AC 等价= >BC 等价,则 A、B、C 为等价类
等价类:彼此等价的状态的集合
最大等价类:一个等价类不包含在任何其他等价类中
化简原始状态表= > 寻找最大等价类

但其实,化简原理应该不是很重要,主要是要求你会化简的方法

K次划分法

先找出输出相同的状态集合,为一次划分,再找第二次输入下输出也相同的集合,依此类推,直到 k + 1 次不能再划分,找到最大等价类集合。

步骤:

  1. 找出输出相同的状态集合进行划分。
  2. 将次态所在的集合做为下标,更新在集合中。
  3. 若下标不同,则拆分等价状态类。
  4. 直到所有的下标都保持一致。

在这里插入图片描述
as for q1:a,b,c的输出都是0,1,所以放一起
for 下标:a的次态是c和b,而c在q2中,b是在q1中的,所以下标是21
至于q3,d31和g23下标不一样,所以要拆开
拆开完之后需要对前面的元素的下标重新编

隐含表法

在这里插入图片描述

行数里去掉一个a(首),列数里去掉一个h(尾)

在这里插入图片描述
在这里插入图片描述

  1. 构作隐含表,分情况讨论:A 等价 √ B 不等价 × C 条件
  2. 顺序比较追踪,找出所有等价状态
  3. 形成最大等价类集合
  4. 构成最简状态表

次佳编码法

确定需要几位二进制码 k [log2 N] 向上取整简而言之——3个状态要2位二进制,8个状态要3位二进制

编码规则

  1. 次态相同,现态相邻
  2. 现态相同,次态相邻
  3. 输出相同,现态相邻
  4. 优先顺序 1>2>3

在这里插入图片描述
在x=0时,a和b的次态相同;在x=1时,a和c的状态相同
所以a,b的编码要相邻;a,c的编码要相邻

用 JK 触发器及与非门设计一个同步二进制串行加法器

在这里插入图片描述

  1. 确定输入、输出。建立原始状态表
  2. 化简并建立最简状态表
  3. 状态编码
  4. 建立控制、输出函数表达式
  5. 画电路图

在这里插入图片描述
这题只有1位二进制,不是很能验证上文的编码规则

在这里插入图片描述

再好好看看状态转移表吧2023.2.26复习

在这里插入图片描述

作业

在这里插入图片描述

  1. 确定输入、输出。建立原始状态表
  2. 化简并建立最简状态表
  3. 状态编码
  4. 建立控制、输出函数表达式
  5. 画电路图

这篇关于数字逻辑·时序线路设计【状态化简与编码】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/311586

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

hdu3006状态dp

给你n个集合。集合中均为数字且数字的范围在[1,m]内。m<=14。现在问用这些集合能组成多少个集合自己本身也算。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.Inp

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动