数字逻辑笔记

目录

数制转换

十进制数转二进制数和八进制数

二进制、八进制与十六进制之间的转化

所有进制转十进制

十进制数转换成 8421BCD 码

BCD 码 与循环码

 已知输入与输出的部分情况,列出真值表并写出输出信号的逻辑表达式

化简逻辑函数/求函数的值

代数法:

 求一个逻辑函数的对偶式

卡诺图法:

将函数展开为最小项表达式:

逻辑图、波形图、VHDL语句

与运算(逻辑乘):

或运算(逻辑加):

逻辑图的题型:

组合逻辑

组合逻辑分析:给出一逻辑电路图,其中有控制输入端,让列出真值表说明输出与输入的关系/说明逻辑功能

用器件实现功能

数据选择器/多路转换器( MUX )74LS153

数据分配器( DMUX )

译码器 74LS139(2:4)/74LS138(3:8)/74LS154(4:16)

七段数字译码器 74LS48

编码器

比较器 74LS85

加法器:全加器 FA / 半加器 HA

奇偶校验器 74LS280

判断竞争冒险

时序逻辑

锁存器:基本 SR 锁存器(高/低电平有效)、门控 SR 锁存器、门控 D 锁存器

触发器:SR / RS 、D 、JK 、T

寄存器(边沿 D 触发器)、移位寄存器

同步计数器

移位计数器

题型一:给出一部分波形图,让补全输出信号的波形

题型二:给出逻辑电路图,分析时序/计数电路

自产自销类型(输入端和输出端连一起了)

状态转移表 + 状态转移图

判断自启动和几进制计数器

题型:用触发器构成计数器

判断米里型还是摩尔型

做输入序列检测器

根据波形确定计数器有几个状态

状态编码

设计寄存器堆

阵列图

ROM 容量计算 + 一堆乱七八糟芯片所需片数的计算


数制转换

  • 基数:即 R 进制中的 R ,此进制中逢 R 进一
  • 位权:数码所处的位置,例如 a_{1}a_{0}a_{0} 的 位权 为 0 ,a_{1} 的 位权 为 1 ,一般认为 整数部分的最低位 为 第 0 位;若有小数部分,则小数部分首位的位权为 -1

十进制数转二进制数和八进制数

  • 整数部分,除 基数 取余,商为 0 时可停止,否则一直将 商 作为 被除数 循环与 基数 除
  • 小数部分,乘 基数 取整,精度满足要求时可停止,否则一直将 积 作为 乘数 循环与 基数 乘
  • 题目未要求就是给出的数字的小数位数

结果顺序:

  1. 整数部分:后出来的在高位(即,将得到结果倒过来写)
  2. 小数部分:先出来的在高位(即,将得到结果按顺序写)

十进制数过大时,也可先转化为八进制,再进行 ↓

二进制、八进制与十六进制之间的转化

  • 二进制与八进制位权对应关系:(三位 2 对应一位 8 )001 → 1 , 010 → 2 ,100 → 4 ,111 → 7 = 1 + 2 + 4 ,同理 8 转 2
  • 8 转 2:将八进制数 每一位 拆开用 三位 二进制数分别表示
  • 2 转 8:每三位 二进制数一位 八进制数 表示
  • 小数部分同理适用,位数不够时,整数部分为左边补零,小数部分为右边补零

10 转 2 再转 8 的情况可在此方法下应用:

由于 k_{\left ( 2 \right )}\times 2^{n} 意味着将 二进制数 k 左移 n 位(若是 ÷ 则是右移),

那么,可将一个数字拆分,譬如49_{\left ( 10 \right )}=32+16+1=2^{5}+2^{4}+2^{0}=100000+10000+1=110001_{\left ( 2 \right )}

备注:这个方法就是 2 转 10 的逆方法,在考试里若为大题不如按书上取余做,选填无妨

  • 十六进制与八进制的转换仅能通过二/十进制进行链接
  • 十六进制二进制互转同理 2 与 8 ,只是 1 位十六进制 对应 4 位二进制

