您的位置:首页 > 其它

锁存器与寄存器

2011-09-19 20:28 120 查看
1. 寄存器
[align=justify][/align]
[align=justify]  在实际的数字系统中,通常把能够用来存储一组二进制代码的同步时序逻辑电路称为寄存器.由于触发器内有记忆功能,因此利用触发器可以方便地构成寄存器。由于一个触发器能够存储一位二进制码,所以把n个触发器的时钟端口连接起来就能构成一个存储n位二进制码的寄存器。[/align]
[align=justify][/align]
[align=justify]2 . 锁存器[/align]
[align=justify][/align]
[align=justify] 由若干个钟控D触发器构成的一次能存储多位二进制代码的时序逻辑电路。数据有效迟后于时钟信号有效。这意味着时钟信号先到,数据信号后到。在某些运算器电路中有时采用锁存器作为数据暂存器。[/align]

3. 锁存器与寄存器的区别

(1)寄存器是同步时钟控制,而锁存器是电位信号控制。锁存器一般由电平信号控制,属于电平敏感型。寄存器一般由时钟信号信号控制,属于边沿敏感型。

(2)寄存器的输出端平时不随输入端的变化而变化,只有在时钟有效时才将输入端的数据送输出端(打入寄存器),而锁存器的输出端平时总随输入端变化而变化,只有当锁存器信号到达时,才将输出端的状态锁存起来,使其不再随输入端的变化而变化

可见,寄存器和锁存器具有不同的应用场合,取决于控制方式以及控制信号 和数据之间的时间关系:若数据有效一定滞后于控制信号有效,则只能使用锁存器;数据提前于控制信号而到达并且要求同步操作,则可用寄存器来存放数据。

4. 8位锁存器74LS373




Dn 数据输入端 OE 三态允许控制端(低电平有效)LE 锁存允许端 On 输出端

LE: 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。

OE: 当三态允许控制端 OE 为低电平时,O0~O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0~O7 呈高阻态,即不驱动总线

module latch373(le,oe,q,d);

input le,oe;
input [7:0] d;
output  reg [7:0] q;

always @(*)
begin
if(~oe&le)//oe低电平,On正常状态,le高电平
q<=d;//O随D
else
q<=8'bz;
end

endmodule


5. 8位数据寄存器(异步清0) 

  

module regw(dout,din,clk,clr);

input clk,clr;
input [7:0] din;
output reg [7:0] dout;

always @(posedge clk or posedge clr)
begin
if(clr)//异步清0
dout<=0;
else
dout<=din;
end

endmodule


6. 8位移位寄存器

module shiftreg(din,clk,clr,dout);

input din,clk,clr;
output reg [7:0] dout;

always@(posedge clk)
begin
if(clr)                      //同步清0,高电平有效
dout<=8'b0;
else
begin
dout<=dout<<1;//输出信号左移一位
dout[0]=din;//输入信号补充到输出信号的最低位
end
end

endmodule


7. 4位串并转换器

module serialpal(clk,reset,en,in,out);

input clk,reset,en,in;
output reg [3:0] out;

always @(posedge clk)
begin
if(reset)
out<=4'b0;
else if(en)
out<={out,in};//拼接运算符
end

endmodule


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: