寄存器 缓冲区 存取器的区别
发布网友
发布时间:2022-04-22 09:19
我来回答
共1个回答
热心网友
时间:2023-10-04 16:17
锁存器,触发器,寄存器,缓冲区2009-10-15 13:42锁存器(latch):锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据输入发生变化。(简单地说,它有两个输入,分别是一个有效信号EN,一个输入数据信号DATA_IN,它有一个输出Q,它的功能就是在EN有效的时候把DATA_IN的值传给Q,也就是锁存的过程)。
应用场合:数据有效迟后于时钟(或者使能)信号有效。这意味着时钟(或者使能)信号先到,数据信号后到。在某些运算器电路中有时采用锁存器作为数据暂存器。
缺点:时序分析较困难。不要锁存器的原因有二:1、锁存器容易产生毛刺,2、锁存器在ASIC设计中应该说比ff要简单,但是在FPGA的资源中,大部分器件没有锁存器这个东西,所以需要用一个逻辑门和ff来组成锁存器,这样就浪费了资源。
优点:面积小。锁存器比FF快,所以用在地址锁存是很合适的,不过一定要保证所有的latch信号源的质量,锁存器在CPU设计中很常见,正是由于它的应用使得CPU的速度比外部IO部件逻辑快许多。latch完成同一个功能所需要的门较触发器要少,所以在asic中用的较多。
----------------------------------------------------------------------------
触发器(flipflop):最基本的就是边沿触发的存储单元。
应用场合:时钟有效迟后于数据有效。这意味着数据信号先建立,时钟信号后建立。在CP上升沿时刻打入到寄存器。
锁存器与触发器的区别:
寄存器与触发器都是用来暂存数据的器件,在本质上没有区别,不过寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而触发器的输出端平时总随输入端变化而变化。
锁存器电平触发会把输入端的毛刺带入输出;而触发器由于边沿作用可以有效抑制输入端干扰;
用VHDL来描述就是:
触发器:
process
begin
wait until clk’event and clk=’1’;
q<=d;
end process;
锁存器:
process(en,d)
begin
if en=’1’ then
q<=d;
end if;
end process;
寄存器(register):由若干个触发器构成的一次能存储多位二进制代码的时序逻辑电路,叫寄存器。
缓冲区(Buffer):一个用于匹配速度不同步的设备或者优先级不同的设备之间传输数据的区域,通过缓冲区,可以使进程之间的相互等待变少,从而是从速度慢的设备读入数据是,速度快的设备的操作进程不发生间断。