0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RTL中多時鐘域的異步復(fù)位同步釋放

FPGA開源工作室 ? 來源:CSDN ? 作者:Snipermeng ? 2021-05-08 09:59 ? 次閱讀

1 多時鐘域的異步復(fù)位同步釋放

當(dāng)外部輸入的復(fù)位信號只有一個,但是時鐘域有多個時,使用每個時鐘搭建自己的復(fù)位同步器即可,如下所示。

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 多時鐘域的按順序復(fù)位釋放

當(dāng)多個時鐘域之間對復(fù)位釋放的時間有順序要求時,將復(fù)位同步器級聯(lián)起來就可以構(gòu)成多個時鐘域按順序的復(fù)位釋放(實際上就是延遲兩拍)。

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

原文標(biāo)題:RTL設(shè)計- 多時鐘域按順序復(fù)位釋放

文章出處:【微信公眾號:FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1734

    瀏覽量

    131490
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59797

原文標(biāo)題:RTL設(shè)計- 多時鐘域按順序復(fù)位釋放

文章出處:【微信號:leezym0317,微信公眾號:FPGA開源工作室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一文解析跨時鐘傳輸

    采樣到的信號質(zhì)量!最常用的同步方法是雙級觸發(fā)器緩存法,俗稱延遲打拍法。信號從一個時鐘進(jìn)入另一個時鐘之前,將該信號用兩級觸發(fā)器連續(xù)緩存兩次
    的頭像 發(fā)表于 11-16 11:55 ?535次閱讀
    一文解析跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸

    復(fù)位電路的設(shè)計問題

    都有異步復(fù)位端口,因此采用異步復(fù)位可以節(jié)約資源。 ⑵設(shè)計相對簡單。 ⑶異步復(fù)位信號識別方便,而且
    的頭像 發(fā)表于 11-15 11:13 ?166次閱讀
    <b class='flag-5'>復(fù)位</b>電路的設(shè)計問題

    怎么判斷同步清零和異步清零

    異步清零都是對寄存器或計數(shù)器進(jìn)行清零操作的方式,它們的主要區(qū)別在于清零信號的觸發(fā)方式。 同步清零:同步清零是指在時鐘信號的控制下,將寄存器或計數(shù)器的值清零。在
    的頭像 發(fā)表于 07-23 11:11 ?3663次閱讀

    異步置零和同步置零的區(qū)別在哪里

    異步置零和同步置零是數(shù)字電路設(shè)計兩種不同的置零方法。它們在實現(xiàn)方式、性能和應(yīng)用場景上有所不同。 實現(xiàn)方式: 異步置零:異步置零是指在數(shù)字電
    的頭像 發(fā)表于 07-23 11:09 ?2329次閱讀

    同步電路和異步電路怎么判斷正負(fù)極

    統(tǒng)一的時鐘信號進(jìn)行工作,各個部分的輸出與輸入之間存在固定的時序關(guān)系。同步電路通常用于數(shù)據(jù)傳輸、存儲器、處理器等高速電子系統(tǒng)。 異步電路(Asynchronous Circuit)是指
    的頭像 發(fā)表于 07-22 17:37 ?482次閱讀

    同步電路和異步電路的優(yōu)缺點

    同步電路和異步電路是數(shù)字電路設(shè)計的兩種基本類型。它們在設(shè)計方法、性能、功耗、可靠性等方面存在顯著差異。 同步電路 定義 同步電路是指電路
    的頭像 發(fā)表于 07-22 17:35 ?1400次閱讀

    同步電路和異步電路的優(yōu)缺點有哪些

    同步電路和異步電路是數(shù)字電路設(shè)計的兩種基本類型,它們在設(shè)計方法、性能特點和應(yīng)用領(lǐng)域等方面存在顯著差異。 同步電路 定義 同步電路是指電路
    的頭像 發(fā)表于 07-22 17:01 ?1164次閱讀

    FPGA同步復(fù)位異步復(fù)位

    FPGA(Field-Programmable Gate Array,現(xiàn)場可編程門陣列)復(fù)位操作是設(shè)計過程不可或缺的一環(huán),它負(fù)責(zé)將電路恢復(fù)到初始狀態(tài),以確保系統(tǒng)的正確啟動和穩(wěn)定運(yùn)行。在FPGA設(shè)計
    的頭像 發(fā)表于 07-17 11:12 ?1574次閱讀

    L431采用PLL異步時鐘,復(fù)位后ADC采樣值發(fā)生偏差的原因?

    前提:可以確認(rèn)的是外部條件沒有變化。 問題:開機(jī)后不復(fù)位的情況下,ADC_DMA讀取值幾乎相同,而每次重新復(fù)位后,ADC_DMA讀出來的值差別較大。在采用ADC同步時鐘
    發(fā)表于 03-08 07:32

    同步置數(shù),異步置數(shù),同步清零,異步清零的概念

    同步置數(shù)、異步置數(shù)、同步清零和異步清零是數(shù)字電路設(shè)計中常用的概念。 一、同步置數(shù) 同步置數(shù)是指在
    的頭像 發(fā)表于 02-22 13:48 ?1.7w次閱讀

    什么是復(fù)位同步電路 reset synchronizer?

    復(fù)位同步電路 reset synchronizer 其實只在復(fù)位信號 release 的時候派上用場。復(fù)位結(jié)束后,這個電路其實就沒用了。 但這個電路的
    的頭像 發(fā)表于 02-19 09:21 ?1437次閱讀
    什么是<b class='flag-5'>復(fù)位</b><b class='flag-5'>同步</b>電路 reset synchronizer?

    異步復(fù)位異步釋放會有什么問題?FPGA異步復(fù)位為什么要同步釋放呢?

    一般來說,復(fù)位信號有效后會保持比較長一段時間,確保 register 被復(fù)位完成。但是復(fù)位信號釋放時,因為其和時鐘
    的頭像 發(fā)表于 01-24 09:32 ?1737次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b><b class='flag-5'>異步</b><b class='flag-5'>釋放</b>會有什么問題?FPGA<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>為什么要<b class='flag-5'>同步</b><b class='flag-5'>釋放</b>呢?

    同步復(fù)位異步復(fù)位到底孰優(yōu)孰劣呢?

    同步復(fù)位異步復(fù)位到底孰優(yōu)孰劣呢? 同步復(fù)位異步
    的頭像 發(fā)表于 01-16 16:25 ?1768次閱讀

    異步電路時鐘同步處理方法

    異步電路時鐘同步處理方法? 時鐘同步異步電路
    的頭像 發(fā)表于 01-16 14:42 ?1190次閱讀

    時鐘的解決方案

    在很久之前便陸續(xù)談過亞穩(wěn)態(tài),F(xiàn)IFO,復(fù)位的設(shè)計。本次亦安做一個簡單的總結(jié),從宏觀上給大家展示跨時鐘的解決方案。
    的頭像 發(fā)表于 01-08 09:42 ?912次閱讀
    跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的解決方案