FPGA学习-异步复位,同步释放

点击上方蓝字关注我们
系统的复位对于系统稳定工作至关重要,最佳的复位方式为:异步复位,同步释放。以下是转载博客,原文标题及链接如下:复位最佳方式:异步复位,同步释放
异步复位;
异步:
 always @(posedge clk or negedge rst_n )
              if(!rst_n)
(优点:占用较少逻辑单元
缺点:可能会产生竞争冒险)
同步:always @(posege clk or posedge rst_n)
                if(!rst_n)
(优点:可以尽量点少竞争冒险的可能
 缺点:会占用更多的逻辑单元)
altera 最佳解决办法:异步复位,同步释放
//异步复位 同步释放rtl视图
原理:
所谓异步复位和同步释放,是指复位信号是异步有效的,即复位的发生与clk无关。后半句“同步释放”是指复位信号的撤除(释放)则与clk相关,即同步的。
下面说明一下如何实现异步复位和同步释放的。
异步复位:显而易见,rst_async_n异步复位后,rst_sync_n将拉低,即实现异步复位。
同步释放:这个是关键,看如何实现同步释放,即当复位信号rst_async_n撤除时,由于双缓冲电路的作用,rst_sync_n复位信号不会随着rst_async_n的撤除而撤除。
假设rst_async_n撤除时发生在clk上升沿,如果不加此电路则可能发生亚稳态事件(在始终上升沿附近rst置1,这时候建立时间还不够长,数据可能还未打入寄存器,导致输出不确定)。但是加上此电路以后,假设第一级d触发器clk上升沿时rst_async_n正好撤除,则d触发器1输出高电平“1”,此时第二级触发器也会更新输出,但是输出值为前一级触发器次clk来之前时的q1输出状态。显然q1之前为低电平,顾第二级触发器输出保持复位低电平,直到下一个clk来之后,才随着变为高电平。即同步释放。
代码实现:(altera 官方资料)
module reset_best(clk,asyn_reset,syn_reset);
input clk;
input asyn_reset;
output syn_reset;
reg rst_s1;
reg rst_s2;
always @( posedge clk ,posedge  asyn_reset)
begin
if(asyn_reset)
 begin
 rst_s1<=1'b0;
 rst_s2<=1'b0;
 end
else 
begin
rst_s1<=1'b1;
rst_s2<=rst_s1;
end
end
assign syn_reset=rst_s2;
endmodule
有你想看的精彩        至芯科技fpga就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! fpga学习:精简指令集risc_cpu 至芯fpga初级课程之 fifo
扫码加微信邀请您加入fpga学习交流群
欢迎加入至芯科技fpga微信学习交流群,这里有一群优秀的fpga工程师、学生、老师、这里fpga技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!
  点个在看你最好看
原文标题:fpga学习-异步复位,同步释放
文章出处:【微信公众号:fpga设计论坛】欢迎添加关注!文章转载请注明出处。

CPU风扇转速变慢怎么解决
丰田“超大杯”汉兰达:三排空间、搭载3.5L V6发动机
经常忘记东西丢哪里了?来试试这款防丢失贴片
LG折叠屏电视专利曝光,支持5折叠展开六块屏幕呈横向排列
高智能土壤检测仪的产品特点
FPGA学习-异步复位,同步释放
放大电路中反馈的有无如何判断
不锈钢螺旋板式换热器的使用环境分析
华硕宣布推出全新GeForce RTX 3060Ti显卡
买了电动车的人,这些电池的秘密一定要知道
光电倍增管暗电流产生的原因_减少光电倍增管的暗电流方法
EA回应PC版FIFA 21画质不如新主机:太高了你们玩不动
区块链落地场景将会如何为影响我们的生活
首次公开!硬件霸主的软件秘密
苹果开发者大会最新手机平板操作系统苹果IOS11正式发布!还有更多新品
了解线阵相机与面阵相机的基本区别
基于PC104测控计算机的频率测量系统设计
iPhone8成美国第三季度最畅销机型 市场占比达9.4%
三星或将并购恩智浦、瑞萨电子等汽车半导体行业
微纳科技的特点及应用前景