sequential circuits理解
sequential circuits难点理解
什么是sequential circuits
sequential circuits是可以进行存储的电路,其根本是latch(在pulses激活)和flip-flops(在edge激活)。整个电路会和SR更新频率对齐,这样就不会造成震荡。我们可以假设输入和电路时频对齐。
latch
1. SR-latch
Q(t)为当前状态,Q(t+1)是下一个状态。


2. Gated S-R Latch

3. Gated D Latch
虽然没有用Q(t)的反馈决定Q(t+1),但是Q会被存储下来以便后续使用。


flip-flops

1. S-R flip-flop

2. D flip-flop
为了保持Q不变需要在每个采样时刻都输入同样的D。虽然采样频率非常高,但是仍然能够在采样时刻之间获取Q的值。

3. J-K flip-flop

4. T flip-flop

上述所有的都是synchronized inputs,因为只有当在时钟周期的时候才会进行更新。
5. asynchronized inputs
asynchronized inputs可以在时钟周期之外立刻更新Q。一般用于初始化,紧急状态清除等场景。

构建sequential circuits
由于当前我们的latch和flip-flop只能实现基本的功能,如果需要更加复杂的要求需要我们自行进行design。我们也需要看懂更复杂的电路的能力
1. 理解更复杂的电路
首先我们需要通过电路图列出表格,如下图:

根据这张表格我们可以得出A+,B+,y关于A,B,x的公式。用肉眼观察法或者kmaps法得出公式。
我们同样可以画出state diagram:

其中每个edge上左边是x,右边是y。这样我们就可以快速得出x一些列输入后会得到什么结果。
2. design
一般我们从state diagram出发,然后得出state table:

若我们需要实现上述表格,由于A和A+之间的关系较为复杂,有latch和flip-flop参与,所以我们首先推断latch和flip-flop获得的输入是什么(TA, TB或JA, KA, JB, KB等),列出表格。
通过肉眼观测法或者kmaps法得到SOP,并设计电路
memory
1. 单个memory cell
单个memory cell为下图模样:

2. 4 x 3 RAM
3bit为一个word,总共四个word

3. 1K x 8bit RAM组成 4K x 8 RAM

多层次组合后可以得到更加大的RAM。
本文插图大量借鉴NUS CS2100课件
Comments
No comments yet.