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

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

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

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

為什么異步FIFO中需要用到格雷碼

工程師鄧生 ? 來源:芯司機(jī) ? 作者:芯司機(jī) ? 2022-09-02 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

異步FIFO常用于跨時(shí)鐘域之間的數(shù)據(jù)傳輸,其可以實(shí)現(xiàn)數(shù)據(jù)的存儲,也可以處理異步時(shí)鐘數(shù)據(jù)傳輸?shù)膩喎€(wěn)態(tài)問題。異步FIFO的設(shè)計(jì)其關(guān)鍵點(diǎn):通過格雷碼對內(nèi)部讀寫指針進(jìn)行編碼,然后比較產(chǎn)生空滿標(biāo)志,以維護(hù)FIFO的正常工作。

很多人在面試時(shí)被問到為什么異步FIFO中需要用到格雷碼,可能大部分的答案是格雷碼可以消除亞穩(wěn)態(tài)。這種回答比較模糊,今天我們就針對這個(gè)來深入探討一下。如下圖所示:

d4e57b80-2a6c-11ed-ba43-dac502259ad0.jpg

Push信息產(chǎn)生的連續(xù)寫指針wpt, 通過同步后,在rclk域與rpt進(jìn)行比較,以產(chǎn)生rclk域的Empty信號。Empty信號用于控制讀操作,以避免在FIFO為空時(shí)仍然進(jìn)行讀操作而導(dǎo)致的錯(cuò)誤,并影響后續(xù)所有的FIFO讀操作。

Pop 信息產(chǎn)生的連續(xù)讀指針rpt, 通過同步后,在wclk域與wpt進(jìn)行比較,以產(chǎn)生wclk域的Full信號。Full信號用于控制寫操作,以避免在FIFO為滿時(shí)仍然進(jìn)行寫操作而導(dǎo)致的錯(cuò)誤,并影響后續(xù)的所有的FIFO寫操作。

異步時(shí)鐘產(chǎn)生的亞穩(wěn)態(tài)發(fā)生在不同時(shí)鐘域信號wpt和rpt的比較上。對于多bit的讀寫指針信號,在跨時(shí)鐘域傳輸時(shí)會存在bit之前不同延時(shí)導(dǎo)致的毛刺,比如寫地址在從0111到1000轉(zhuǎn)換時(shí)4條地址線都會跳變,這樣在寫地址同步到讀時(shí)鐘域后得到的寫地址可能是0000-1111的某個(gè)值,因此本來wpt = rpt的情況變成了wpt > rpt的情況,本來應(yīng)該出現(xiàn)空狀態(tài),因?yàn)閬喎€(wěn)態(tài)導(dǎo)致未被發(fā)現(xiàn),讀操作繼續(xù)進(jìn)行,從而影響了整個(gè)FIFO的功能。

我們知道,格雷碼編碼的連續(xù)數(shù)值之間只有1bit會發(fā)生變化,這種特性其實(shí)不能消除異步時(shí)鐘數(shù)據(jù)傳輸出現(xiàn)的亞穩(wěn)態(tài)。假設(shè)格雷碼編碼的寫地址從001(2)->011(3),讀時(shí)鐘域同步出錯(cuò),寫地址為001->001,也就是地址沒有跳變,此時(shí)用這個(gè)錯(cuò)誤的寫地址與讀地址進(jìn)行比較,出現(xiàn)虛假的空標(biāo)志,但這種虛空只是提前阻止了后續(xù)的讀操作,不會發(fā)生讀空的情況,因此不會影響后續(xù)的操作及整個(gè)FIFO的功能。

同樣對于讀地址同步到寫時(shí)鐘域時(shí)也會出現(xiàn)虛滿的情況,這種虛空和虛滿,不會影響FIFO的功能,因此gray碼保證的是在出現(xiàn)亞穩(wěn)態(tài)的情形下,F(xiàn)IFO依然能夠正常的工作。



審核編輯:劉清

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

    關(guān)注

    9

    文章

    2019

    瀏覽量

    66085
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    402

    瀏覽量

    44823
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    969

    瀏覽量

    55789

原文標(biāo)題:異步FIFO-格雷碼

