FPGA中三种常用复位电路

时间:2025-11-01  作者:Diven  阅读:0

在FPGA设计中,复位电路是非常重要的一部分,能够确保系统从初始状态开始启动并保证正确运行。 本文将分别介绍FPGA中三种常用复位电路:同步复位、异步复位和异步复位同步释放,以及相应的Verilog代码示例。

FPGA中三种常用复位电路

异步复位 or 同步复位 or 异步复位同步释放,真的是“异步复位同步释放”更好吗?

一、同步复位

同步复位是在时钟信号的下降沿或上升沿触发的复位方式,复位信号与时钟信号同步。 由于在同步复位中,复位信号和时钟信号是同步的,因此可以确保复位操作的稳定和可预测性。 同步复位通常由一个或多个寄存器实现,如下面的实例:

Module sync_reset( input clk, input rstn, input data_in, output reg data_out);always @(posedge clk) begin if(!rstn) begin data_out <= 'b0; end else begin data_out <= data_in; endendendModule

在上述代码中,rst是同步复位信号,当时钟上升沿到来时,检测到复位信号为低电平时,计数器将被初始化。

综合后电路图如下:从图中可看出,综合后,调用的(D Flip-Flop with Clock Enable and Synchronous Reset带使能功能的同步清除D触发器) FDRE型D触发器

二、异步复位

异步复位是在时钟信号之外触发的复位方式,不管时钟边沿信号有没有到来,只要复位有效信号到来,即执行复位操作。 以下是异步复位的基本代码示例:

module async_reset( input clk, input rstn, input data_in, output reg data_out);always @(posedge clk or negedge rstn) begin if(!rstn) begin data_out <= 'b0; end else begin data_out <= data_in; endendendmodule

在异步复位中,rst信号不需要和时钟信号同步,并且可以在任何时候生效。在上述代码中,rst信号被用来异步地清零计数器的值,并且不需要等待时钟信号。

综合后电路如下:从图中可看出,综合后,调用的(D Flip-Flop with Clock Enable and AsynchronousReset带使能功能的异步清除D触发器) FDCE型D触发器。

三、异步复位同步释放

异步复位同步释放通常是这种说法,结合了异步与同步复位优点的复位方式,使用一个同步器来将异步复位信号转换为同步的复位信号,从而确保复位操作的可控性和稳定性。以下是异步复位同步释放的基本代码示例:

module test_reset( input clk, input rstn, input data_in, output reg data_out);reg arstn_r, arstn_s_r;always @(posedge clk or negedge rstn) begin if(!rstn) begin arstn_r <= 'b0; arstn_s_r <= 'b0; end else begin arstn_r <= 'b1; arstn_s_r <= arstn_r; endendalways @(posedge clk or negedge arstn_s_r ) begin if(!arstn_s_r ) begin data_out<= 'b0; end else begin data_out<= data_in; endendendmodule

在上述代码中,rstn是异步复位信号,在异步复位条件下,计数器会被清零并重置其必要的信号。rstn信号经过异步和同步两级的处理后,生成了一个同步释放的复位信号arstn_s_r ,与时钟信号同步并在时钟边缘上生效。然后,同步复位电路将控制信号传递给其电路,使其从复位状态转换到正常操作状态。

综合后电路如下:从图中可看出,即使复位信号通过两级同步处理,也是用的两个异步复位D触发器FDCE实现的,所以实际上无需做这种异步复位同步释放的处理。

四、

在实际应用中,选择合适的复位方式取决于具体的设计要求和运行环境,但实际上我们写verilog代码常用的是异步复位的方式,当然关于复位设计,真的需要每一个寄存器都复位吗,下一个文章,我们再来唠唠。

猜您喜欢

无线充电技术近年来发展迅速,应用场景越来越,而无线充电线圈作为其核心组件,种类繁多。根据设计和用途,无线充电线圈主要可以分为以下几类。按形状分类,线圈可分为圆形...
2010-07-29 00:00:00

电动汽车日益普及的今天,电池作为电动汽车的心脏,其重要性不言而喻。而汽车电池管理系统 (BMS) 则是保障电池安全稳定运行、延长电池使用寿命的关键。汽车电池管理...
2024-11-29 00:00:00

贴片电阻上的22E标识代表其阻值为22欧姆,误差为±5%。字母E代表5%的误差范围。 这意味着实际阻值可能在20.9欧姆到23.1欧姆之间。 这个误差范围对于大...
2024-11-29 10:26:04

297型高压云母电容器是应用的电气元件。主要用于高频、高压环境中。云母电容器的优点很多,比如稳定性好、温度范围广等。本文将详细介绍297型高压云母电容器的特点和...
2025-04-02 05:30:03

电子元件中,瓷片电容是常见的部件。可是,有时会烧黑,型号看不出来。这样一来,维修就成了难题。本文将为你提供一些应对措施。检查电路板检查电路板的其元件。若有损坏,...
2025-03-22 07:30:35

二极管作为重要的半导体元件,应用于电子电路中。主要功能是允许电流在一个方向流动,而阻止反向电流的流动。了解二极管的关键参数对于设计和调试电路非常重要。本文将深入...
2025-04-09 05:30:35

贴片电阻上的4r70代表其阻值为4.7欧姆。字母r在这里代替小数点,后面的数字70表示有效数字后的零的数量级,即10的-2次方。所以,4r70 = 4.7 x ...
2024-11-29 10:25:43

MEMS传感器是最先进的微型设备之一,以令人难以置信的精确度测量物理量,有力地改变着各行各业。MEMS技术使得高度集成系统的开发成为可能,这些系统用于监控工艺性...
2023-08-01 00:04:00

贴片电阻上的「123」并不是指123欧姆,而是一种数字编码,代表其阻值。理解这种编码方式,就能轻松读懂贴片电阻的阻值。「123」采用三位数码表示法,其中前两位数...
2024-11-26 11:29:43

隔离式CAN收发器是用于控制局域网络中数据传输的电子组件,应用于汽车、工业自动化和医疗设备等领域。基本功能是实现控制器局域网络(CAN)信号的发送与接收,同时确...
2008-03-02 00:00:00