寄存器与锁存器的区别
2015-03-21 12:10
267 查看
锁存器与寄存器的区别 //
这篇文章之前写的有点问题,最近在做工程的时候同时看了Digital Design Using Digilent FPGA Boards一本老外写的书的时候,对这个问题有了比较彻底的认识。
首先应该明确锁存器和触发器也是由与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。组合电路就是一个真值表,一个函数,一组输入对应一组输出,当前什么输入就根据函数得到什么输出,实时跟踪变化,这样也就容易有冒险、竞争之类的问题产生毛刺。
锁存器:电平敏感 always @ (enable) if (enable) q <= d; 那就是说,在enable有效的时间内,q完全跟踪d的值,比如在这个时间内d变化了,q跟着变化,当enable失效的时候,q存储d最后的值。
触发器:我们把输出只在时钟某个时刻变化的玩意儿叫触发器。边沿敏感 always @ (posedge enable) if (enable) q <= d; 这个便是一个d触发器。只在enable(一般大家都叫它clock)的上升沿q采样d,而且在每个时钟的上升沿都会采样。在fpga中一般避免用latch,因为在FPGA中触发器资源丰富,不用白不用,latch由于是电平触发的,相对触发器来说容 易产生毛刺,电路不稳定. latch的优点是完成同一个功能所需要的门较触发器要少,所以在asic中用的较多那最后再说寄存器,寄存器这个玩意儿是一个概念层次的东西,1个寄存器就是能存1bit数据的东西。既可以用触发器实现也可以用锁存器实现。以触发器为例,由于触发器每个时钟上升沿都会采样,所以触发器会有一个反馈逻辑,当load有效的时候才会采样d,否则保持不变。
always @ (posedge clk or negedge rst_n) if (!rst_n) q <= 0; else if (load) q <= d; 这便就是一个寄存器了。
这篇文章之前写的有点问题,最近在做工程的时候同时看了Digital Design Using Digilent FPGA Boards一本老外写的书的时候,对这个问题有了比较彻底的认识。
首先应该明确锁存器和触发器也是由与非门之类的东西构成。尤其是锁存器,虽说数字电路定义含有锁存器或触发器的电路叫时序电路,但锁存器有很多组合电路的特性。组合电路就是一个真值表,一个函数,一组输入对应一组输出,当前什么输入就根据函数得到什么输出,实时跟踪变化,这样也就容易有冒险、竞争之类的问题产生毛刺。
锁存器:电平敏感 always @ (enable) if (enable) q <= d; 那就是说,在enable有效的时间内,q完全跟踪d的值,比如在这个时间内d变化了,q跟着变化,当enable失效的时候,q存储d最后的值。
触发器:我们把输出只在时钟某个时刻变化的玩意儿叫触发器。边沿敏感 always @ (posedge enable) if (enable) q <= d; 这个便是一个d触发器。只在enable(一般大家都叫它clock)的上升沿q采样d,而且在每个时钟的上升沿都会采样。在fpga中一般避免用latch,因为在FPGA中触发器资源丰富,不用白不用,latch由于是电平触发的,相对触发器来说容 易产生毛刺,电路不稳定. latch的优点是完成同一个功能所需要的门较触发器要少,所以在asic中用的较多那最后再说寄存器,寄存器这个玩意儿是一个概念层次的东西,1个寄存器就是能存1bit数据的东西。既可以用触发器实现也可以用锁存器实现。以触发器为例,由于触发器每个时钟上升沿都会采样,所以触发器会有一个反馈逻辑,当load有效的时候才会采样d,否则保持不变。
always @ (posedge clk or negedge rst_n) if (!rst_n) q <= 0; else if (load) q <= d; 这便就是一个寄存器了。
相关文章推荐
- 寄存器,锁存器,触发器,存储器的区别
- 锁存器与寄存器的区别
- 锁存器、触发器、寄存器和缓冲器的区别
- 锁存器、触发器、寄存器和缓冲器的区别(转)
- 锁存器(latch)、触发器(Flip-flop)、寄存器(register)的区别
- 寄存器,触发器,锁存器之间的区别与联系
- 锁存器(latch)、触发器(flip-flop)、寄存器(register)的区别
- 锁存器与寄存器的区别
- 锁存器 触发器 寄存器 区别
- FPGA基础知识10(锁存器、触发器、寄存器和缓冲器的区别)
- 【通俗理解】锁存器,触发器,寄存器和缓冲器的区别
- 寄存器、锁存器、缓存器的区别和原理
- 锁存器、触发器、寄存器和缓冲器的区别
- 寄存器和锁存器的区别
- Verilog 锁存器 触发器 寄存器区别
- 锁存器、触发器、寄存器和缓冲器的区别
- 寄存器、锁存器的区别
- 寄存器、RAM、ROM、Flash相关概念区别整理
- 简单时序逻辑电路的verilog实现,包括D触发器、JK触发器、锁存器、寄存器、
- 自动、静态、 寄存器、易失变量的区别