99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

揭秘FPGA跨時(shí)鐘域處理的三大方法

454398 ? 來(lái)源:alpha007 ? 作者:alpha007 ? 2022-12-05 16:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

時(shí)鐘域處理是 FPGA 設(shè)計(jì)中經(jīng)常遇到的問(wèn)題,而如何處理好跨時(shí)鐘域間的數(shù)據(jù),可以說(shuō)是每個(gè) FPGA 初學(xué)者的必修課。如果是還在校生,跨時(shí)鐘域處理也是面試中經(jīng)常常被問(wèn)到的一個(gè)問(wèn)題。

這里主要介紹三種跨時(shí)鐘域處理的方法,這三種方法可以說(shuō)是 FPGA 界最常用也最實(shí)用的方法,這三種方法包含了單 bit 和多 bit 數(shù)據(jù)的跨時(shí)鐘域處理,學(xué)會(huì)這三招之后,對(duì)于 FPGA 相關(guān)的跨時(shí)鐘域數(shù)據(jù)處理便可以手到擒來(lái)。

這里介紹的三種方法跨時(shí)鐘域處理方法如下:

打兩拍;

異步雙口 RAM;

格雷碼轉(zhuǎn)換。

01

方法一:打兩拍

大家很清楚,處理跨時(shí)鐘域的數(shù)據(jù)有單 bit 和多 bit 之分,而打兩拍的方式常見(jiàn)于處理單 bit 數(shù)據(jù)的跨時(shí)鐘域問(wèn)題。

打兩拍的方式,其實(shí)說(shuō)白了,就是定義兩級(jí)寄存器,對(duì)輸入的數(shù)據(jù)進(jìn)行延拍。

應(yīng)該很多人都會(huì)問(wèn),為什么是打兩拍呢,打一拍、打三拍行不行呢?

先簡(jiǎn)單說(shuō)下兩級(jí)寄存器的原理:兩級(jí)寄存是一級(jí)寄存的平方,兩級(jí)并不能完全消除亞穩(wěn)態(tài)危害,但是提高了可靠性減少其發(fā)生概率??偟膩?lái)講,就是一級(jí)概率很大,三級(jí)改善不大。

data 是時(shí)鐘域 1 的數(shù)據(jù),需要傳到時(shí)鐘域 2(clk)進(jìn)行處理,寄存器 1 和寄存器 2 使用的時(shí)鐘都為 clk。假設(shè)在 clk 的上升沿正好采到 data 的跳變沿(從 0 變 1 的上升沿,實(shí)際上的數(shù)據(jù)跳變不可能是瞬時(shí)的,所以有短暫的跳變時(shí)間),那這時(shí)作為寄存器 1 的輸入到底應(yīng)該是 0 還是 1 呢?這是一個(gè)不確定的問(wèn)題。所以 Q1 的值也不能確定,但至少可以保證,在 clk 的下一個(gè)上升沿,Q1 基本可以滿足第二級(jí)寄存器的保持時(shí)間和建立時(shí)間要求,出現(xiàn)亞穩(wěn)態(tài)的概率得到了很大的改善。

如果再加上第三級(jí)寄存器,由于第二級(jí)寄存器對(duì)于亞穩(wěn)態(tài)的處理已經(jīng)起到了很大的改善作用,第三級(jí)寄存器在很大程度上可以說(shuō)只是對(duì)于第二級(jí)寄存器的延拍,所以意義是不大的。

02

方法二:異步雙口 RAM

處理多 bit 數(shù)據(jù)的跨時(shí)鐘域,一般采用異步雙口 RAM。假設(shè)我們現(xiàn)在有一個(gè)信號(hào)采集平臺(tái),ADC 芯片提供源同步時(shí)鐘 60MHz,ADC 芯片輸出的數(shù)據(jù)在 60MHz 的時(shí)鐘上升沿變化,而 FPGA 內(nèi)部需要使用 100MHz 的時(shí)鐘來(lái)處理 ADC 采集到的數(shù)據(jù)(多 bit)。在這種類(lèi)似的場(chǎng)景中,我們便可以使用異步雙口 RAM 來(lái)做跨時(shí)鐘域處理。

