视频:
如果本次课程对应的 Coursera 的视频打不开,可以点击下面链接
P1W3U3.2 - Flip Flops
从上节课了解到:
out(t)由 In(t-1)在一个Clock周期内(从 t-1 到 t )得出。
因为 对应的 输入 和 输出 差了一个Clock周期。
所以需要引入一个东西,在一个周期内记住 这个输入,从而得出正确对应的输出。
(注:这里解释的感觉有欠缺)
那这个东西就是 Flip-Flops(触发器)
它会把输入的状态,在一个Clock周期后,在输出端呈现。
Flip-Flops 有很多种,在此需要的是叫DFF
DFF(Data Flip Flop)
如图 它会记住 t 时刻的 in。
然后在一个Clock周期后 在out输出。
逻辑电路 示意图里 的小三角 代表此电路是一个 时序电路。
这个课程,只需要这一种时序逻辑电路DFF,就能完成存储,计数等电路
在这个课程里, DFF 就像 NAND 一样,被假设成一个最基础的元件。
课程里并不会去设计实现 DFF
提到老师提供的硬件模拟器也不支持 实现DFF
那真正的物理电路应该怎么设计呢?
最后解释了一下在物理世界DFF,可以是由NAND组成的。
概念复杂,大概分两步实现一下:
第一步:(待完善)
第二步:(待完善)
课程里需要的时序电路,基本都是基于如下结构实现的。
图里 有一串DFF,每一个DFF可以理解为一个位(bit)
需要学生设计的是 左边蓝色色块(Combinatorial Logic),之前两周设计的那种逻辑电路。
另外上一步输出的也可能会作为当前步的输入。
全课时序电路的设计思路先来介绍一个可以一直记住 一位状态的东西(1位寄存器),这一位的状态经过多少Clock周期都不会变,直到请求记住新的状态。
2个input:
如果 load现在是 1,那么下一时间的 out = 现在的 in
如果 load现在是 0,那么下一时间的 out = 现在的 out
下图给出一个例子,看load 和 in 的变化,如何影响 out
那么这样一个东西(1位寄存器),我们如何设计实现呢。
如下图
利用一个mux 和一个 dff
下图 给出一个带时序的来分析一下:
红圈框住的时序后,out 应该是什么呢?
上图 红圈框住的时序后,out 应该是什么呢?答案:0
这节课,知道了DFF在课程里是直接给出(就像NAND),不用学生设计和实现。
并且用 DFF 和 Mux 实现了一个 1位的寄存器。
下节课,就来看如何用DFF来做出一个巨大的存储器。
网友评论