FPGA学习日志——触发器filp_flop

触发器flip_flop

实验框图与波形图
在这里插入图片描述

触发器

对时钟脉冲边沿敏感的状态更新称为触发,具有触发工作特性的储存单元称为触发器。
在实际的数字系统中往往包含大量的存储单元,并且经常要求他们在同一时刻同步动作,为达到这个目的,在每个存储单元电路上引入一个时钟脉冲(CLK)作为控制信号,只有当CLK到来时电路才被“触发”而发生动作,并根据输入信号改变输出状态。把这种在时间信号触发时才能动作的储存单元电路称为触发器,以区别没有时钟信号控制的锁存器。

同步复位和异步复位

同步复位就是指复位信号只有在时钟上升沿到来时才有效。
异步复位是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。

同步复位的优缺点:
优点: 一般能够确保电路是百分之百同步的;确保复位只发生在有效时钟沿,可以作为过滤掉毛刺的手段
缺点:复位信号的有效时长必须大于时钟周期,也能真正被系统识别并完成复位。同时需要考虑如:时钟偏移、组合逻辑路径延时、复位延时等因素。

异步复位的优缺点:
优点:异步复位信号识别方便,并且可以很方便的使用全局复位;由于大多数厂商目标库内的触发器都有异步复位端口,可以节约逻辑资源
缺点:复位信号容易受到毛刺的影响;复位结束时刻恰在亚稳态窗口内时,无法决定现在的复位状态是1还是0,会导致亚稳态

异步复位同步释放

异步复位,同步释放:就是在复位信号到来的时候不受时钟信号的同步而是在复位信号释放的时候受到时钟信号的同步
使用异步复位同步释放可以消除以上缺点。具体实现过程这里暂不涉及。

实验代码

module flip_flop
(
    input   wire    sys_clk,//50MHZ
    input   wire    sys_rst_n,
    input   wire    key_in,
    output  reg     led_out
);
always@(posedge sys_clk or negedge sys_rst_n)//异步复位,or后注释起就是同步复位
    if(sys_rst_n==1'b0)
        led_out<=1'b0;
    else
        led_out<=key_in;
endmodule

仿真代码

`timescale 1ns/1ns
module tb_flip_flop();

reg sys_clk;
reg sys_rst_n;
reg key_in;

wire led_out;

initial 
    begin
        sys_clk=1'b1;
        sys_rst_n<=1'b0;
        key_in<=1'b0;   
       #20
       sys_rst_n<=1'b1;       
       #210
       sys_rst_n<=1'b0;
       #40
       sys_rst_n<=1'b1;
end
always #10 sys_clk=~sys_clk;
always #20 key_in<={$random}%2;

initial
    begin
    $timeformat(-9,0,"ns",6);
    $monitor("@time %t:key_in=%b,led_out=%b",$time,key_in,led_out);
    end

flip_flop flip_flop_inst
(
    .sys_clk(sys_clk),//50MHZ
    .sys_rst_n(sys_rst_n),
    .key_in(key_in),
    
    .led_out(led_out)
);
endmodule
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chendy_00

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值