先利用 ADC 芯片提供的 60MHz 時(shí)鐘將 ADC 輸出的數(shù)據(jù)寫(xiě)入異步雙口 RAM,然后使用 100MHz 的時(shí)鐘從 RAM 中讀出。對(duì)于使用異步雙口 RAM 來(lái)處理多 bit 數(shù)據(jù)的跨時(shí)鐘域,相信大家還是可以理解的。當(dāng)然,在能使用異步雙口 RAM 來(lái)處理跨時(shí)鐘域的場(chǎng)景中,也可以使用異步 FIFO 來(lái)達(dá)到同樣的目的。

03

方法三:格雷碼轉(zhuǎn)換

我們依然繼續(xù)使用介紹第二種方法中用到的 ADC 例子,將 ADC 采樣的數(shù)據(jù)寫(xiě)入 RAM 時(shí),需要產(chǎn)生 RAM 的寫(xiě)地址,但我們讀出 RAM 中的數(shù)據(jù)時(shí),肯定不是一上電就直接讀取,而是要等 RAM 中有 ADC 的數(shù)據(jù)之后才去讀 RAM。這就需要 100MHz 的時(shí)鐘對(duì) RAM 的寫(xiě)地址進(jìn)行判斷,當(dāng)寫(xiě)地址大于某個(gè)值之后再去讀取 RAM。

在這個(gè)場(chǎng)景中,其實(shí)很多人都是使用直接用 100MHz 的時(shí)鐘與 RAM 的寫(xiě)地址進(jìn)行打兩拍的方式,但 RAM 的寫(xiě)地址屬于多 bit,如果單純只是打兩拍,那不一定能確保寫(xiě)地址數(shù)據(jù)的每一個(gè) bit 在 100MHz 的時(shí)鐘域變化都是同步的,肯定有一個(gè)先后順序。如果在低速的環(huán)境中不一定會(huì)出錯(cuò),在高速的環(huán)境下就不一定能保證了。所以更為妥當(dāng)?shù)囊环N處理方法就是使用格雷碼轉(zhuǎn)換。

對(duì)于格雷碼,相鄰的兩個(gè)數(shù)間只有一個(gè) bit 是不一樣的(格雷碼,在本文中不作詳細(xì)介紹),如果先將 RAM 的寫(xiě)地址轉(zhuǎn)為格雷碼,然后再將寫(xiě)地址的格雷碼進(jìn)行打兩拍,之后再在 RAM 的讀時(shí)鐘域?qū)⒏窭状a恢復(fù)成 10 進(jìn)制。這種處理就相當(dāng)于對(duì)單 bit 數(shù)據(jù)的跨時(shí)鐘域處理了。

對(duì)于格雷碼與十進(jìn)制互換的代碼,僅提供給大家作參考:

代碼使用的是函數(shù)的形式,方便調(diào)用,op 表示編碼或者譯碼,WADDRWIDTH 和 RADDRWIDTH 表示位寬。