所有进制转十进制

  • 每位上的数 * 基数为底的位权次方 的总和 即为所求转换成的十进制数

二进制数过长可转为八/十六进制再进行该方法,注意别错位

十进制数转换成 8421BCD 码

  • 即,用 四位二进制数 来表示 一位十进制,8421 分别为每位的 权
  • 换算方法同理十六进制与二进制,但 8421 码最大仅能为 9,四位二进制表示一位十六进制,最大可为 F
  • 故,8421 码是为了用来表示十进制数,总权加起来 > 9 的 8421 码是不存在的
  • 重点:别把 BCD 跟十进制转二进制搞混了,同一个十进制数的 BCD 码不一定等于转换的二进制,要转换就乖乖按前面方法做

BCD 码 与循环码

  • 码通常是以逻辑电路功能分析和组合逻辑设计让实现码的转换的形式出现,是跟真值表挂钩的,需要知道怎么取
  • 像 8421 这种数字开头的 BCD 码指的就是用四位二进制数来表示十进制数,对应数字即对应位置的权,跟 8421 BCD 码换算同理
  • 余 3 码:在 8421 的基础上加个 3 ,即加个 0011,所以题目问到的时候说输入,不用把十六种情况都列出来
  • 循环码:不属于 BCD 码,所以不局限于 0 ~ 9 → 任何相邻的码字中,仅有一位代码不同,其他相同
  • 虽然不知道老师在不在意循环码在真值表中书写的顺序,不过可以用卡诺图来记忆,按照正常的卡诺图来读它们每格的编号:
  • 当 AB 为竖行时:第一行从左往右,第二行从右往左,第三行从左往右这样迂回读取,就是循环码的顺序
  • 当 AB 为横行时:纵向迂回读

下图是循环码转格雷码,

  • 格雷码: 和循环码同理记忆,没有范围约束

 已知输入与输出的部分情况,列出真值表并写出输出信号的逻辑表达式

  • 由题目条件 → 列出真值表 → 写逻辑表达式

譬如例题“一个电路有三个输入端……,当其中两个输入端为高电平时,输出 X 为高电平”

  • 列真值表(列即 输入端:A 、B 、C ……与 输出端:X ……,填入数据为 信号 0、1):
  • 先将全部输入端信号可能存在的情况列在表格中,有 n 个输入端,便会有 2^{n} 种情况,表格就会有 2^{n}
  • 再根据题目中的条件来判断输出端的输出情况,由此填输出端那列的值

例题中的意思便是当两个输入端为 1 1 时,输出 X 输出的就会 是 1 ,不满足有两个输入端为高电平的情况,输出 X 输出就会是 0

  •  写出逻辑表达式:
  • 第一种方法:找出真值表中所有输出为 1 的行,此类行中每行对应的输入变量作乘积(输入时为 0 的变量上加 非号),最终将所有乘积项加起来
  • 第二种方法:找出真值表中所有输出为 0 的行,此类行中每行对应的输入变量求和(输入时为 1 的变量上加 非号),最终将所有求和项作乘积
  • 两种方法后都需化简才能作为最终的逻辑表达式(不过书上习题答案没有化简,可以先放着,写完所有题回来有空化简)

化简逻辑函数/求函数的值

  • 当然求函数的值可以直接代
  • 布尔代数基本定律也具有 结合律、交换律、分配律
  • 注意:题目中可能要求了必须用什么方法

