0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

FPGA设计论坛 来源:未知 2023-09-09 14:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

点击上方蓝字关注我们

wKgZomT8DpKAat2WAAAAxmHeATo645.png

系统的复位对于系统稳定工作至关重要,最佳的复位方式为:异步复位,同步释放。以下是转载博客,原文标题及链接如下:复位最佳方式:异步复位,同步释放

异步复位;

异步:

always@(posedgeclkornegedgerst_n)

if(!rst_n)

wKgZomT8DpKAZ59_AABWqPx_eeQ124.png

(优点:占用较少逻辑单元

缺点:可能会产生竞争冒险)

同步:always @(posege clk or posedge rst_n)

If(!rst_n)

wKgZomT8DpOAcO2-AABtaETjfls696.png

(优点:可以尽量点少竞争冒险的可能

缺点:会占用更多的逻辑单元)

Altera 最佳解决办法:异步复位,同步释放

//异步复位 同步释放rtl视图

wKgZomT8DpOAD-H0AABc9RYfcUA155.png

原理:

所谓异步复位和同步释放,是指复位信号是异步有效的,即复位的发生与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

wKgZomT8DpOAXUZhAAAJM7aZU1A410.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、9月23号北京中心开课、欢迎咨询! FPGA学习:精简指令集RISC_CPU 至芯FPGA初级课程之 FIFO

wKgZomT8DpOAHVkMAABUdafP6GM561.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgZomT8DpOAUQ1NAABiq3a-ogY635.jpgwKgZomT8DpOAB9hoAAACXWrmhKE666.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:FPGA学习-异步复位,同步释放

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22287

    浏览量

    630314

原文标题:FPGA学习-异步复位,同步释放

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高速数据存取同步SRAM与异步SRAM的区别

    存储解决方案。与传统的异步SRAM相比,同步SRAM在结构和工作机制上进行了优化,能够更好地适应高速数据处理场景,因此在通信设备、嵌入式系统及高性能计算等领域被广泛应用。
    的头像 发表于 11-18 11:13 143次阅读

    基于FPGA的高效内存到串行数据传输模块设计

    本文介绍了一个基于FPGA的内存到串行数据传输模块,该模块设计用来高效地处理存储器中的数据并传输至串行接口。项目中自定义的“datamover_mm2s_fpga_”方案利用异步FIFO结构来解决不同时钟域之间数据传输的
    的头像 发表于 11-12 14:31 3845次阅读
    基于<b class='flag-5'>FPGA</b>的高效内存到串行数据传输模块设计

    为什么同步电机多做发电机而异步电机多做电动机?

    根本原因在于:​ ​同步电机能精确控制磁场(励磁),而异步电机不能。​ ​下面我们从研发的四个核心维度进行深度解读。 一、核心原理与特性对比(研发的出发点) 特性维度 同步电机 异步
    的头像 发表于 10-30 16:21 929次阅读

    从底层解读labview的TDMS高级异步写入的工作原理

    的数据生成线程)点菜(调用异步写入函数)。服务员(异步写入函数)记下订单后立即转身离开去服务下一位顾客(不阻塞顾客),而不是站在厨房门口等厨师做完这道菜才回来(同步)。订单(写入请求)被放到厨房的订单队列
    发表于 08-14 17:05

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 2634次阅读

    同步快?异步稳?串口通信方案选择的避坑指南

    我们常用的串口究竟是同步还是异步?蓝牙模块、WiFi模块用的又是什么方式?今天,我们就来一探究竟,讲清楚串口通信的同步异步的区别。 1.同步
    的头像 发表于 07-09 16:58 541次阅读
    <b class='flag-5'>同步</b>快?<b class='flag-5'>异步</b>稳?串口通信方案选择的避坑指南

    GraniStudio零代码平台轴复位算子支持多少个轴同时复位,有哪些回零模式?

    GraniStudio平台在轴复位的功能上未对同时复位的轴数进行硬性限制,理论上支持任意数量轴同步复位,需要考虑的是在做多轴同步
    的头像 发表于 07-07 18:02 489次阅读
    GraniStudio零代码平台轴<b class='flag-5'>复位</b>算子支持多少个轴同时<b class='flag-5'>复位</b>,有哪些回零模式?

    AMD FPGA异步模式与同步模式的对比

    本文讲述了AMD UltraScale /UltraScale+ FPGA 原生模式下,异步模式与同步模式的对比及其对时钟设置的影响。
    的头像 发表于 07-07 13:47 1434次阅读

    第二十四章 通用同步异步收发器(USART)

    本文介绍了W55MH32的通用同步异步收发器(USART),其支持全双工异步通信、NRZ格式,具分数波特率发生器,可编程数据字长、停止位等。支持LIN、IrDA等模式,有DMA及多种中断,适用于多场景高速通信。
    的头像 发表于 05-29 15:44 2075次阅读
    第二十四章 通用<b class='flag-5'>同步</b><b class='flag-5'>异步</b>收发器(USART)

    基础篇-开关电源的同步与非同步

    同步开关电源和异步开关电源之前,我们首先来回顾一下传统的开关电源,工作工程见下: 当Q1打开,Q2关闭,Vsw为高,IQ1增加,IQ2为零,电感电流增加。 当Q1关闭,Q2打开,Vsw为低,IQ1为零
    发表于 04-17 11:49

    复位电路的作用、控制方式和类型

    复位电路也是数字逻辑设计中常用的电路,不管是 FPGA 还是 ASIC 设计,都会涉及到复位,一般 FPGA或者 ASIC 的复位需要我们自
    的头像 发表于 03-12 13:54 3540次阅读
    <b class='flag-5'>复位</b>电路的作用、控制方式和类型

    基于易灵思国产FPGA Ti60F225 实现6目同步1080P实时成像系统

    基于FPGA实现单目的采集,并没有什么难的。 但基于FPGA,实现多目的同步采集→存储→显示,就不是那么好做了。
    的头像 发表于 03-04 12:00 2522次阅读
    基于易灵思国产<b class='flag-5'>FPGA</b> Ti60F225 实现6目<b class='flag-5'>同步</b>1080P实时成像系统

    做APPSFPGA的vhdl源码,fpga如何修改pgen送数据到数据总线然后复位

    有人在做 APPSFPGA的 vhdl 源码吗,我刚开始接触 fpga 如何修改 pgen 送数据 到数据总线 然后 复位 ,有大佬可以指点一下吗
    发表于 02-21 06:01

    两路DAC570无法同步的原因是什么?

    我们使用了两片DAC5670产生I/Q信号,DAC采样频率800MHz,但发现两片无法同步(每一次开机的结果不一样),因此: 1是否有其他的芯片推荐? 2 是否能通过鉴别两路DAC提供给FPGA
    发表于 01-24 08:13

    DAC3174如何同步数据DATA呢?

    看了DAC3174的datasheet,对芯片有了比较好的理解,但是对于SYNCP/N的作用和如何被FPGA驱动没有理解到位,只知道他是一个复位写FIFO指针和作为数据同步信号。但是如何驱动它呢
    发表于 01-22 08:42