色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

跨時鐘域的解決方案

sanyue7758 ? 來源:AriesOpenFPGA ? 2024-01-08 09:42 ? 次閱讀

導言

在很久之前便陸續談過亞穩態,FIFO,復位的設計。本次亦安做一個簡單的總結,從宏觀上給大家展示跨時鐘域的解決方案。

什么是亞穩態?

對大多數工程師來講,亞穩態是非常難以追蹤的,因為它具有不確定性,在相對規范的設計下,如果仍然發生這個問題,那么可能非常難以復現異常。簡單來講,當觸發器不滿足建立時間和保持時間要求時,就會導致亞穩態。亞穩態出現時,觸發器既不是高邏輯也不是低邏輯,后續電路則可能讀取為0或者1(不確定狀態),導致電路邏輯做出不符合當前事物邏輯的事情。

對于數字設計人員來講,只要信號從一個時鐘域跨越到另一個時鐘域,那么就可能發生亞穩態。我們稱為“跨時鐘域”即“Clock Domain Crossing”,或CDC

所以今天主要簡單了解如何處理CDC這些基礎問題。

同步跨時鐘域信號

對大多數初學者來講,當我們遇到CDCs時,有經驗的工程師會告訴我們“打兩拍”,即讓信號通過兩個 flip-flops,每個flip-flop都由新時鐘域的時鐘驅動(如下圖)。第一個觸發器出現亞穩態的概率很高,但第二個觸發器的輸出亞穩態的概率就會低得多。當然更多的flip-flops會讓亞穩態的概率進一步下降,但一般下降的概率差距不會太大,如何選擇取決于設計者自己。但并非多數CDC問題都能用這種簡單方法,這種設計適用于舊時鐘域比新時鐘域慢的多的情況。經典的可配置的代碼如下。

f01ed170-ad75-11ee-8b88-92fbcf53809c.png

//Language:Verilog-2001

`resetall
`timescale1ns/1ps
`default_nettypenone

/*
*Synchronizesanasyncronoussignaltoagivenclockbyusingapipelineof
*tworegisters.
*/
modulesync_signal#(
parameterWIDTH=1,//widthoftheinputandoutputsignals
parameterN=2//depthofsynchronizer
)(
inputwireclk,
inputwire[WIDTH-1:0]in,
outputwire[WIDTH-1:0]out
);

reg[WIDTH-1:0]sync_reg[N-1:0];

/*
*Thesynchronizedoutputisthelastregisterinthepipeline.
*/
assignout=sync_reg[N-1];

integerk;

always@(posedgeclk)begin
sync_reg[0]<=?in;
????for?(k?=?1;?k?

異步復位同步釋放

CDC中一個常見的例子就是異步復位,這個問題我在“FPGA復位信號設計討論“一文中有詳細的表述,這里簡單講解,對于初學者而言,不太建議用異步復位,盡管他們各有優劣,但至少對FPGA設計者而言,這個建議應該是有效的,即使是Xilinx官方也同樣建議使用同步復位(UG949)。

但有些狀態下可能同步復位無效,比如在低功耗設計中,時鐘可能在復位前就已經被“無效”,那么異步復位自然成為一個選擇。異步復位關鍵點不在進入復位狀態,而在于移除復位,因為移除狀態可能會進入亞穩態,除了“FPGA復位信號設計討論”一文,大家同樣可以參閱我翻譯的經典論文“同步復位與異步復位”。經典的代碼如下所示,但請注意區別此處代碼和“打兩拍“的區別。

//Language:Verilog-2001

`resetall
`timescale1ns/1ps
`default_nettypenone

/*
*Synchronizesanactive-highasynchronousresetsignaltoagivenclockby
*usingapipelineofNregisters.
*/
modulesync_reset#
(
//depthofsynchronizer
parameterN=2
)
(
inputwireclk,
inputwirerst,
outputwireout
);