代数法:

  • 并项法: AB+AB^{'}=A
  • 吸收法:A+AB=A
  • 消因子法:A+A^{'}B=A+B
  • 消项法:AB+A^{'}C=AB+A^{'}C+BC(一般也倒过来用,多余项定律)
  • 配项法:A+A=A , A+A^{'}=1(注意后者是 1 ,不是 A )
  • 摩根定律(反演律):

  • 吸收律(部分已规划至前面方法中):\left ( A+B \right )\left ( A+C \right )=A+BC
  • 由于代入规则的存在,上述式子皆可扩展至多项(将 A 、B 以 AB 之类的代替)
  • AB+\bar{A}\bar{B} 没法化简,另外注意 A + A非 = A ,A · A非 才= 0

 求一个逻辑函数的对偶式

  •  与(·)→ 或(+),或(+)→ 与(·)
  • 遵守 先与后或 的运算顺序,即,先把 与 给变成 或 ,再把 或 变成 与

卡诺图法:

  • 建议看完下面最小项再来看卡诺图
  • 最小项:输入变量总共 n 个,那么这 n 个变量相与,但每个变量出现且仅出现一次(并且是独立状态出现,即出现的状态要么是 AB ,要么是 \bar{A}\bar{B} ,决不能是 \bar{AB}

  • 看看形式就好,注意点在第三列/第三行是 11 而不是 10
  • 可以这样记:(前提是 AB 为横排)三变量的第一列 m 的下标从上往下是 0 1,之后每列对应 + 2 ,第三列与第四列交换位置;四变量的下标是 0 1 3 2,之后每列对应 + 4 ,第三列与第四列交换位置;如果忘了也没事,按每格 ABC 的取值二进制转十进制就是了

备注:铅笔标,写完 1 跟 无关项 就擦掉,否则很影响圈

  • 将逻辑函数(一般需要将函数 → 最小项之和形式/“与或”表达式,展开为最小项方法在下面)中出现的最小项在卡诺图中标出(取值为 1 )
  • 真值表也可转为卡诺图:输出为 1 时的输入变量情况对应在卡诺图中填 1 就行
  • 此处的相邻并不受表格边缘限制,找到就圈出来(主要圈的是 1 ,无关项是帮忙辅助圈 1 的,即 它 可 0 可 1 ,看你圈东西时候的需要)
  • 两个相邻的 1 可合并,保留相同的部分(消 1 变量)
  • 四个相邻的 1 可合并,保留相同的部分(消 2 变量)
  • 八个相邻的 1 可合并,保留相同的部分(消 3 变量),此类型中,表格两端竖着的列并不能合并消变量
  • 一个方格可被包围多次,但每个包围圈必须有新的方格:在此情况下,能圈多就圈多!!!
  • 保留的相同部分,变量取的是 0 时记得对应取非,1 就是原变量,最后全部保留的加起来
  • 做题思路:逻辑函数转换为合适的形式 → 画出卡诺图 → 找 8 保 1 → 找 4 保 2 → 找 2 保 3 → 孤立的 1 圈出来 → 写出合并后的最简“与或”表达式
  • 无关项:

将函数展开为最小项表达式:

  • 将最小项中头顶非符号的认为 0 ,不带的为 1,看做二进制编码,对应十进制的值即为最小项代表符号的下标

譬如,\bar{A}B\bar{C} 即看做 010 ,对应十进制为 4 ,那么此最小项的符号即为 m_{4}

  • 原式一般都是一堆非符号叠加,需要使用到摩根定律
  • 一般都会有需要扩成最小项的项,注意是一个变量一个变量扩,因为 AB + \bar{AB} = 1 != AB + \bar{A}\bar{B}

建议写完最后来合并同样的,否则容易出错

  • 最终式子化成最小项之和的模式

比如这样,

逻辑图、波形图、VHDL语句

与运算(逻辑乘):

  • 与运算表达式:F = A · B
  • 与门符号(多输入的就多加个引脚):

  • VHDL语言:F <= A and B

或运算(逻辑加):

  • 或运算表达式:F = A + B
  • 或门符号:
  • 同或相当于异或做了个非运算

(我™心梗了,这块都写完了给我吞了,我先复习别的了,就不补了,后面有空回来补,md,反正很简单,就是把符号什么的对应的VHDL语句背了,还有考试可能会有另一种形式的门对应就行)

逻辑图的题型:

  • 题型一:根据逻辑表达式画出真值表、卡诺图、逻辑图、波形图、VHDL语句,其中逻辑图有可能被限制使用的器件/器件个数
  • 解题思路:
  • 真值表和卡诺图前面说过
  • 逻辑图就是逻辑电路图:使用布尔代数将表达式转化成符合的情况,直接画就行
  • 波形图根据真值表输入与输出的对应情况画准就行(输入开始跳变的时候,输出就跟着跳变了,所以不会不对齐)
  • VHDL 语句记得逻辑顺序,与或适当用括号隔开
  • 题型二:给出逻辑图,补全波形图或者写出上面那些一系列的东西
  • 根据逻辑图写出输出的表达式,列真值表 → 补全波形图,跟上面差不多
  • 可以出的题型也就那些,下面也算吧

组合逻辑

组合逻辑分析:给出一逻辑电路图,其中有控制输入端,让列出真值表说明输出与输入的关系/说明逻辑功能

  • 题型三:
  • ① 根据控制输入端的分布将总的输出 F 拆分成几个小的输出 F_{1}F_{2} 之类(根据题意来,一般都是总输出上一级的与/或门的输出拆成小输出,最后经过逻辑运算形成总输出)
  • ② 根据电路图,写出每个小输出的表达式(式子出来的形式是输入变量和控制输入变量的逻辑运算)
  • ③ 根据电路图,写出总输出的表达式(式子出来的形式同上)
  • ④ 根据每个小输出的表达式,画出其用到的控制输入端与该小输出的关系的表格(控制输入端那里就是 0 、1 的可能取值,小输出写出的形式是将控制输入端取值代入后其表达式剩下的东西)
  • ⑤ 注意,小输出出来的结果若是两个变量总体被非之类形式,用摩根定律拆成单个变量顶非号那种
  • ⑥ 将小输出的表格根据关系进行排列组合,比如这样(这个例子是 F = F_{1}F_{2} ,不同题不同分析)

  • 题型四:给出逻辑图,让画出真值表,并说明其逻辑功能
  • 说明逻辑功能的题都是看真值表呈现出的特性来做的
  • ① 不管题目让不让画真值表,都先看逻辑图,写表达式,画真值表
  • ② 根据真值表说明取 1 的时候是什么情况
  • ③ 这里注意下,如果题目本身就是拆分成 F_{1}F_{2} 的样子,那么每个输出都单独说一遍取 1 是什么情况,找特点,最后看整体有没特点,如果一眼看不出来,先做完别的题再回来看特点,实在不行就摆上小输出分别说的也行;另外,如果小输出也实在看不出特点,就把取 1 取 0 的情况随便分类说一遍也可
  • 比如,

  • 同类题型:给出转换器件的电路图,分析输出的是什么(就是逻辑功能的分析)
  • 题型五:套娃类型的电路
  • 没必要每个都必须写出完全拆开的表达式,只需要写出它跟上一级的关系表达式就行
  • 之后根据低层画出真值表然后根据里面关系来层层填表更方便些(异或同或用来填真值表更没必要拆开了)
  • 这类题里面有可能出现控制输入端,根据题可能会根据控制信号的 0 、1 进行分类讨论

用器件实现功能

  • ① 将题目要求实现的功能抽象 → 画真值表
  • ② 根据真值表 → 画卡诺图(不用圈):输出的所有情况写进对应格子里(小输出的 0 、1 情况,注意是输入的取值格子里对应的输出情况) + 根据题目判断出的无关项 φ 写进格子(其实我觉得有没卡诺图没区别)
  • ③ 根据真值表 → 写出每一输出的表达式,最小项表达式
  • ④ 接下来就是看给的什么器材了,如果没指定器材就拿写出来的最简表达式照常画图(题目中可能还有使能端的要求,下图是 EN 低电平有效,这种就要加上)(这个时候还是做做卡诺图)

比如这样,

  • ⑤ 具体内容在对应每个器件下面
  • ⑥ 固定 0 为接地,1 为电源,低电平就是非变量,不固定的根据输入变量画逻辑电路图就行
  • 画图照例可拆开原变量与非变量、线可交叉

数据选择器/多路转换器( MUX )74LS153

  • 多路输入、单路输出
  • 大体上来看就是 ① 输入数据端 / ② 输入控制端 / ③ 输出端(一个 MUX 仅一路输出)
  • 输入数据端与输入控制端存在 2^{n} 的关系:
  • 说的二选一/四选一…器件里的 二、四…指的是输入数据端的个数,那么控制端就是对应的 一、二…(双四选一是两片 MUX 并在一起,所以两片双四选一拆开看就是四片 MUX )
  • 控制端对应输入的信号就是对数据输出的下标选择,比如说四选一里的控制端是 00 ,那么输出的就是 D_{0} …以此类推
  • ⑤ 续上题,最小项表达式 → 使用逻辑函数对照法,画图时 EN 接 \bar{ ST}

即:

  • 这张图里,X 、Y 为控制输入端,D 那些是数据输入端,而出来的 D 关于 Z 的表达式就是画图的时候要通过电路给四个数据输入端的引脚送信号的依据
  • 另外,如果出来的只是单个变量的话,可以看看真值表,直接拿 0 、1 替了得了

个人认为,不是根据看谁长得接近控制端而提取谁,应该一般都是以高位作为地址/控制输入端

数据分配器( DMUX )

  • 单路输入、多路输出
  • 大体上来看就是 ① 输入数据端 / ② 输入控制端 / ③ 输出端(一个 DMUX 仅一路输入,但多路输出)
  • 输出端与输入控制端存在 2^{n} 的关系:
  • 说的 1 线 - 4 线…器件里的1…指的是输入数据端的个数,4 就是输出端的个数
  • 控制端对应输入的信号就是对数据输出的下标选择,被选择到的输出端即与输入端输入数据相同,余下输出端都为 1

译码器 74LS139(2:4)/74LS138(3:8)/74LS154(4:16)

  • 大体上看组成是 ① 使能端 / ② 输入端 / ③输出端
  •  输出端与输入端存在 2^{n} 的关系:
  • 通常说的 3:8 译码器 中 3 为输入端的个数,8 为输出端的个数,使能端为 3 个( 2:4 的使能端只是一个 G ),必须满足 G_{1}=1G_{2}=G_{2A}+G_{2B} = 0 的条件(一高电平有效,两低电平有效),不满足条件的话,不管数据输入什么,译码输出全 1
  • 输入端输入的信号就是对数据输出的下标的选择,被选择到的输出端数据为 0 ,余下输出端都为 1
  • ⑤ 数据选择器输入的是控制输入端与操作下作为数据输入的信号,而译码器输入的就是它的数据输入端,只不过出来的输出量是需要经过电路才变成最终转换出的输出
  • 而最小项表达式 → 译码器的输出与最终输出之间的电路;同理可拆分原变量和非变量,只是就是一边是译码器的连接,一边是最终输出与译码器输出的两张图了,记得中间用箭头连接
  • 另外,因为译码器被选中出来的话就是 0 ,所以译码器出来的输出是低电平有效,所以往往最小项表达式需要使用摩根定律
  • 表格里是从左到右下标依次减小的,画图的时候记得对应下

七段数字译码器 74LS48

  • 共阳/阴极电路:不同的连接方式,7 个发光二极管共用一个阳/阴极;区别就是共阴极高电平有效,共阳极低电平有效
  • 真值表输入方其实就是 8421 BCD 码,输出端就是 BCD 对应的十进制显现出来该亮的二极管

此类题最好先进行画图,像下面这样,

  •  这个表达式有些输出用真值表看 0 的方法做比较容易写,但是看 0 就是遇 1 输入加非

编码器

  • 输入个数大于输出个数,输出四位,组成 BCD 码,输入十位 是十进制数码,所以是个十进制数码 → BCD 码的转换,刚好跟译码器相反
  • 大体上来看是 ① 输入端 / ② 输出端

比较器 74LS85

  • 两组输入(八个输入端)+ 比较结果的输出(三个输出端从低到高:> = <)+ 三个级联输入(从高到低:> = <)(是用于 4 位比较器的扩展)
  • 高位的那个 74LS85 的级联 = 接高电平,其余接地,跟低位的 74LS85 对应将前者输出和后者级联连接起来就可构成 8 位数据比较器

加法器:全加器 FA / 半加器 HA

  • 三个输入端(加数、被加数、低位进位信号)+ 输出端(两个,一个是向高位进位的信号,一个是输出结果)
  • 半加器:两个一位二进制数相加,并且能向高位进位的电路
  • 全加器:两个一位二进制数相加的同时再加上低位来的进位的逻辑电路

奇偶校验器 74LS280

  • 偶数个 1 和数总为 0 ,奇数个 1 ,和数总为 1

判断竞争冒险

  • 代数法:
  • 就是说如果式子里一个变量同时以原变量的形式和非变量的形式出现,那么就具有竞争力
  • 其次,将没有竞争力的变量和有竞争力的变量排列组合写出所有能出现的情况,然后表达式代入值,只留另一个变量的形式,看会不会满足上面的形式,而满足上面的形式就说它具有险象
  • 卡诺图法:化简的圆相切,且相切处无其他圈包含
  • 冒险出现在变量发生变化的时刻,可以通过卡诺图增加冗余项将两个圈交际起来

时序逻辑

锁存器:基本 SR 锁存器(高/低电平有效)、门控 SR 锁存器、门控 D 锁存器

  • 锁存器是时序逻辑电路的基本单元
  •   Q^{n}\bar{Q^{n}}:现态和次态,翻转前为现态,反转后为次态

  • 组成:一个固定的时序脉冲输入端(内部写的是 EN ) + 根据名字确定的输入端( SR 是 S 、R ,D 只有一个 D )+ 两个输出端(  Q^{n}\bar{Q^{n}}
  • SR 锁存器高低电平看输入端有无圆圈符号
  • 功能表:
  • ① 基本 SR :(高电平)11 不稳,00 不变;(低电平)00 不稳,01 置 1 ,10 置 0 ,11 不变
  • ② 门控 SR :EN = 0 和 00 不变,10 置 1 ,01 置 0
  • ③ 门控 D :D 和 EN 对应:01 置 0 ,10 置 1 ,EN = 0 不变
  • 状态方程:
  • ① 基本 SR :Q^{n+1}=\bar{S}+R\bar{Q^{n}}(此为高电平,低电平将 S 、R 替换成对应非变量就行)
  • ② 门控 SR :Q^{n+1}=S+\bar{R}Q^{n}
  • ③ 门控 D :Q^{n+1}=D

触发器:SR / RS 、D 、JK 、T

  • 看见 RS 记 SR ,好对应功能表
  • 组成:一个固定的时序脉冲输入端(内部是个底边贴器件边缘的小三角) + 根据名字确定的输入端( SR 和 JK 都是两个( SR → S 、R ;同理 JK ),D 就只有一个 D,同理 T )+ 两个输出端(记得 Q 的 非变量 的输出端那里要有个小圆圈)
  • 波形图:是在时钟脉冲( CP )的边沿改变状态的,看器件符号的 CLK 那个小三角旁边有没有圆圈(非),有的话就是在 CP 的下降沿改变状态的,就叫负边沿触发器,没有就是在 CP 的上升沿改变状态的
  • 功能:(保持 → 次态 = 初态,送数/置 0/1 → 次态 =( 01 时)0 = ( 10 时)1 ,翻转 → 次态 = 初态 的 非变量,不稳 → 不确定次态)
  • ① SR :XX 和 00 都是保持,01 和 10 前者置 0 ,后者置 1,11 是不稳
  • ② D :XX 是保持,0 和 1 是送数,前者送 0 ,后者送 1 ,没有 11
  • ③ JK :XX 和 00 都是保持,01 和 10 都是送数,11 是翻转
  • ④ T :0 是 Q^{n} ,1 是 \bar{Q^{n}}
  • 状态方程:
  • ① SR :Q^{n+1}=S +\bar{R}Q^{n}
  • ② D :Q^{n+1}=D
  • ③ JK :Q^{n+1}=J\bar{Q^{n}}+\bar{K}Q^{n}
  • ④ T :T\bar{Q^{n}}+\bar{T}Q^{n}

寄存器(边沿 D 触发器)、移位寄存器

  • 边沿 D 触发器:边沿触发,输出控制为 1 时为高阻态,为 0 且 CP 为 0 时输出不变,余下情况 D 输入是什么输出就是什么数
  • 移位寄存器:就是将触发器首尾相连

同步计数器

  • 三个触发器可以表示三位二进制数,与移位寄存器一样都是时钟脉冲相连

移位计数器

  • 扭环计数器:K 个触发器可计 2K 个数
  • 环型计数器:K 个触发器可计 K 个数

题型一:给出一部分波形图,让补全输出信号的波形

  • ① 画输出波形改变的参照线(之后可以在线上改变输出形态):
  • 看题目中说的器件类型(若有逻辑电路图就看脉冲那里有没三角,没有就是电平触发,有就是边沿触发,然后根据圆圈有无判断是上升/下降还是高低) →
  • 若为触发器:
  • a .题目说明负边沿/正边沿,负边沿 → 沿 CP 下降沿画线,反之沿上升沿
  • b .有逻辑电路图 → 看器件脉冲输入端是否有圆圈符号,有 → 下降沿,反之上升沿
  • ② 画输出波形 Q :
  • 看题目中说的器件类型 → 回忆对应功能表 → 确定题目开始初态 → 看参照线画过的输入端对应输入情况 → Q 的取值跟着输入变化(就看表) → 画 Q
  • 输出波形是在参照线上变的,中间不会改变状态,也就是说不用关注输入端整体怎么变化,只用看辅助线那时刻的输入,抽象成 0 、1 ,找输出的情况进行画
  • ③ 画 Q 的非变量 的输出波形:跟 Q 波形对称就行

题型二:给出逻辑电路图,分析时序/计数电路

  • 要的就是三个方程:激励 + 状态 + 输出
  • ① 根据逻辑电路图,写出输入信号的方程(即激励方程),老题型了,记得化简(照例同或异或不用化,根据奇偶数个 1 来判断整体取值)
  • ② 将输入信号的方程代入对应器件的次态(特征)方程中(即状态方程),如果是多片连接的话,还有输出方程
  • ③ 什么器件 → 功能表什么时候是 置 1 的 → 确定输入信号的取值 → 推出表达式里的变量的取值情况
  • 自产自销类型(输入端和输出端连一起了)

  • 意思大概是 Q^{n}\bar{Q^{n}} 可以直接替换次态方程中的输入,具体怎么替换看谁连谁
  • 原先不连的时候直接根据功能表输入的取值来找输出就行
  • 比如 J 连了 \bar{Q^{n}},那么次态方程中的 J 就可以用 \bar{Q^{n}} 代替,输出按照公式和初态来就行
  • 记得关注 CLK 边上有没圆圈
  • 如果式子里保留了 K 之类的没给出取值的东西,可以根据替换 J 的输出来确定功能表里对应的输出

状态转移表 + 状态转移图

  • 一般这种题都得先把那三个方程写出来,然后再做表/图
  • 列:CP(脉冲顺序) + 现态 PS + 次态 NS +输出
  • 根据开头的 现态/初态 写出对应的 次态,将此 次态 作为下次脉冲到来时的 现态 以此类推
  • 如果没有明确说按时间脉冲来就照例全部情况列出来
  • 状态转移图:
  • 圆圈是状态( 0 、1 序列),→ 指向的是现态可以到达的次态
  • 判断自启动和几进制计数器

  • 画出转移图后,看谁没有在形成的圈里(有效循环),谁就是无效状态
  • 如果图里无效状态不是独立的,而是与圈连接的,那么电路可以自启动(无效状态在 CP 作用下能够进入有效循环)
  • 有效循环是几个状态构成的就是几进制

题型:用触发器构成计数器

  • ① 列出真值表(在这里面就是状态转移方程),一般会给有效状态(计数器只用管有效状态)
  • ② 根据真值表求出状态方程,出来就是次态关于现态的表达式
  • ③ 代入对应器件的特征方程中,得到激励方程
  • ④ 根据出来的激励方程画逻辑电路图
  • 老题型了

判断米里型还是摩尔型

  • 画状态转移图 and 表
  • 输入与输出直接相关的是米里型
  • 输入与输出不直接相关的是摩尔型
  • 不太靠谱的判断方法:图里箭头是 控制 / 输出 的是米里型,只有个 控制 的是 摩尔型

做输入序列检测器

  • 只有一个输入端 X 和一个输出端 Z
  • 检测的序列有几位就有几个状态,比如检测 101 就有三个状态
  • 先假设个初态为 A ,当 X 为 1 时,说明序列的第一个是 1 ,记下来,然后进入 B 状态判断第二个 X 是不是 0 ;如果 X 为 0 ,则说明第一个是 0 ,保持现态,等下一个 X 进来判断
  • 以此类推
  • 检测到第三个 1 后,就出现问题了,可重叠或者不可重叠,先把前面记录的两个给报废掉,后面分情况,不可重叠呢,这个也就不记录了,输出 1 然后直接回初态重新开始检测
  • 如果可重叠,输出 1 回第二个状态继续进行
  • 画表也就是现态 + 次态 / 输出(里面分 X 取 0 / 1 )

根据波形确定计数器有几个状态

  • 每个脉冲边沿变化的时候(要么上升沿要么下降沿)把状态抽象成序列,看不重复的序列有几个

状态编码

  • 一对一法:每个状态分配一个触发器
  • 计数器法:分配确切数目的触发器,触发器输入的变量形成到的二进制转换为十进制数是下标
  • ① 看状态表,将等价的状态情况合并起来
  • ② 选择一对一 / 计数器 分配对应数量的触发器
  • ③ 画出状态转移表
  • ④ 根据表写出状态方程和输出方程
  • ⑤ 对式子进行对应的变化,实现电路

设计寄存器堆

  • 使用 DMUX(数据分配器)将单端口输入的数据变成多路,存入寄存器堆中,再使用 MUX(数据选择器)将数据以单路形式读出
  • 其中采用地址输入译码器进行分时复用的选择

阵列图

  • 一般在 ROM RAM 中出现的题型
  • 根据要实现的功能作真值表
  • 根据真值表写出输出的最小项表达式
  • 画出阵列图:
  • ① 画横线:输入的原变量 + 非变量,每个一条横线
  • ② 画竖线:一共有多少个输出变量,就画对应 2 的次方个竖线,即最小项的总数
  • ③ 标明最小项:在与输入量的横线交汇的地方,将每个最小项画对应的圆圈表示出来(在同一条竖线上的变量就是相与)
  • ③ 标明输出有的最小项:根据最小项表达式,输出里有的就在输出那条线上的交叉点画圈(在同一条横线上的最小项就是加起来)

ROM 容量计算 + 一堆乱七八糟芯片所需片数的计算

  • 输入 n 位,输出 m 位,所以 ROM 容量为 2 的 n 次方 *( n + m )
  • 用需要构成的寄存器容量除以芯片容量就是需要的片数
  • 14
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值