欢迎来到天天文库
浏览记录
ID:59313017
大小:15.50 KB
页数:1页
时间:2020-09-05
《锁存器与寄存器的区别.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、锁存器与寄存器的区别(2010-04-0909:43:11)转载▼标签:杂谈分类:FPGA//这篇文章之前写的有点问题,最近在做工程的时候同时看了DigitalDesignUsingDigilentFPGABoards一本老外写的书的时候,对这个问题有了比较彻底的认识。首先应该明确锁存器和触发器也是由与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。组合电路就是一个真值表,一个函数,一组输入对应一组输出,当前什么输入就根据函数得到什么输出,实时跟踪变化,这样也就容易有冒险、竞争之类的问题产生毛刺。
2、锁存器:电平敏感always@(enable)if(enable)q<=d;那就是说,在enable有效的时间内,q完全跟踪d的值,比如在这个时间内d变化了,q跟着变化,当enable失效的时候,q存储d最后的值。触发器:我们把输出只在时钟某个时刻变化的玩意儿叫触发器。边沿敏感always@(posedgeenable)if(enable)q<=d;这个便是一个d触发器。只在enable(一般大家都叫它clock)的上升沿q采样d,而且在每个时钟的上升沿都会采样。在fpga中一般避免用latch,因为在FPGA中触发器资源丰富,不用白不用,latch由于是电平触发
3、的,相对触发器来说容易产生毛刺,电路不稳定.latch的优点是完成同一个功能所需要的门较触发器要少,所以在asic中用的较多那最后再说寄存器,寄存器这个玩意儿是一个概念层次的东西,1个寄存器就是能存1bit数据的东西。既可以用触发器实现也可以用锁存器实现。以触发器为例,由于触发器每个时钟上升沿都会采样,所以触发器会有一个反馈逻辑,当load有效的时候才会采样d,否则保持不变。always@(posedgeclkornegedgerst_n)if(!rst_n)q<=0;elseif(load)q<=d;这便就是一个寄存器了。over,不对之处希望大家指正。
此文档下载收益归作者所有