精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

芯片跨時鐘域設計案例簡析(一)

全棧芯片工程師 ? 來源:全棧芯片工程師 ? 2024-01-18 09:24 ? 次閱讀

(一)單bit信號同步器

最經典的2DFF 1-bit同步器如下,下圖結構通常用于單bit控制信號的異步處理:

3a796b5a-b54a-11ee-8b88-92fbcf53809c.png

絕大數情況下,當第一個寄存器R1進入亞穩態后,在第二級寄存器R2采樣R1的輸出前,R1的輸出已經能穩定在0或1。

注意:

cdc_s信號必須做到glitch free,也就是我們通常說的寄存輸出;

int_s信號鏈路禁止組合邏輯,其本質也是杜絕glitch的出現。

偏執狂的IC designer肯定會問,第一級寄存器R1的行為到底是啥樣子的?由于cdc_s信號是Tx clock Domain,而R1寄存器的采用時鐘是Rx clock Domain,當Rx clock采樣時,若cdc_s正好跳變(不滿足setup/hold),那么就會出現如下兩種情況,而前仿真是無法仿真出下圖2種行為的(具體見芯片設計之CDC異步電路(一)一文)。

3a8b93a2-b54a-11ee-8b88-92fbcf53809c.png

(二DMUX同步器 兩級寄存器(先進工藝要求三級)的同步器通常用于控制信號的異步處理,但是data bus的異步處理呢?我們可以采用DMUX結構。

3a9e4b8c-b54a-11ee-8b88-92fbcf53809c.png

注意:

tx_sel、rx_sel有效時,cdc_d數據總線必須保持穩定;

(三握手處理

源時鐘域先將數據發送到總線上,并給出一個valid信號,而目標時鐘域同步valid信號后,若valid信號為高電平則采樣總線數據,并返回一個ready信號給源時鐘域。源時鐘域再次同步該ready信號,若ready信號為高,則代表一次握手成功,數據傳輸完畢,開始進行下一次數據傳輸。

采用握手機制可以保證異步multi-bit數據傳輸不出現錯誤,但由于需要等待握手的完成再傳輸數據,因此傳輸效率較低。

3aae9bb8-b54a-11ee-8b88-92fbcf53809c.png

(四)異步FIFO

老生常談的異步FIFO,其本質是采用格雷碼,在地址連續的情況下,其對應格雷碼每個周期只變化1bit,因此可以直接異步采樣。

3ac449fe-b54a-11ee-8b88-92fbcf53809c.png

注意:

FIFO的overflow、underflow問題;

tx_addr是連續的,即地址hamming distance是1;

FIFO深度須2^n;

經典的FIFO結構如下:

3adb6062-b54a-11ee-8b88-92fbcf53809c.png

核心電路:是將FIFO讀寫地址指針的二進制碼轉成格雷碼,方便同步器打兩拍傳遞到對向時鐘域去做空滿判斷。

3ae5ce9e-b54a-11ee-8b88-92fbcf53809c.png

空滿判斷:為了區別空滿,我們增加1bit的地址(MSB),我習慣直接用Gray碼比較讀寫指針判定空滿:

當Gray碼讀寫指針完全相等時,FIFO空;

當Gray碼讀寫指針最高2bit相反,其余bit相同時,FIFO滿; 通常二進制碼比較空滿是:最高bit不同,其余bit相同,則FIFO滿,而格雷碼則不同哈。

3af20dda-b54a-11ee-8b88-92fbcf53809c.png








審核編輯:劉清

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

    關注

    31

    文章

    5317

    瀏覽量

    120002
  • CDC
    CDC
    +關注

    關注

    0

    文章

    57

    瀏覽量

    17770
  • 同步器
    +關注

    關注

    1

    文章

    94

    瀏覽量

    14612
  • FIFO存儲
    +關注

    關注

    0

    文章

    103

    瀏覽量

    5963
  • 異步處理
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6546

原文標題:芯片跨時鐘域設計(一)

文章出處:【微信號:全棧芯片工程師,微信公眾號:全棧芯片工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    關于時鐘信號的處理方法

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

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

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

    兩級DFF同步器時鐘處理

    異步bus交互()— 兩級DFF同步器時鐘處理 & 亞穩態處理1.問題產生現在的芯片(比如SOC,片上系統)集成度和復雜度越來越高,通
    發表于 02-17 06:34

    FPGA時鐘處理簡介

    (10)FPGA時鐘處理1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘
    發表于 02-23 07:47

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

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

    如何利用FPGA設計時鐘的同步策略?

    基于FPGA的數字系統設計中大都推薦采用同步時序的設計,也就是單時鐘系統。但是實際的工程中,純粹單時鐘系統設計的情況很少,特別是設計模塊與外圍芯片的通信中,
    的頭像 發表于 09-01 08:29 ?5533次閱讀
    如何利用FPGA設計<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 ?3314次閱讀

    關于時鐘的詳細解答

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

    時鐘電路設計總結

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

    FPGA時鐘處理方法()

    時鐘是FPGA設計中最容易出錯的設計模塊,而且時鐘
    的頭像 發表于 05-25 15:06 ?1925次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(<b class='flag-5'>一</b>)

    FPGA時鐘處理方法(二)

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

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

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

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

    對于數字設計人員來講,只要信號從時鐘跨越到另時鐘,那么就可能發生亞穩態。我們稱為“
    發表于 01-08 09:39 ?582次閱讀
    如何處理<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題