文章出處:【微信號:芯司機(jī),微信公眾號:芯司機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    企業(yè)數(shù)字化改造需要用到哪些平臺

    企業(yè)數(shù)字化改造需根據(jù)業(yè)務(wù)需求、技術(shù)基礎(chǔ)和轉(zhuǎn)型目標(biāo)選擇適配平臺,以下是關(guān)鍵平臺類型及推薦方案: 一、核心業(yè)務(wù)數(shù)字化平臺 低代碼/零代開發(fā)平臺 適用場景 :快速構(gòu)建CRM、ERP、OA等業(yè)務(wù)系統(tǒng),降低
    的頭像 發(fā)表于 07-07 17:57 ?204次閱讀

    如果需要使用DMD進(jìn)行成像控制,需要用到哪些部件?

    我想問一下,如果需要使用DMD進(jìn)行成像控制,需要用到哪些部件?是只需要控制板和DMD芯片么?那么評估模塊是用來干什么的呢?
    發(fā)表于 02-28 06:40

    使用MSVC編譯器重新生成了DLP_SDK,執(zhí)行Prepare DLP LightCrafter 4500時(shí),生成的兩張編碼圖片有問題,為什么?

    最近完成使用MSVC編譯器重新生成了DLP_SDK,并且將TIDA-00254項(xiàng)目也在msvc編譯器下重新生成成功,但是在執(zhí)行Prepare DLP LightCrafter 4500時(shí),生成的兩張編碼圖片有問題,如附件
    發(fā)表于 02-28 06:37

    dlp4500模式序列投射,當(dāng)設(shè)置pattern exposure:8333,pattern period為9000時(shí)其投射出來的圖案就亂了,為什么?

    dlp4500模式序列投射,但是當(dāng)設(shè)置pattern exposure:8333,pattern period為9000時(shí)其投射出來的圖案就亂了,我看了一下他的圖片連接時(shí)間image load timing 每一張都大
    發(fā)表于 02-26 07:22

    使用DLPC350投射時(shí),當(dāng)切換pattern頻率>10frame/s,出現(xiàn)了圖像重疊的問題怎么解決?

    你好,我在使用DLPC350 投射(8bit深度)時(shí),當(dāng) 切換pattern頻率 > 10frame/s,出現(xiàn)了圖像錯(cuò)誤或者說 圖像重疊的問題: 從圖像看,像
    發(fā)表于 02-21 16:03

    做的一個(gè)系統(tǒng)需要用到4片ADS1298,在多器件聯(lián)接方式,標(biāo)準(zhǔn)模式和菊鏈模式,哪個(gè)更換好一些?

    我正在做的一個(gè)系統(tǒng)需要用到4片ADS1298,在多器件聯(lián)接方式,標(biāo)準(zhǔn)模式和菊鏈模式,哪個(gè)更換好一些? 優(yōu)勢在哪里?
    發(fā)表于 02-08 06:54

    如果用ADS129X采集EEG信號,需要用到右腿驅(qū)動(dòng)嗎?

    如下幾個(gè)問題請教專家: 1,EEG產(chǎn)品是否需要用到RLD? 2,因?yàn)镋EG需要參考電極,所以EEG上是否可以用RLD功能來作為參考電極? 2,如果不用RLD作為參考電極,是不是把N極作為參考電極? 3,如果是N極為參考電極,是不是可以把每個(gè)通道的N極并聯(lián)在一起? 再次叩謝
    發(fā)表于 12-30 07:12

    n型焊接頭需要用到哪些材料

    德索工程師說道N型焊接頭作為射頻同軸連接器的一種,其制造過程需要使用多種材料以確保其性能的穩(wěn)定性和可靠性。以下是對N型焊接頭所需材料的詳細(xì)分析: 銅合金:N型焊接頭的核心接觸件通常采用高導(dǎo)電性
    的頭像 發(fā)表于 11-20 10:52 ?556次閱讀
    n型焊接頭<b class='flag-5'>需要用到</b>哪些材料

    ADS9234R這個(gè)AD的寄存器如何配置,需要用到哪幾個(gè)引腳?

    請問一下,ADS9234R這個(gè)AD的寄存器如何配置,需要用到哪幾個(gè)引腳?時(shí)序是怎樣的?與復(fù)位信號有什么關(guān)系?感覺官方文檔對寄存器配置這一塊描述比較少,我用FPGA與ADS9234R做接口,寫入寄出器參數(shù),讀出總是不對。
    發(fā)表于 11-15 07:48

    調(diào)試音頻放大倍數(shù)時(shí),需要用到1khz 0db的正弦波測試音源,請問下這個(gè)0db對應(yīng)的電壓峰峰值的幅度是多少?

    調(diào)試音頻放大倍數(shù)時(shí),需要用到1khz 0db的正弦波測試音源,請問下這個(gè)0db對應(yīng)的電壓峰峰值的幅度是多少? 怎么計(jì)算的? 謝謝
    發(fā)表于 10-28 08:04

    在進(jìn)行高速信號放大設(shè)計(jì)時(shí),往往需要用到反饋電路,是否反饋電路越短越好?

    在進(jìn)行高速信號放大設(shè)計(jì)時(shí),往往需要用到反饋電路,是否反饋電路越短越好,不同封裝是否在這方面有不同優(yōu)勢?
    發(fā)表于 09-26 07:55

    選擇ths4631后需不需要用jfet呀?

    如圖所示的電荷靈敏前方電路,如果用ths4631作為運(yùn)放A1,還需不需要用前端的Q1(Q1為jfet,型號為2sk152),如果需要時(shí)什么原因,如果不需要時(shí)什么原因。還有用Q1的作用是什么?
    發(fā)表于 09-23 07:20

    射頻連接器mcx需要用到護(hù)線套嗎

     德索工程師說道射頻連接器MCX是否需要用到護(hù)線套,這主要取決于具體的應(yīng)用場景、環(huán)境條件以及保護(hù)需求。以下是對此問題的詳細(xì)分析:   MCX連接器是一種超小型射頻連接器,發(fā)明于1980年代
    的頭像 發(fā)表于 09-02 10:48 ?549次閱讀
    射頻連接器mcx<b class='flag-5'>需要用到</b>護(hù)線套嗎

    什么時(shí)候需要用到no phase reversal運(yùn)放呢?

    什么時(shí)候需要用到no phase reversal運(yùn)放呢? 此時(shí)不用的話會造成什么影響呢?
    發(fā)表于 08-02 14:09

    請問INA231EVM采樣電阻需要用多大的?

    INA231EVM 采樣電阻需要用多大的?
    發(fā)表于 08-01 06:18