(*srl_style="register"*)
reg[N-1:0]sync_reg={N{1'b1}};

assignout=sync_reg[N-1];

always@(posedgeclkorposedgerst)begin
if(rst)begin
sync_reg<=?{N{1'b1}};
????end?else?begin
????????sync_reg?<=?{sync_reg[N-2:0],?1'b0};
????end
end

endmodule

`resetall

很多人爭論高電平復位有效好還是低電平復位有效好,一般情況下我常見低電平復位有效,但高電平復位有效也不是沒有,一般認為在FPGA中區別不是太大,但在ASIC中,低電平似乎更加常見。

跨時鐘握手

有時需要一種方法來處理CDC,例如從慢時鐘到快時鐘,從快時鐘到慢時鐘,這時需要:握手信號,在“AXI4協議邏輯規范以及BUG處理”一文寫過握手的注意點。握手的詳細技術點感興趣的朋友可以網上找相關資料

FIFO

FIFO網上的文章特別多,具體的設計細節有很多需要討論的地方,但對于跨時鐘域而言,FIFO幾乎是最方便的數據傳輸方式。這里不展開講,之前我寫過關于FIFO的相關文章,不是特別詳細,接下來會有詳細的關于FIFO的計劃,在此之前,大家可以看Clifford E. Cummings經典論文,他的論文真的很推薦

http://www.sunburst-design.com/papers/CummingsSNUG2008Boston_CDC.pdf

f038a370-ad75-11ee-8b88-92fbcf53809c.png








審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26509
  • fifo
    +關注

    關注

    3

    文章

    387

    瀏覽量

    43648
  • CDC
    CDC
    +關注

    關注

    0

    文章

    57

    瀏覽量

    17798
  • 觸發器
    +關注

    關注

    14

    文章

    2000

    瀏覽量

    61132
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9535

原文標題:跨時鐘域的幾種基本處理方法

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA設計中解決時鐘的三大方案

    時鐘處理是FPGA設計中經常遇到的問題,而如何處理好時鐘間的數據,可以說是每個FPGA初
    的頭像 發表于 11-21 11:13 ?3864次閱讀
    FPGA設計中解決<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的三大<b class='flag-5'>方案</b>

    vivado約束案例:時鐘路徑分析報告

    時鐘路徑分析報告分析從一個時鐘(源時鐘)跨越到另一個
    的頭像 發表于 11-27 11:11 ?5862次閱讀
    vivado約束案例:<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>路徑分析報告

    時鐘控制信號傳輸設計方案

    1、時鐘與亞穩態 時鐘通俗地講,就是模塊之間有數據交互,但是模塊用的不是同一個
    發表于 10-16 15:47 ?1150次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>控制信號傳輸設計<b class='flag-5'>方案</b>

    關于時鐘信號的處理方法

    我在知乎看到了多bit信號時鐘的問題,于是整理了一下自己對于時鐘信號的處理方法。
    的頭像 發表于 10-09 10:44 ?6154次閱讀

    如何處理好FPGA設計中時鐘間的數據

    時鐘處理是FPGA設計中經常遇到的問題,而如何處理好時鐘間的數據,可以說是每個FPGA初
    發表于 07-29 06:19

    cdc路徑方案幫您解決時鐘難題

    這一章介紹一下CDC也就是時鐘可能存在的一些問題以及基本的時鐘處理方法。
    的頭像 發表于 11-30 06:29 ?7184次閱讀
    cdc路徑<b class='flag-5'>方案</b>幫您解決<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>難題

    關于FPGA中時鐘的問題分析

    時鐘問題(CDC,Clock Domain Crossing )是多時鐘設計中的常見現象。在FPGA領域,互動的異步時鐘
    發表于 08-19 14:52 ?3346次閱讀

    揭秘FPGA時鐘處理的三大方法

    時鐘處理是 FPGA 設計中經常遇到的問題,而如何處理好時鐘間的數據,可以說是每個 FP
    的頭像 發表于 12-05 16:41 ?1643次閱讀

    關于時鐘的詳細解答

    每一個做數字邏輯的都繞不開時鐘處理,談一談SpinalHDL里用于時鐘處理的一些手段方法
    的頭像 發表于 04-27 10:52 ?4266次閱讀
    關于<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的詳細解答

    介紹3種方法時鐘處理方法

    時鐘處理是FPGA設計中經常遇到的問題,而如何處理好時鐘間的數據,可以說是每個FPGA初
    的頭像 發表于 09-18 11:33 ?2.2w次閱讀
    介紹3種方法<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法

    時鐘電路設計總結

    時鐘操作包括同步時鐘操作和異步
    的頭像 發表于 05-18 09:18 ?735次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>電路設計總結

    FPGA時鐘處理方法(一)

    時鐘是FPGA設計中最容易出錯的設計模塊,而且一旦時鐘出現問題,定位排查會非常困難,因為
    的頭像 發表于 05-25 15:06 ?1985次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(一)

    FPGA時鐘處理方法(二)

    上一篇文章已經講過了單bit時鐘的處理方法,這次解說一下多bit的時鐘方法。
    的頭像 發表于 05-25 15:07 ?1021次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(二)

    fpga時鐘通信時,慢時鐘如何讀取快時鐘發送過來的數據?

    fpga時鐘通信時,慢時鐘如何讀取快時鐘發送過來的數據? 在FPGA設計中,通常需要
    的頭像 發表于 10-18 15:23 ?1065次閱讀

    如何處理時鐘這些基礎問題

    對于數字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發生亞穩態。我們稱為“時鐘
    發表于 01-08 09:39 ?633次閱讀
    如何處理<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題
    主站蜘蛛池模板: 暖暖 免费 高清 日本在线| 久久全国免费观看视频| 国产精品久久人妻无码蜜| 国产99九九久久无码熟妇| 国产精品三级在线观看| 国自精品三七区| 久久人妻少妇嫩草AV蜜桃99| 麻豆精品一卡2卡三卡4卡免费观看| 嫩草影院在线观看精品视频| 青青草原亚洲| 午夜啪啪免费视频| 亚洲呦女专区| ASIAN大陆明星裸休合成PICS| 不知火舞vs精子| 国产免费看黄的私人影院| 九九热在线视频精品店| 嫩草影院地址一二三| 无人视频在线观看免费播放影院| 亚洲精品一线二线三线无人区| 19十主播福利视频| 丰满少妇67194视频| 狠狠色在在线视频观看| 欧美videosgratis杂交| 偷柏自拍亚洲综合在线| 伊人影院综合| 成人五级毛片免费播放| 国内精品免费视频精选在线观看| 麻豆精品一区二正一三区| 四虎影5151毛片在线看| 尹人久久大香找蕉综合影院| yellow免费影视大全| 国内精品偷拍在线观看| 欧美MV日韩MV国产网站| 亚洲不卡一卡2卡三卡4卡5卡| 97精品视频在线观看| 国产久爱青草视频在线观看| 麻豆久久国产亚洲精品超碰热| 十二月综合缴缴情| 最新国产av.在线视频| 国产精品观看视频免费完整版| 麻豆婷婷狠狠色18禁久久|