FPGA基础学习笔记--时序逻辑电路-触发器与锁存器
时间:10-02
整理:3721RD
点击:
同步复位D触发器
复位信号在所需时钟边沿才有效,复位操作需要同步于时钟故称作同步复位。
代码如下
Technology Map Viewer视图如下
异步复位D触发器
将上述语句改为always @(posedge clk or negedge rst_n)即构成异步复位D触发器。只要复位信号有效,输出立即复位。
很多写法中都采取异步复位模式,后面就不在讨论。
T触发器
代码如下
testbench如下
RTL级仿真波形
门控D触发器
当clk为高电平时输出Q才随着输入D变化,clk为低电平时输出保持不变。门控D触发器表现的是组合逻辑电路的特点。
代码如下
亚稳态
对于D触发器,clk上升沿时输出Q等于输入D,其余时间保持不变。clk上升沿到来前D必须保持稳定的最短时间为触发器建立时间t_su,clk上升沿后D必须保持稳定的最短时间为触发器保持时间t_h。如果设计使得t_su,t_h不满足要求,触发器就会出现不稳定状态,称作亚稳态。Q随D变化而变化所需要的时间称作clk到D得传播延迟t_cQ。
复位信号在所需时钟边沿才有效,复位操作需要同步于时钟故称作同步复位。
代码如下
- module d_ff
- (
- input clk,
- input rst_n,
- input D,
- output reg Q,
- output O_n
- );
-
- always @(posedge clk)
- if(!rst_n)Q<=1'b0;
- else Q<=D;
-
- assign Q_n=~Q;
-
- endmodule
Technology Map Viewer视图如下
异步复位D触发器
将上述语句改为always @(posedge clk or negedge rst_n)即构成异步复位D触发器。只要复位信号有效,输出立即复位。
很多写法中都采取异步复位模式,后面就不在讨论。
T触发器
代码如下
- module t_ff
- (
- input clk,
- input rst_n,
- input T,
- output reg Q,
- output Q_n
- );
-
- always @ (posedge clk or negedge rst_n)
- if(!rst_n) Q<=1'b0;
- else if(T) Q<=~Q;
-
- assign Q_n=~Q;
-
- endmodule
testbench如下
- `timescale 1ns/1ns
- module t_ff_tb;
- reg clk,rst_n,T;
- wire Q,Q_n;
- //***************************************
- //时钟与复位激励
- parameter CLK_PERIOD=20,
- RESET_TIME=10;
- initial clk=0;
- initial forever #(CLK_PERIOD/2) clk=~clk;
- initial rst_n=0;
- initial forever #RESET_TIME rst_n=1;
- //***************************************
- initial T=0;
- initial forever #25 T={$random}%2;
- initial #200 $stop;
-
- t_ff t_ff_inst
- (
- .clk(clk),
- .rst_n(rst_n),
- .Q(Q),
- .Q_n(Q_n),
- .T(T)
- );
-
- endmodule
RTL级仿真波形
门控D触发器
当clk为高电平时输出Q才随着输入D变化,clk为低电平时输出保持不变。门控D触发器表现的是组合逻辑电路的特点。
代码如下
- module t_ff
- (
- input clk,
- input rst_n,
- input D,
- output reg Q,
- output Q_n
- );
-
- always @ (*)
- if(!rst_n) Q<=1'b0;
- else if(clk) Q<=D;
-
- assign Q_n=~Q;
-
- endmodule
亚稳态
对于D触发器,clk上升沿时输出Q等于输入D,其余时间保持不变。clk上升沿到来前D必须保持稳定的最短时间为触发器建立时间t_su,clk上升沿后D必须保持稳定的最短时间为触发器保持时间t_h。如果设计使得t_su,t_h不满足要求,触发器就会出现不稳定状态,称作亚稳态。Q随D变化而变化所需要的时间称作clk到D得传播延迟t_cQ。
不错
有用
学习学习下
谢谢啦,学习学习下
谢谢啦,学习学习
谢谢啦,学习学习
学习了下,多谢分享。
学习学习。
好赞 ~~~过来学习