FPGA复位

发布于:2025-09-03 ⋅ 阅读:(17) ⋅ 点赞:(0)

1:能不复位尽量不要复位,减少逻辑扇出数:比如打拍信号。

2:xilinx的FPGA推荐高复位,ATERAL的FPGA推荐低复位。

3:尽量使用异步复位:大多数厂商目标库内的触发器都只有异步复位端口,采用同步复位需消耗较多逻辑资源。

一:同步复位

1优点 :比较容易满足时序,都在时钟上升沿才触发。

2缺点:

2.1复位有延迟,有可能复位开始了由于要在时钟沿才有效所以并未及时响应。

2.2异步复位更加消耗逻辑资源。

二异步复位:

1优点:复位响应及时,因为不需要在时钟沿才响应

2缺点:

2.1:因为是异步信号,容易导致亚稳态 。

2.2:复位信号只要有点干扰,就会导致复位响应。

三:异步复位同步释放——推荐实战就用这个方式复位

module rst(
	input 	sys_clk		,
	input 	sys_rst_n	,
	input   data_in		,
	
	output reg  data_out
);

reg sys_rst_n_reg0;
reg sys_rst_n_reg1;

//对复位信号打两拍
always @(posedge sys_clk or negedge sys_rst_n)begin
	if(!sys_rst_n)begin
		sys_rst_n_reg0 <= 1'b0;
		sys_rst_n_reg1 <= 1'b0;
	end 
	else begin
		sys_rst_n_reg0 <= sys_rst_n;
		sys_rst_n_reg1 <= sys_rst_n_reg0;
	end 
end 

//使用同步后的复位信号对数据进行复位
always @(posedge sys_clk or negedge sys_rst_n_reg1)begin
	if(!sys_rst_n_reg1)
		data_out <= 1'b0;
	else 
		data_out <= data_in;
end 

endmodule 

优点:

只要异步复位信号出现一点毛刺复位都能使系统复位。有人会说这算啥优点和异步复位电路一样缺点太神经质了,万一人家根本不想复位呢。——

1.1系统不希望出现X态,异步复位电路由于未作同步释放,有可能出现一个及其窄的复位电平,导致有的慢时钟域处于未复位状态,有点快时钟域处于复位状态,有的临界时钟域刚好采集到沿上处于亚稳态(X)。而同步释放如图进行在本时钟域打拍延拓了复位周期,本时钟域都能采集到稳定复位信号。

四:复位信号的来源——由于实际运用不太可能用按键复位,一般就用pll的locked信号

优点1:因为是Xilinx平台,所以产生的reset信号是高复位。

优点2:时钟lock后并未马上释放复位,而是等时钟完全稳定后在释放复位信号。

五案例:遇到mig的ui_clk,需要我们lock制造的异步复位信号,来复位整个系统。

此时我们就需要使用异步复位同步释放+加上一段时间的时钟稳定计数器操作即可。

 

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到