審核編輯黃昊宇

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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

    618549
  • 時(shí)鐘域
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    9791
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面揭秘 | 第曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)揭秘

    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面揭秘 | 第曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)揭秘
    的頭像 發(fā)表于 06-08 07:20 ?975次閱讀
    比亞迪 · 超級(jí)e平臺(tái) · 技術(shù)方案的全面<b class='flag-5'>揭秘</b> | 第<b class='flag-5'>三</b>曲: 30000轉(zhuǎn)驅(qū)動(dòng)電機(jī) · 12項(xiàng)核心技術(shù)<b class='flag-5'>揭秘</b>

    異步時(shí)鐘處理方法大全

    方法只用于慢到快時(shí)鐘的1bit信號(hào)傳遞。在Xilinx器件中,可以使用(* ASYNC_REG = "TRUE" *)標(biāo)記,將兩個(gè)寄存器盡量靠近綜合,降低 亞穩(wěn)態(tài)因?qū)Ь€延遲太大而傳播到第二個(gè)寄存器的可能性。
    的頭像 發(fā)表于 05-14 15:33 ?640次閱讀
    <b class='flag-5'>跨</b>異步<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>處理</b><b class='flag-5'>方法</b>大全

    算力筑基!揭秘DeepSeek爆火的“心跳密碼”——時(shí)鐘同步

    當(dāng)《哪吒2》登頂全球動(dòng)畫(huà)票房第一,DeepSeek也正在全球科技圈鑄就新神話!作為國(guó)內(nèi)時(shí)鐘同步領(lǐng)域領(lǐng)銜者,賽思將以DeepSeek為例,從專(zhuān)業(yè)角度揭秘AI背后的“心跳密碼”——時(shí)鐘同步。
    的頭像 發(fā)表于 03-03 13:59 ?578次閱讀
    算力筑基!<b class='flag-5'>揭秘</b>DeepSeek爆火的“心跳密碼”——<b class='flag-5'>時(shí)鐘</b>同步

    探索對(duì)抗訓(xùn)練的概率分布偏差:DPA雙概率對(duì)齊的通用自適的目標(biāo)檢測(cè)方法

    檢測(cè)) 目標(biāo)檢測(cè)作為計(jì)算機(jī)視覺(jué)領(lǐng)域的核心任務(wù),在閉集場(chǎng)景中已經(jīng)取得了顯著的進(jìn)展。然而,現(xiàn)有的方法通常假設(shè)類(lèi)別集合是固定的,并依賴(lài)于大量的標(biāo)注數(shù)據(jù),這導(dǎo)致它們?cè)?b class='flag-5'>處理數(shù)據(jù)時(shí),特別是在源
    的頭像 發(fā)表于 01-15 13:45 ?756次閱讀
    探索對(duì)抗訓(xùn)練的概率分布偏差:DPA雙概率對(duì)齊的通用<b class='flag-5'>域</b>自適的目標(biāo)檢測(cè)<b class='flag-5'>方法</b>

    FPGA頻率測(cè)量的三種方法

    1、FPGA頻率測(cè)量? 頻率測(cè)量在電子設(shè)計(jì)和測(cè)量領(lǐng)域中經(jīng)常用到,因此對(duì)頻率測(cè)量方法的研究在實(shí)際工程應(yīng)用中具有重要意義。 通常的頻率測(cè)量方法種:直接測(cè)量法,間接測(cè)量法,等精度測(cè)量法。
    的頭像 發(fā)表于 01-09 09:37 ?744次閱讀
    <b class='flag-5'>FPGA</b>頻率測(cè)量的<b class='flag-5'>三種方法</b>

    TSP研究:車(chē)內(nèi)網(wǎng)聯(lián)服務(wù)向融合、全場(chǎng)景融合、艙駕融合方向拓展

    的數(shù)據(jù)采集與供應(yīng),進(jìn)而為車(chē)主提供更加多樣化服務(wù)。其服務(wù)內(nèi)容涵蓋導(dǎo)航服務(wù)、社交服務(wù)、娛樂(lè)服務(wù)、遠(yuǎn)程保養(yǎng)服務(wù)、安全服務(wù)等。 來(lái)源:公開(kāi)資料 隨著融合、艙駕融合等趨勢(shì)的演進(jìn),TSP供應(yīng)商也在悄然進(jìn)步,從純車(chē)內(nèi)網(wǎng)聯(lián)服務(wù)應(yīng)用向
    的頭像 發(fā)表于 01-06 09:40 ?1465次閱讀
    TSP研究:車(chē)內(nèi)網(wǎng)聯(lián)服務(wù)向<b class='flag-5'>跨</b><b class='flag-5'>域</b>融合、全場(chǎng)景融合、艙駕融合方向拓展

    請(qǐng)問(wèn)ADC32xx的時(shí)鐘FPGA直接輸出嗎?

    大家好,我的ADC32XX 采樣率為125M,將轉(zhuǎn)換后的數(shù)據(jù)發(fā)送給FPGA,請(qǐng)問(wèn)ADC32xx的時(shí)鐘FPGA直接輸出嗎?FPGA IO口是3.3V的,如果是這樣的話是不是得電平轉(zhuǎn)換
    發(fā)表于 01-02 08:30

    FPGA 實(shí)時(shí)信號(hào)處理應(yīng)用 FPGA在圖像處理中的優(yōu)勢(shì)

    現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)是一種高度靈活的硬件平臺(tái),它允許開(kāi)發(fā)者根據(jù)特定應(yīng)用需求定制硬件邏輯。在實(shí)時(shí)信號(hào)處理和圖像處理領(lǐng)域,FPGA因其獨(dú)特的優(yōu)勢(shì)而受到青睞。 1. 并行
    的頭像 發(fā)表于 12-02 10:01 ?1820次閱讀

    一文解析時(shí)鐘傳輸

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

    FIFO的深度應(yīng)該怎么計(jì)算

    FIFO是FPGA/IC設(shè)計(jì)中經(jīng)常使用到的模塊,它經(jīng)常被用在兩個(gè)模塊之間進(jìn)行數(shù)據(jù)的緩存,以避免數(shù)據(jù)在傳輸過(guò)程中丟失。同時(shí)FIFO也經(jīng)常被用在時(shí)鐘
    的頭像 發(fā)表于 10-25 15:20 ?1002次閱讀
    FIFO的深度應(yīng)該怎么計(jì)算

    一種簡(jiǎn)單高效配置FPGA方法

    本文描述了一種簡(jiǎn)單高效配置FPGA方法,該方法利用微處理器從串行外圍接口(SPI)閃存配置FPGA設(shè)備。這種
    的頭像 發(fā)表于 10-24 14:57 ?1624次閱讀
    一種簡(jiǎn)單高效配置<b class='flag-5'>FPGA</b>的<b class='flag-5'>方法</b>

    FPGA Verilog HDL有什么奇技巧?

    模塊的時(shí)序風(fēng)險(xiǎn):在進(jìn)行 design partition(設(shè)計(jì)劃分)時(shí),如果前后兩個(gè)模塊時(shí)鐘不同,采用 register in(寄存器輸入)可能會(huì)引入時(shí)鐘
    發(fā)表于 09-12 19:10

    FPGA如何消除時(shí)鐘抖動(dòng)

    FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)設(shè)計(jì)中,消除時(shí)鐘抖動(dòng)是一個(gè)關(guān)鍵任務(wù),因?yàn)?b class='flag-5'>時(shí)鐘抖動(dòng)會(huì)直接影響系統(tǒng)的時(shí)序性能、穩(wěn)定性和可靠性。以下將詳細(xì)闡述FPGA中消除
    的頭像 發(fā)表于 08-19 17:58 ?2798次閱讀

    LMH32404 TIA阻輸入信號(hào)過(guò)大輸出信號(hào)畸變?cè)趺唇鉀Q?

    電流值限制光電二極管電流進(jìn)入TIA幅值,此方法沒(méi)找到合適的器件; 2、在TIA阻輸入端對(duì)地加入一個(gè)極管或MOS,此極管基極受控阻輸出
    發(fā)表于 08-05 06:58

    極限失控的大模型使電力系統(tǒng)面臨的攻擊風(fēng)險(xiǎn)及應(yīng)對(duì)措施

    分析大規(guī)模生成式預(yù)訓(xùn)練模型(以下簡(jiǎn)稱(chēng)為大模型)發(fā)生極限失控、使電力系統(tǒng)面臨的攻擊風(fēng)險(xiǎn)及相關(guān)的應(yīng)對(duì)措施,以期引起業(yè)內(nèi)對(duì)這一風(fēng)險(xiǎn)的重視、討論與行動(dòng)?;诖竽P偷默F(xiàn)狀、發(fā)展趨勢(shì)以及它與人工智能反叛之間
    發(fā)表于 07-22 12:09 ?0次下載