集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

跟李凡老师学FPGA之D02:EDA建模、HDL描述语言(20160424课堂笔记)

[复制链接]
 楼主| lcytms 发表于 2016-12-25 22:12:57 | 显示全部楼层
1337
        这时候是一个交叉耦合的稳态,就像我们上午所说的,置于一个凹槽之中的一个球,这个时候这个稳态是保持的。
        任何轻微的抖动都会导致这种交叉耦合的反馈,使它回到原来的稳态。
1338
        它的输入为全1的情况下,只有触发能量足够大,才能使这种交叉耦合发生翻转。
        也就说11的情况是保持,00的情况是禁止。
        现在我们也对他建模,分配命名为U1、U2。
        用门级原语的形式来做。
        现在是RS锁存器,但是是由与非门构成的。
        将原来的rs_latch.v另存为rs_latch_nand.v,修改模块名字,并将它设为顶层。
        在层次这棵树上可以找到它。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:14:21 | 显示全部楼层
1339
        修改端口,将原来的正逻辑改为负逻辑。
        用与非门的原语来做。
        做它的连线。
        这是构成了交叉耦合的,由与非门构成的RS锁存器。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:16:49 | 显示全部楼层
1340
        Ctrl+S、Ctrl+K。写它的验证。
        新建rs_latch_nand_tb.v。
        写时标。
1341
        实例化。
        装配上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:18:12 | 显示全部楼层
1342
        写它的激励。
        写forever。
        依次set、保持、reset、保持。
        写停机。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:19:47 | 显示全部楼层
1343
        做仿真设置。
        RS锁存器,由与非门构成的。
        分析和综合。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:22:26 | 显示全部楼层
1344
        查看仿真结果。
        现在我们即便是做的是与非门,仍然讨论的是how to do,如何去实现它,用电路逻辑的方式。
        现在仍然没有上升到行为。
        在这一拍做set,S_n为真值,所以说输出的是1状态。
        这一拍,输入撤销了,保持,两个都是假值,但是这个1状态得到记忆,能够维持下来。
        现在这一拍,是做一个reset,r_n为真值,低电平的负逻辑,所以说输出为0状态。
        在这一拍保持了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:27:08 | 显示全部楼层
1345
        这个呢就是RS锁存器。
        RS锁存器仍然使用电路结构的方式来实现。
        下面我们进一步地把这个RS锁存器演变为,进化为D锁存器。
        RS锁存器它是靠两个端口,数字电路告诉我们,通过set和reset的端口来进行设置。
        但是呢,这个电路工作的时候并不是很方便。
        通常呢,我们会把这个RS锁存器,用称之为D类型的锁存器来替代。
        只用一个数据位,一个比特位,来做它的双稳态的电路的驱动。
1346
        那么这个时候怎么做呢?
        实质上还是这张图,只不过在这张图前级再加一个与非门。
        这边也加上一个与非门。
        这两个与非门呢,用一个数据线来控制,这根线呢,就称为D线,或者是data线,数据线。
        数据线的一头连接到s_n。
        数据线的另外一头用反相器取反,连接到reset的端口上。
1347
        剩下的两个端口连接到一起,做使能线。
        当使能线为真值的时候,使能为1,D为1的时候,1跟1相与为1,1取反为0。
        这边反相器之后为0,0跟1相与为0,0取反为1。
1348
        这是负逻辑嘛,S_n为真值,所以它输出的是1。
        就好像1从D输入端,穿透到了Q输出端。
        为什么我们讲穿透呢?
        我们来看,如果D输入端不是1,而是0。
        0跟任何数相与为0,取反后为1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:28:41 | 显示全部楼层
1349
        反相器后为1,1跟1相与为1,取反为0。
        Reset为真值,输出是0状态。
        我们这样一分析,就可以看得到,在使能信号为1的时候,输入为1,输出为1,输入为0,输出为0。
        这就好比这个D穿透了这个锁存器,在使能信号为真值的时候。
        当使能信号为假值的时候,无论数据是什么,我们写上X。
        0与任何数相与为0,取反为1。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:31:44 | 显示全部楼层
1350
        两个1是什么?
        保持。
        它会是一个稳态,保持之前的那个状态。
        也就是说,当使能信号为0的时候,输出状态可以保持。
        这一点很有意思,当使能信号从高到低跳变的瞬间,我们知道,当使能信号为高的时候,是穿透的,输入是什么,输出是什么。
        而使能信号为0的时候,它保持住,也就是说采样点。
        它是沿采样,就是当使能信号从高到低跳变的瞬间,把D的这个数据捕获到双稳态。
        就一直保持住,一直保持到下一次。
        这个呢,我们也把它做出来。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-12-25 22:33:29 | 显示全部楼层
1351
        我们在实现的过程中,仍然是用结构化来实现。
        仍然讨论了how to do。
        我们给它分配实例名,U1、U2、U3、U4、U5,四个与非门,一个反相器。
        反相器后面的中间信号为D_n信号,还有S_n、R_n。
        现在我们来做这段建模。
        新建一个verilog,另存为d_latch.v。
  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-24 11:24 , Processed in 0.064503 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表