FPGA开发中的复位问题
一、为什么需要复位?
在FPGA上电时,需要对reg、fifo等器件进行复位,以确保系统处于已知的状态,同时可以通过复位清除系统的错误异常状态。
二、复位的方式
- 从是否与时钟同步与否可以分为异步复位和同步复位。
点击查看代码
`
// 同步复位方式:
always@(posedge sys_clk) begin
if(~sys_rst_n) begin
//复位逻辑
end
end`
点击查看代码
//异步复位方式:
always@(posedge sys_clk or negedge sys_rst_n) begin
if(~sys_rst_n) begin
//复位逻辑
end
end`
点击查看代码
module delayed_nReset(
input wire CLK,
output wire nRst
);
reg [13:0] r_pow_rst = 14'b0 ;
always @(posedge CLK) begin
if(!r_pow_rst[13])begin
r_pow_rst <= r_pow_rst + 14'b1 ;
end
end
assign nRst = r_pow_rst[13];
endmodule
always@(posedge clk or negedge rst_async)begin
if(!rst_async)begin
rst_1 <= 1'b0 ;
rst_2 <= 1'b0 ;
rst_sync <= 1'b0 ;
end
else begin
rst_1 <= 1'b1 ;
rst_2 <= rst_1;
rst_sync <= rst_2;
end
end
endmodule
五、参考链接
https://blog.csdn.net/s1072935274/article/details/134378849
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体