lcytms 发表于 2016-12-25 22:35:54

1352
        这个就是D锁存器。
        我们先把端口声明出来。
        这个时候一定要交换为顶层,仿真我们才能做得下去。
        Ctrl+S、Ctrl+K。
        然后我们同样用门级原语,第一个是它的反向器not,u1。

lcytms 发表于 2016-12-25 22:37:59

1353
        然后是与非门,u2。
        四个与非门,u3、u4、u5。
        声明中间信号,d_n、s_n、r_n。
        写参数。

lcytms 发表于 2016-12-25 22:39:19

1354
        写参数。

lcytms 发表于 2016-12-25 22:41:09

1355
        Ctrl+S、Ctrl+K。
        这次我们写成验证的时候呢,我们特地加一段毛刺,锁存器的毛刺现象、冒险和竞争现象,就是数字电路里面讨论比较充分的一个部分。
        新建verilog,另存为d_latch_tb.v。
        写时标。

lcytms 发表于 2016-12-25 22:42:42

1356
        做好装配的准备。
        写时钟,一定要记住,初始化的时候,1比0好。
        既然写了时钟,我们就写它的周期。
        我们写一个25MHz的时钟,周期40ns,半周期20ns。

lcytms 发表于 2016-12-25 22:43:48

1357
        初始化时钟为1,d为0。
        然后写forever,我写一段毛刺。
        就是d,data信号本身就有毛刺。

lcytms 发表于 2016-12-25 22:45:09

1358
        我们可以看得到这种穿透现象。
        然后写一个停机。

lcytms 发表于 2016-12-25 22:46:55

本帖最后由 lcytms 于 2016-12-25 22:47 编辑

1359
        做仿真设置。
        运行仿真。
        所以说,我们这段课程呢,实际上对我们建模的学习,是对数字电路的复习。
        观察仿真波形。
        clk为高电平的时候,也就是使能信号为高电平的时候,数据穿透了,d是什么,q就是什么。
        当使能信号从高到低跳变的瞬间,这个信号被锁存了下来。
   

lcytms 发表于 2016-12-25 22:50:29

1400
        变成高电平的时候是穿透的,变成低电平的时候被锁存住了。
        这种逻辑在FPGA里面,称之为电平敏感的逻辑。
        因为使能信号是电平触发的,当它为高电平的时候,数据穿透。
        为低电平的时候,数据保持。
        因为这是一个电平敏感。
        当然我们现在只是做一个复习,同时我们也是看到数据流、行为、结构化怎么写。
        现在我们讨论的这些时序逻辑,全都是结构化,全都讨论了how to do。
1401
        现在我们进一步地把它转变成沿敏感,也就是说这个触发,完全是沿信号的触发,而不是电平信号的触发。
        现在锁存的瞬间是电平,但是为高电平的时候却穿透了。
        我们知道,完全的沿敏感才能有效屏蔽。
        在数字电路里面,它是用什么方式来解决这个问题呢?
        本身这个D锁存器就是沿锁存,但是呢,由于在高电平的时候,它是穿透的,所以说,数字电路的解决方案就是维持阻塞,今天的寄存器就是这么做的。
        这样的话呢,我们把D类型的锁存器变成D类型的触发器。
1402
        D类型的Flip flop,缩写是DFF,D触发器。
        这个DFF呢,就是我们现在说的register,寄存器。
        DFF称之为寄存器,就是说具有注册登记保持的功能。
        这个呢,是同步电路里面的一个名词,register。
        电路的名词,就是DFF。

lcytms 发表于 2016-12-25 22:51:52

1403
        维持阻塞怎么构成呢?
        有两个类似的结构,就是D锁存器。
        这个是它的从机,然后它的前级构成一个主机,也是D锁存器。
        主机,从机,这边的Q,这边的D,直接相连。
        这边的Q输出端,就是触发器的Q输出端。
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: 跟李凡老师学FPGA之D02:EDA建模、HDL描述语言(20160424课堂笔记)