布尔代数
Boolean Algebra
基本恒等式
Boolean Functions
例
对偶式
The Dual of a function is obtained by changing the AND operators to OR and vice versa and any 1’s to 0’s and vice versa.
如果将表达式中所有的“·”变成“+”,“+”变成“·”,“0”变成“1”,“1”变成“0”,并保持原函数
中的运算顺序不变,则所得到的新的表达式称为函数的对偶式。
函数化简
积之和
Sum of products (SOP)
Consider the combinations where 1 is presented.
和之积
Product of Sums (POS)
Consider the combinations where 0 is presented.
逻辑门
- 反相器 (inverter) 是可以将输入信号的相位反转180度,应用在模拟电路。
- 非门是将输入端的高低电平翻转,应用在数字电路上。
通用门
A complete gate set is a set of logic gates that can be used to implement any Boolean function.
For example,
- (AND, NOT and OR) is a complete set.
- subset (AND and NOT)、(AND and OR) 、(NOT and OR) are also a complete set.
组合电路
Combinational Circuits
半加器
- 半加器(half adder)是一个实现两位二进制数相加的组合逻辑电路
- 输入:X 和 Y(加数和被加数)
- 输出: (进位)与 S(和)
全加器
full adder
- 全加器实现三位二进制数相加的组合逻辑电路
- The full adder computes the sum of three inputs (A, B, and Cin) and produces a Sum output (S) and a Carry output (Cout).
- 由两个半加器和一个或门组成
行波进位加法器
Ripple-carry adder,RCA
- N-bit 加法器可以根据全加器组合而成。每个全加器的输出进位 作为下一个全加器的输入进位 ,这种加法器称为行波进位加法器。
Example: 4-bit adder (represent integers in the range 7 to +7)
超前进位加法器
- Carry look-ahead adder (CLA) also known as a fast adder.
- RCA 第 n 号全加器要输出计算结果至少要等到第 n-1 号全加器把进位信息传过来,如果级数很高则会出现组合逻辑延时过长的情况。
- 超前进位加法器的思想是并行计算进位
- The design involves two Boolean functions named Generate and Propagate
- 计算的方式如下:
💡
和 由对应的 和 生成
Example: 4-bit Carry Look-Ahead Adder
💡
要展开为只关于输入项 。
若保留 ,相当于又要延迟进位
设计步骤
- : final carry
加减法器
- Example: 4-bit adder/subtractor
- When S = 0, the circuit is an adder.
- When S = 1, the circuit is a subtractor.(负数使用补码 Two's complement ).
多路转换器
信号选择器 / 复用器
- A multiplexer (also known as a "mux") is a is a digital circuit that selects one of several input signals and passes the selected input to a single output.
- 用于信号的切换,在多路数据传送过程中,能根据需要选出其中任意一路电路,用于节省互连 (interconnection) 成本。
- Example: 4-1 line multiplexer
D0、D1、D2、D3 是输入引脚,S0、S1 是选择引脚,Y 是输出引脚。
Method of Multiplexer Implementation
- A is taken to be the data variable and B,C to be the select variables.
- C is taken to be the data variable and A,B to be the select variables.
多路分配器
- 将经复用所形成的合成信号恢复为多个原独立信号
Example: 4-1 line demultiplexer
时序电路
Sequential Circuit
锁存器
Latch
只与输入信号相关,没有时钟端。
- 锁存器是最基本的存储元件,它是透明 (transparent) 的,当控制输入端为 1 时,从输出端可以看到数据输入端的值。
- The output can change at any instant in time while the Enable input is set HIGH.
- A flip-flop has two inputs and two outputs. The outputs (Q and Q’) are complements of each other.
- When Q = 1; Q’ = 0, the flip is said to be in a set state.
- When Q = 0; Q’ = 1, it is said to be in a reset state.
SR Latch
- SR latch is constructed from two cross- coupled NOR gates
逻辑图 (Logic diagram)
功能表 (Function table)
状态图 (State diagram)
特征方程 (characteristic equation)
(约束条件:S 和 R不能同时取1)
D Latch
- One way to eliminate the undesirable undeined state in the SR latch is to ensure that inputs S and R are never equal to 1 at the same time
- 命名来源它可以在内部存储元件中保存数据 (data)
- The binary information present at the data input of the latch is transferred to the output when the control input is enabled (1)
- When the control input is disabled (0), the binary information that was present at the data input at the time the transition in occurred is retained at the output until the control input is enabled again
触发器
Flip-flop
受时钟控制,只有被触发 (trigger) 时才产生输出。
- Clocked version of Latch flip-flop
- Flipflops often have additional inputs that allow them to be set and reset independently of the clock input. Such inputs are known as asynchronous inputs.
- The inputs that asynchronously set the flipflop are called preset.
- The inputs that asynchronously reset the flipflop are called clear.
触发器响应时钟变化的方式
边沿触发式 (edge-triggered)
- 只有在时钟由 0 变为 1 或者由 1 变为 0 那一瞬间触发器才被触发
- positive-edge clock
- nositive-edge clock
- 其他所有时间(包括时钟脉冲维持为1),触发器都处于无效状态
脉冲触发式 (pulse-triggered)
也称为“主从触发”
- 当出现时钟脉冲时, 输入信号控制触发器的状态(准备触发)
- 当没有出现时钟脉冲时(信号稳定后),触发器的状态才正式发生改变
- CP 在下降沿时封锁输入信号,并读取已在 CP 经上升沿后存储进“主存储器”的输入状态。
水平触发式 (level-triggered)
只有在时钟信号保持某个逻辑电平时,输入信号的变化才会影响锁存器的输出。
通常用于异步电路中,输入信号的变化必须立即反映在输出信号上。
Explain the main difference between an edge-triggered and a level-triggered flip-flop.
Edge-triggered flip-flops respond only to changes on the rising or falling edge of the clock signal, while level-triggered flip-flops respond to changes whenever the clock signal is at a particular logic level.
JK flip-flop
- A combination of the SR and T, in that it behaves like an SR flip flop, except that causes the flip-flop to change states.
Master-slave JK flip-flop
- 主从式触发器由主触发器和从触发器组成。
- 相比普通触发器而言,主从式触发器是分步工作,更加稳定。
- When the clock pulse is true, the slave flip flop will be in the isolated state, and the system's state may be affected by the J and K inputs. The slave remains isolated until the CP is 1. When the CP set to 0, the master flip-flop passes the information to the slave flip flop to obtain the output.
- 主从 JK 触发器在 CP = 1 期间,J、K信号不变,当 CP 由 1 变 0 时,“主触发器”的输出传到“从触发器”的输入。
寄存器
Register:存储二进制代码
- It consists of an array of flip-flops connected together with a common clock.
- 存放 n 位二进制代码的寄存器,需用 n 个触发器来构成
类型分类
- 数码存取方式有串行 (Serial in) 和并行 (Parallel) 两种。
- 将 n 位二进制数一次存入寄存器或从寄存器中读出的方式称为并行方式。
- 将 n 位二进制数以每次1位,分成n次存入寄存器并从寄存器读出,称为串行方式。
并行方式只需一个时钟脉冲就可以完成数据操作,工作速度快,但需要 n 根输入和输出数据线。
串行方式要使用几个时钟脉冲完成输入或输出操作,工作速度慢,但只需要一根输入或输出数据线,传输线少,适用于远距离传输。
- 按输入方式:串行输入 (Serial In)、并行输入 (Serial Out)
按输出方式:串行输出 (Parallel In)、并行输出 (Parallel Out)
移位寄存器
Shift register
- 功能分类
- 按移位方向:左移位寄存器、 右移位寄存器、双向 (Bi-directional) 移位寄存器
4位右移寄存器
- 其中第一个触发器 的输入端接收输入信号,其余的每个触发器输入端均与前边一个触发器的 端相连。
- 移位原理
- 从 CLK 上升沿到达开始与到输出端新状态的建立需要经过一段传输延退时间,所以当 CLK 同时作用于所有的触发器时,它们输人端的状态还没有改变。
- 于是 按 原来的状态翻转, 按 原来的状态翻转, 按 原来的状态翻转。同时,加到寄存器输入端的代码存入 。
- 总的效果相当于移位寄存器里原有的代码依次右移了 1 位。
- 功能描述
例如,在 4 个时钟周期内输人代码依次为1011,经过 4 个 CLK 信号以后,串行输入的 4 位代码全部移人了移位寄存器中,同时在 4 个触发器的输出端得到了并行输出的代码,实现数据的“串行-并行转换”。
如果首先将 4 位数据并行地置入移位寄存器的4个触发器中,然后连续加入 4 个移位脉冲,则移位寄存器里的 4 位代码将从串行输出端 依次送出,从而实现了数据的”并行-串行转换”。
4位左移寄存器
左移和右移只是寄存器的输出的位置发生了改变,并没有改变输入输出的二进制数据的顺序,所以,数据输入的顺序保持不变,只不过右移输入端在D0,左移在D3。
计数器
Counter
尽管计数器也算是一种特殊类型的寄存器,但一般将它和寄存器区别对待。
寄存器的主要作用是在数据处理过程中保存信息, 而计数器用于对处理过程进行时序控制。
同步计数器
Synchronous counter
2-bit (Modulo-4) Counter
4-bit (Mod-16) Counter
异步计数器
Asynchronous counter
2-bit Counter
4-bit Counter
- Assuming the propagation delay of each flip flop is . When the clock makes a transition from the active level to the inactive level, responds later and responds later... The flip flops don’t change simultaneously.
Note that these incorrect intermediate values may cause problems in larger more complex circuits.
电路设计
时序电路是状态依赖的,故又称状态机 (State Machine, SM)。
- 有限存储单元构成状态机的状态数是有限的,称为有限状态机 (Finite State Machine, FSM)。
米利型时序电路
Mealy State Machine: Sequential system where output depends on
current input and state
.穆尔型时序电路
Moore State Machine: Sequential system where output depends only on
current state
.步骤
- 选择触发器类型
构造状态图和状态表
- 状态化简
- 两个等价状态都可以合并成一个状态
Definition
: Two states are equivalent when the next state and outputs for each input column are the same for both states.
Eliminate Redundant States
- 状态分配
- 确定状态编码的位数。
- 同步时序电路的状态取决于触发器的状态组合,触发器的个数即状态编码的位数。
- 对每个状态确定编码,从各状态中取各状态组合可能存在多种不同方案。
State Assignment
确定激励方程和输出方程
Excitation Equations :关于输入与输出的表达式(激励信号即输入信号)
- denotes a transition
- denotes a transition
- denotes a transition
- denotes a transition
- denotes an optional transition (i.e. any of the above)
- 最左边一列表示触发器从原状态到新状态的转换情况,右边为对应某一特定状态转换,所需要的驱动信号。
- 画出逻辑图
例题
使用 触发器 设计 8421 码编码的计数器
计数器实际是对时钟脉冲计数,每到一个时钟脉冲触发沿,计数器输出编码值加 1。
- 每经过 10 个状态,计数器完成一个周期。
- 编码顺序与 8421码一致,即共需要 4 个触发器。
- 列出状态图表
- 确定激励方程
- 一共可以组合 16 个状态(0000~1111),其中有 6 个状态(1010~1111)在 8421码是中无效,在卡诺图中以无关项×表示
按状态表画出各触发器激励信号的卡诺图
- 画出逻辑图