那曲檬骨新材料有限公司

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

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

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

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

FPGA設(shè)計論壇 ? 來源:CSDN技術(shù)社區(qū) ? 作者:weixin_43343190 ? 2021-09-18 11:33 ? 次閱讀

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

在本篇文章中,主要介紹3種跨時鐘域處理的方法,這3種方法可以說是FPGA界最常用也最實(shí)用的方法,這三種方法包含了單bit和多bit數(shù)據(jù)的跨時鐘域處理,學(xué)會這3招之后,對于FPGA相關(guān)的跨時鐘域數(shù)據(jù)處理便可以手到擒來。

本文介紹的3種方法跨時鐘域處理方法如下:

1.打兩拍;“

2.異步雙口RAM;”

3.格雷碼轉(zhuǎn)換;“

第一種方法:打兩拍

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

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

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

這樣說可能還是有很多人不夠完全理解,那么請看下面的時序示意圖:

65ba5808-13d8-11ec-8fb8-12bb97331649.jpg

data是時鐘域1的數(shù)據(jù),需要傳到時鐘域2(clk)進(jìn)行處理,寄存器1和寄存器2使用的時鐘都為clk。假設(shè)在clk的上升沿正好采到data的跳變沿(從0變1的上升沿,實(shí)際上的數(shù)據(jù)跳變不可能是瞬時的,所以有短暫的跳變時間),那這時作為寄存器1的輸入到底應(yīng)該是0還是1呢?

這是一個不確定的問題。所以Q1的值也不能確定,但至少可以保證,在clk的下一個上升沿,Q1基本可以滿足第二級寄存器的保持時間和建立時間要求,出現(xiàn)亞穩(wěn)態(tài)的概率得到了很大的改善。

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

第二種方法:異步雙口RAM

處理多bit數(shù)據(jù)的跨時鐘域,一般采用異步雙口RAM。假設(shè)我們現(xiàn)在有一個信號采集平臺,ADC芯片提供源同步時鐘60MHz,ADC芯片輸出的數(shù)據(jù)在60MHz的時鐘上升沿變化,而FPGA內(nèi)部需要使用100MHz的時鐘來處理ADC采集到的數(shù)據(jù)(多bit)。

在這種類似的場景中,我們便可以使用異步雙口RAM來做跨時鐘域處理。先利用ADC芯片提供的60MHz時鐘將ADC輸出的數(shù)據(jù)寫入異步雙口RAM,然后使用100MHz的時鐘從RAM中讀出。

對于使用異步雙口RAM來處理多bit數(shù)據(jù)的跨時鐘域,相信大家還是可以理解的。當(dāng)然,在能使用異步雙口RAM來處理跨時鐘域的場景中,也可以使用異步FIFO來達(dá)到同樣的目的。

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

對于第三種方法,Kevin在大學(xué)里邊從沒接觸過,也是在工作中才接觸到。

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

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

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

65c5065e-13d8-11ec-8fb8-12bb97331649.png

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

編輯:jq

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

    關(guān)注

    456

    文章

    51170

    瀏覽量

    427225
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    114999
  • adc
    adc
    +關(guān)注

    關(guān)注

    99

    文章

    6533

    瀏覽量

    545744
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4346

    瀏覽量

    62968
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4825

    瀏覽量

    69041

