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

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

3天内不再提示

RTL中多时钟域的异步复位同步释放

FPGA开源工作室 来源:CSDN 作者:Snipermeng 2021-05-08 09:59 次阅读

1 多时钟域的异步复位同步释放

当外部输入的复位信号只有一个,但是时钟域有多个时,使用每个时钟搭建自己的复位同步器即可,如下所示。

pIYBAGCV8QWANuz2AACK8JPO7Pg061.jpg

verilog代码如下:

module CLOCK_RESET( input rst_n, input aclk, input bclk, input cclk, output reg arst_n, output reg brst_n, output reg crst_n );

reg arst_n0,arst_n1;reg brst_n0,brst_n1;reg crst_n0,crst_n1;

always @(posedge aclk or negedge rst_n) if(rst_n==0) begin arst_n0《=1‘b1; arst_n1《=1’b0; arst_n《=1‘b0; end else begin arst_n《=arst_n1; arst_n1《=arst_n0; end always @(posedge bclk or negedge rst_n) if(rst_n==0) begin brst_n0《=1’b1; brst_n1《=1‘b0; brst_n《=1’b0; end else begin brst_n《=brst_n1; brst_n1《=brst_n0; end always @(posedge cclk or negedge rst_n) if(rst_n==0) begin crst_n0《=1‘b1; crst_n1《=1’b0; crst_n《=1‘b0; end else begin crst_n《=crst_n1; crst_n1《=crst_n0; end endmodule

2 多时钟域的按顺序复位释放

当多个时钟域之间对复位释放的时间有顺序要求时,将复位同步器级联起来就可以构成多个时钟域按顺序的复位释放(实际上就是延迟两拍)。

verilog代码:

module CLOCK_RESET( input rst_n, input aclk, input bclk, input cclk, output reg arst_n, output reg brst_n, output reg crst_n );

reg arst_n0,arst_n1;reg brst_n0,brst_n1;reg crst_n0,crst_n1;

always @(posedge aclk or negedge rst_n) if(rst_n==0) begin arst_n0《=1’b1; arst_n1《=1‘b0; arst_n《=1’b0; end else begin arst_n《=arst_n1; arst_n1《=arst_n0; end always @(posedge bclk or negedge rst_n) if(rst_n==0) begin brst_n1《=1‘b0; brst_n《=1’b0; end else begin brst_n《=brst_n1; brst_n1《=arst_n; end always @(posedge cclk or negedge rst_n) if(rst_n==0) begin crst_n1《=1‘b0; crst_n《=1’b0; end else begin crst_n《=crst_n1; crst_n1《=brst_n; end endmodule

原文标题:RTL设计- 多时钟域按顺序复位释放

文章出处:【微信公众号:FPGA开源工作室】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    11

    文章

    1749

    浏览量

    131897
  • RTL
    RTL
    +关注

    关注

    1

    文章

    385

    浏览量

    60014

原文标题:RTL设计- 多时钟域按顺序复位释放

文章出处:【微信号:leezym0317,微信公众号:FPGA开源工作室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一文解析跨时钟传输

    采样到的信号质量!最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。信号从一个时钟进入另一个时钟之前,将该信号用两级触发器连续缓存两次
    的头像 发表于 11-16 11:55 761次阅读
    一文解析跨<b class='flag-5'>时钟</b><b class='flag-5'>域</b>传输

    FPGA复位的8种技巧

    其它输入引脚类似,对 FPGA 来说往往是异步的。设计人员可以使用这个信号在 FPGA 内部对自己的设计进行异步或者同步复位。 不过在一些提示和技巧的帮助下,设计人员可以找到更加合适的
    的头像 发表于 11-16 10:18 469次阅读
    FPGA<b class='flag-5'>复位</b>的8种技巧

    复位电路的设计问题

    都有异步复位端口,因此采用异步复位可以节约资源。 ⑵设计相对简单。 ⑶异步复位信号识别方便,而且
    的头像 发表于 11-15 11:13 235次阅读
    <b class='flag-5'>复位</b>电路的设计问题

    怎么判断同步清零和异步清零

    异步清零都是对寄存器或计数器进行清零操作的方式,它们的主要区别在于清零信号的触发方式。 同步清零:同步清零是指在时钟信号的控制下,将寄存器或计数器的值清零。在
    的头像 发表于 07-23 11:11 4118次阅读

    异步置零和同步置零的区别在哪里

    异步置零和同步置零是数字电路设计两种不同的置零方法。它们在实现方式、性能和应用场景上有所不同。 实现方式: 异步置零:异步置零是指在数字电
    的头像 发表于 07-23 11:09 2731次阅读

    同步电路和异步电路怎么判断正负极

    统一的时钟信号进行工作,各个部分的输出与输入之间存在固定的时序关系。同步电路通常用于数据传输、存储器、处理器等高速电子系统异步电路(Asynchronous Circuit)是指
    的头像 发表于 07-22 17:37 591次阅读

    同步电路和异步电路的优缺点

    同步电路和异步电路是数字电路设计的两种基本类型。它们在设计方法、性能、功耗、可靠性等方面存在显著差异。 同步电路 定义 同步电路是指电路
    的头像 发表于 07-22 17:35 1620次阅读

    同步电路和异步电路的优缺点有哪些

    同步电路和异步电路是数字电路设计的两种基本类型,它们在设计方法、性能特点和应用领域等方面存在显著差异。 同步电路 定义 同步电路是指电路
    的头像 发表于 07-22 17:01 1398次阅读

    FPGA同步复位异步复位

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)复位操作是设计过程不可或缺的一环,它负责将电路恢复到初始状态,以确保系统的正确启动和稳定运行。在FPGA设计
    的头像 发表于 07-17 11:12 1809次阅读

    FPGA异步信号处理方法

    FPGA(现场可编程门阵列)在处理异步信号时,需要特别关注信号的同步化、稳定性以及潜在的亚稳态问题。由于异步信号可能来自不同的时钟或外部设
    的头像 发表于 07-17 11:10 1315次阅读

    同步FIFO和异步FIFO区别介绍

    ,并且间隔时间长,也就是突发写入。那么通过设置一定深度的FIFO,可以起到数据暂存的功能,且使得后续处理流程平滑。 时钟的隔离:主要用异步FIFO。对于不同时钟
    的头像 发表于 06-04 14:27 1873次阅读
    <b class='flag-5'>同步</b>FIFO和<b class='flag-5'>异步</b>FIFO区别介绍

    L431采用PLL异步时钟复位后ADC采样值发生偏差的原因?

    前提:可以确认的是外部条件没有变化。 问题:开机后不复位的情况下,ADC_DMA读取值几乎相同,而每次重新复位后,ADC_DMA读出来的值差别较大。在采用ADC同步时钟
    发表于 03-08 07:32

    verilog同步异步的区别 verilog阻塞赋值和非阻塞赋值的区别

    Verilog同步异步的区别,以及阻塞赋值和非阻塞赋值的区别。 一、Verilog同步异步
    的头像 发表于 02-22 15:33 1865次阅读

    同步置数,异步置数,同步清零,异步清零的概念

    同步置数、异步置数、同步清零和异步清零是数字电路设计中常用的概念。 一、同步置数 同步置数是指在
    的头像 发表于 02-22 13:48 1.9w次阅读

    什么是复位同步电路 reset synchronizer?

    复位同步电路 reset synchronizer 其实只在复位信号 release 的时候派上用场。复位结束后,这个电路其实就没用了。 但这个电路的
    的头像 发表于 02-19 09:21 1585次阅读
    什么是<b class='flag-5'>复位</b><b class='flag-5'>同步</b>电路 reset synchronizer?