硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4543|回复: 4
收起左侧

时序逻辑电路(2)----------触发器(D, JK, T, SR)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
发表于 2013-1-27 13:57:13 | 显示全部楼层 |阅读模式
在时钟脉冲边沿作用下的状态刷新称为触发。
具有这种特性的存储单元电路称为触发器。
1. 主从触发器

1.jpg
2.jpg
3.jpg
2. 维持阻塞触发器
1.jpg
2.jpg
3. 利用传输延迟的触发器
1.jpg
2.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
 楼主| 发表于 2013-1-27 14:08:56 | 显示全部楼层
D触发器
1.jpg
2.jpg
3.jpg
【例9.16】带同步清0、同步置1的D触发器
module DFF2(q,qn,d,clk,set,reset);
input d,clk,set,reset;
output q,qn;
reg q,qn;
always @(posedge clk)
  begin
if (reset)  begin
q <= 0; qn <= 1;    //同步清0,高电平有效
end
else if (set) begin
q <=1;  qn <=0;     //同步置1,高电平有效
end
else      begin
q <= d;  qn <= ~d;
end
  end
endmodule
【例9.15】带异步清0、异步置1的D触发器
module DFF1(q,qn,d,clk,set,reset);
input d,clk,set,reset;
output q,qn;
reg q,qn;
always @(posedge clk or negedge set or negedge reset)
  begin
if (!reset) begin
q <= 0;     //异步清0,低电平有效
qn <= 1;
end
else if (!set)  begin
q <= 1;     //异步置1,低电平有效
qn <= 0;
end
else      begin
q <= d;
qn <= ~d;
end
  end
endmodule
【例9.14】基本D触发器
module DFF(Q,D,CLK);
output Q;
input D,CLK;
reg Q;
always @(posedge CLK)
begin
Q <= D;
end
endmodule
【例10.16】引入了D触发器的长帧同步时钟的产生
module longframe2(clk,strb);
parameter delay=8;  
input clk;
output strb;
reg[7:0] counter;
reg temp;
reg strb;
always@(posedge clk)   
begin
     if(counter==255)   counter=0;
        else        counter=counter+1;
    end
always@(posedge clk)
    begin
    strb=temp;          //引入一个触发器
    end
always@(counter)
    begin  
     if(counter<=(delay-1))  temp=1;
     else            temp=0;
end
endmodule
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
 楼主| 发表于 2013-1-27 14:26:57 | 显示全部楼层
JK触发器
1.jpg
2.jpg
3.jpg
【例9.17】带异步清0、异步置1的JK触发器
module JK_FF(CLK,J,K,Q,RS,SET);
input CLK,J,K,SET,RS;
output Q;
reg Q;
always @(posedge CLK or negedge RS or negedge SET)
begin
if(!RS)  Q <= 1'b0;
else if(!SET) Q <= 1'b1;
else case({J,K})
2'b00 :  Q <= Q;
2'b01 :  Q <= 1'b0;
2'b10 : Q <= 1'b1;
2'b11 : Q <= ~Q;
default: Q<= 1'bx;
endcase
end
endmodule
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
 楼主| 发表于 2013-1-27 14:37:12 | 显示全部楼层
T触发器
1.jpg

2.jpg

3.jpg
module T(q,t,cp);               
input t,cp;                //输入t端,时钟端
output q;                //输出q端
reg q;
always@(posedge cp)        //cp上升沿触发   
begin
    if(t)                //判断t对否为1   
        begin
            q <=~q;        //是q取反
        end
end

endmodule
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107122
QQ
 楼主| 发表于 2013-1-27 14:39:51 | 显示全部楼层
RS触发器
1.jpg
2.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 09:26 , Processed in 0.240908 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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