原文標(biāo)題:解決跨時鐘域問題的三大方法

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    AN210 GD32G5x3系列QSPI高速模式時鐘調(diào)整方法

    電子發(fā)燒友網(wǎng)站提供《AN210 GD32G5x3系列QSPI高速模式時鐘調(diào)整方法.pdf》資料免費(fèi)下載
    發(fā)表于 01-20 14:33 ?0次下載
    AN210 GD32G5x<b class='flag-5'>3</b>系列QSPI高速模式<b class='flag-5'>時鐘</b>調(diào)整<b class='flag-5'>方法</b>

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

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

    FPGA頻率測量的三種方法

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

    一文解析時鐘傳輸

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

    簡單高效配置FPGA的方法

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

    直流無刷電機(jī)調(diào)速有幾種方法及應(yīng)用

    直流無刷電機(jī)(BLDC)是一高效、高可靠性的電機(jī),廣泛應(yīng)用于各種工業(yè)和消費(fèi)電子產(chǎn)品中。調(diào)速是電機(jī)控制中的一個重要方面,它允許電機(jī)在不同的速度下運(yùn)行,以滿足不同的應(yīng)用需求。直流無刷電機(jī)的調(diào)速方法
    的頭像 發(fā)表于 09-03 10:43 ?2237次閱讀

    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三種方法

    大家好,我是痞子衡,是正經(jīng)搞技術(shù)的痞子。今天痞子衡給大家分享的是MCUXpresso IDE下在線聯(lián)合調(diào)試i.MXRT1170雙核工程的三種方法。
    的頭像 發(fā)表于 08-08 15:18 ?664次閱讀
    MCUXpresso IDE下在線聯(lián)合調(diào)試雙核MCU工程的三<b class='flag-5'>種方法</b>

    pwm脈寬調(diào)制的四種方法有哪些

    于電機(jī)控制、LED調(diào)光、音頻處理等領(lǐng)域。以下是四常見的PWM脈寬調(diào)制方法: 固定頻率PWM(Fixed-Frequency PWM) 固定頻率PWM是一最基本的PWM調(diào)制
    的頭像 發(fā)表于 08-08 15:10 ?1702次閱讀

    數(shù)字示波器的測量方法有哪三

    數(shù)字示波器是一廣泛應(yīng)用于電子測量領(lǐng)域的儀器,它能夠?qū)崟r顯示電壓波形,幫助工程師和技術(shù)人員對電子信號進(jìn)行分析和測量。數(shù)字示波器的測量方法有很多種,不同的測量方法適用于不同的應(yīng)用場景。以下是三
    的頭像 發(fā)表于 07-17 18:02 ?1966次閱讀

    FPGA異步信號處理方法

    FPGA(現(xiàn)場可編程門陣列)在處理異步信號時,需要特別關(guān)注信號的同步化、穩(wěn)定性以及潛在的亞穩(wěn)態(tài)問題。由于異步信號可能來自不同的時鐘或外部設(shè)備,其到達(dá)時間和頻率可能不受FPGA內(nèi)部時鐘
    的頭像 發(fā)表于 07-17 11:10 ?1277次閱讀

    雜波抑制的方法有哪些種類

    雜波抑制是信號處理領(lǐng)域中的一個重要課題,它涉及到對信號中存在的干擾或噪聲進(jìn)行有效的抑制,以提高信號的質(zhì)量和可靠性。在這篇文章中,我們將介紹雜波抑制的各種方法,包括其原理、優(yōu)缺點(diǎn)以及應(yīng)用場景。 引言
    的頭像 發(fā)表于 07-14 10:21 ?1301次閱讀

    人臉檢測的五種方法各有什么特征和優(yōu)缺點(diǎn)

    人臉檢測是計算機(jī)視覺領(lǐng)域的一個重要研究方向,主要用于識別和定位圖像中的人臉。以下是五常見的人臉檢測方法及其特征和優(yōu)缺點(diǎn)的介紹: 基于膚色的方法 特征:基于膚色的
    的頭像 發(fā)表于 07-03 14:47 ?969次閱讀

    接地電阻的測量有哪幾種方法

    接地電阻的測量對于確保電氣系統(tǒng)的安全性和可靠性至關(guān)重要。存在幾種不同的方法來測量接地電阻,每種方法都有其特定的應(yīng)用場景和技術(shù)要求。
    的頭像 發(fā)表于 05-07 14:17 ?1.4w次閱讀

    介紹一個IC設(shè)計錯誤案例:可讀debug寄存器錯誤時鐘

    本文將介紹一個時鐘錯誤的案例如圖所示,phy_status作為一個多bit的phy_clk時鐘的信號,需要輸入csr模塊作為一個可讀狀態(tài)
    的頭像 發(fā)表于 03-11 15:56 ?597次閱讀
    <b class='flag-5'>介紹</b>一個IC設(shè)計錯誤案例:可讀debug寄存器錯誤<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b>

    三菱M70 PLC增加注解的三種方法簡析

    三菱M70 PLC增加注解的三種方法
    的頭像 發(fā)表于 02-26 09:59 ?1157次閱讀
    三菱M70 PLC增加注解的三<b class='flag-5'>種方法</b>簡析
    百家乐官网利来| 定制百家乐桌垫| 全讯网纯净版| 磴口县| 游艇会百家乐官网的玩法技巧和规则| 百家乐娱乐网备用网址| 博赢国际娱乐城| 水果老虎机的规律| 带百家乐官网的时时彩平台| 代理百家乐最多占成| 万豪国际| 百家乐官网博弈指| 大发888游戏客服电话| 百家乐官网网络赌博网址| 百家乐平台注册送现金| 足球投注开户| 新加坡百家乐官网规则| 娱乐城开户彩金| 新世百家乐官网的玩法技巧和规则 | 红9百家乐官网的玩法技巧和规则| 大发888怎么玩| 菲律宾百家乐官网排行| 百家乐tt赌场娱乐网规则| 雅安市| 百家乐半圆桌| 襄垣县| 百家乐游戏制作| 百家乐官网知敌便能制胜| 真人百家乐赌场娱乐网规则| 百家乐官网优惠高的网址| 易球百家乐娱乐城| 百家乐官网规则博彩正网| 百家乐赌场方法| 沛县| 百家乐玩的技巧| tt娱乐城怎么样| 百家乐投资心得| 吉安县| 至尊百家乐娱乐场| 百家乐官网网上投注系统| 大发888真钱下载|