技术编程FPGA设计实战:复位电路仿真设计
最近看 advanced fpga 以及 fpga 设计实战演练中有讲到复位电路的设计 , 才知道复位电路有这么多的门道 , 而不是简单的外界信号输入系统复位 。
流程:
1. 异步复位:
优点:⑴大多数 DFF 都有异步复位端口 , 因此采用异步复位可以节约资源 。
⑵设计相对简单 。
⑶异步复位信号识别方便 , 而且可以很方便地使用 fpga 的全局复位端口 。
缺点:⑴在复位信号释放时容易出现问题 , 亚稳态 。
⑵复位信号容易受到毛刺的影响 。 这是由于时钟抖动或按键触发时的硬件原因造成的 。
代码:一个 4bit 的计数器 。
1 always @(posedge clk or negedge sys_rst_n) begin
2if (~sys_rst_n) begin
3count <= 0;
4end //if
5else begin
6count <= count + 1'b1;
7end //else
8 end //always
仿真解析(下图):
复位信号低电平时候 , 系统立刻进入复位态;
本文插图
2. 同步复位:
优点:⑴降低亚稳态出现的概率 。
⑵使所设计的系统成为 100%的同步时序电路 , 有利于时序分析 , 综合出来的 Fmax 一般较高 。
⑶只有在时钟有效沿才有效 , 可以滤除高于时钟频率的毛刺 。
缺点:⑴复位信号的有效时长必须大于时钟周期 , 才能真正被系统识别并完成复位任务 。
⑵大多数的 Dff 只有异步复位端口 , 会浪费较多的逻辑资源 。
代码:
1 always @(posedge clk) begin
2if (~sys_rst_n) begin
3count <= 0;
4end //if
5else begin
6count <= count + 1'b1;
7end //else
8 end //always
仿真解析(下图):
时钟上升沿如果复位信号为低电平 , 复位开始 , 时钟上升沿若复位信号为高电平 , 复位结束 。
本文插图
【技术编程FPGA设计实战:复位电路仿真设计】
3. 异步复位同步释放:(推荐使用)
优点:结合了同步复位与异步复位的优点 。
缺点:容易受到噪声与宰脉冲的干扰 。 如果可能 , 最好对输入到 fpga 的异步复位信号先进行滤波与去抖动 。
代码:
1 module rstn_as (
2//input;
3inputwireclk,
4inputwiresys_rst_n,
5//output;
6outputregrst_n
7 );
8 reg rst_n_reg;
9 always @(posedge clk or negedge sys_rst_n) begin
10if (~sys_rst_n) begin
11rst_n <= 1'b0;
12rst_n_reg <= 1'b0;
13end //if
14else begin
15rst_n_reg <= 1'b1;
16rst_n <= rst_n_reg;
17end //else
18 end //always
19
20 endmodule
wire rst_n;
rstn_as u1(
.clk(clk),
.sys_rst_n(sys_rst_n),
.rst_n(rst_n)
);
always @(posedge clk or negedge rst_n) begin
if (~rst_n) begin
count <= 0;
end //if
else begin
count <= count + 1'b1;
end //else
end //always
仿真解析(下图):
当复位信号低电平时 , 系统立即复位;当时钟上升沿检测到复位信号失效后 , 在下一个时钟上升沿拉高 rst_n 。 新的 rst_n 是已经同步化了的复位信号 。
本文插图
以上 。
推荐阅读
- 烹饪|锡纸烧烤技术,三款酱料配方是关键,制作好酱料锡纸类菜品轻松做
- 芯片|我国开始技术封锁!除量子密码以外,还有一项让美国憋屈十几年
- 上海嘉定|一项专利技术使车库车位增多10%,开发商们要坐不住了
- 上海市科学技术委员会|关于做好制订因公出国(境)培训中期规划的补充通知
- 闲情居|华为云手机发布,真正的5G手机,绕过光刻机的技术壁垒
- 一味宠爱|最全盘点卡中国脖子的35项技术,折射中国工业水平的真实现状
- 映璇汽车工作室|终于知道它为啥难卖了,看完长城WEY内部技术团队做的竞品分析
- Java|计算机专业的本科生,该选择学习Java技术体系还是.NET技术体系
- 人员|计划到期!立昂技术:部分董事、高管人员累计减持约47万股
- 南方PLUS|高新区面向全市征集30项以上技术需求,@佛山企业
