KaiSpace
tech

sequential circuits理解

sequential circuits难点理解

什么是sequential circuits

sequential circuits是可以进行存储的电路,其根本是latch(在pulses激活)和flip-flops(在edge激活)。整个电路会和SR更新频率对齐,这样就不会造成震荡。我们可以假设输入和电路时频对齐。

latch

1. SR-latch

Q(t)为当前状态,Q(t+1)是下一个状态。

image-20250401130450465

image-20250401130505690

2. Gated S-R Latch

image-20250401130759107

3. Gated D Latch

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

image-20250401130840466

image-20250401130909437

flip-flops

image-20250401131340038

1. S-R flip-flop

image-20250401131359628

2. D flip-flop

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

image-20250401131451083

3. J-K flip-flop

image-20250401131644994

4. T flip-flop

image-20250401131721899

上述所有的都是synchronized inputs,因为只有当在时钟周期的时候才会进行更新。

5. asynchronized inputs

asynchronized inputs可以在时钟周期之外立刻更新Q。一般用于初始化,紧急状态清除等场景。

image-20250401144224311

构建sequential circuits

由于当前我们的latch和flip-flop只能实现基本的功能,如果需要更加复杂的要求需要我们自行进行design。我们也需要看懂更复杂的电路的能力

1. 理解更复杂的电路

首先我们需要通过电路图列出表格,如下图:

image-20250401145443742

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

我们同样可以画出state diagram:

image-20250401145712683

其中每个edge上左边是x,右边是y。这样我们就可以快速得出x一些列输入后会得到什么结果。

2. design

一般我们从state diagram出发,然后得出state table:

image-20250401150112677

若我们需要实现上述表格,由于A和A+之间的关系较为复杂,有latch和flip-flop参与,所以我们首先推断latch和flip-flop获得的输入是什么(TA, TB或JA, KA, JB, KB等),列出表格。

通过肉眼观测法或者kmaps法得到SOP,并设计电路

memory

1. 单个memory cell

单个memory cell为下图模样:

image-20250401150331403

2. 4 x 3 RAM

3bit为一个word,总共四个word

image-20250401150620245

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

image-20250401150831084

多层次组合后可以得到更加大的RAM。

本文插图大量借鉴NUS CS2100课件

Comments

No comments yet.