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

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

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

3天內不再提示

簡述CDC當中最典型錯誤案例

FPGA自習室 ? 來源:FPGA自習室 ? 作者:FPGA自習室 ? 2021-04-12 16:47 ? 次閱讀

一、主要概念

同步邏輯和異步邏輯:時鐘域為由單個時鐘或具有固定相位關系的時鐘驅動的設計部分。也就是說,在一個模塊中一個時鐘和他的翻轉或者分頻時鐘認為是相同的時鐘域,其所驅動的邏輯是同步邏輯。在一個模塊中不具有相同相位和時間關系的時鐘被視為不同的時鐘域,其所驅動的邏輯是異步邏輯。

亞穩態:如果數據傳輸中不滿足觸發器的建立時間和保持時間,或者復位過程中復位信號的釋放相對于有效時鐘沿的恢復時間(recovery time)不滿足,就可能產生亞穩態。亞穩態就是無法避免的,亞穩態主要發生在異步信號檢測、跨時鐘域信號傳輸以及復位電路等常用設計中。

MTBF: 平均無故障工作時間,英文全稱:Mean time between failures;利用平均故障間隔時間(MTBF)公式可以預測亞穩態的發生,MTBF越大則說明亞穩態對電路產生的影響越小,反之亦然。

f6f4244c-957b-11eb-8b86-12bb97331649.png

其中C1和C2是常數,依賴于構建觸發器所使用的技術;tMET為在不引起同步失敗的前提下亞穩態輸出持續時間,時間越長MTBF指數級增大,所以高頻電路兩級觸發器不夠可能要用三級觸發器來保證;fclk和fdata分別是同步時鐘和數據翻轉率;所以在不影響功能前提下,可以降頻工作頻率和數據的翻轉頻率,都可以有效的增大MTBF。

二、CDC典型錯誤場景

芯片設計過程中,CDC正向確認時經常會發現幾種典型的錯誤場景:沒有處理直接裸跨、輸入同步器前組合邏輯輸出以及多路扇出和重新聚合場景等,還有一些不太常見情況未列出,請參閱文末資料

2.1直接裸跨

f705ca62-957b-11eb-8b86-12bb97331649.png

如上圖,如果CLK B采樣DA,而DA是變化的(在CLK的上升邊緣和下降D)的邊緣,則DB將是亞穩態的,這種就是沒有使用同步器,顯然是不合理的。

2.2毛刺(Glitch)

異步路徑時序工具不會進行時序分析,這條道路上的任何邏輯都必須謹慎精心設計并驗證,因為邏輯可能導致故障并在下游產生功能錯誤。如下圖所示,盡管兩個源觸發器同時給出脈沖,但由于布局布線以及環境原因而引起的傳播延遲(Td)不同,導致DA1和DA2信號不能同時到達,因此在CLKA時鐘域下A&B會產生毛刺,而在CLKB時鐘域下產生一個假脈沖,導致后繼電路異常。正確的做法是將A&B在CLKA時鐘域下打一拍寄存器輸出。

f721daa4-957b-11eb-8b86-12bb97331649.png

此外,還有另外一種情況出現漏采,如下圖所示,DB1在CLKB時鐘域下應有的高電平信號,由于DA1和DA2的傳輸延時不同,導致在CLKB下沒有傳遞出去。

f7703a64-957b-11eb-8b86-12bb97331649.png

2.3多路扇出

單個信號扇出輸入到多個同步器時,由于輸入信號到達的同步器的時間不同(傳輸延時Td不同),同步可能需要一拍或者兩拍完成同步,此時同步后的各個信號之間可能存在錯拍問題。如下圖所示,DA1和DA2信號同步后分別是Fsm1_en 和 Fsm2_en信號,設計時如果仍認為它們是相同的信號,就會導致邏輯功能錯誤。

f78adcc0-957b-11eb-8b86-12bb97331649.png

2.4重新聚合(RECONVERGENCE)

在多bit跨時鐘傳輸過程中,如果各個bit之間分別使用單bit同步器進行跨時鐘處理,在目的時鐘域又重新聚合起來。如下圖所示,DA1和DA2由于傳輸delay不同,在 CLKB上升沿采樣時,就會有2’10不期望值的出現,這樣DB1和DB2進行邏輯處理(聚合)時,也會得到不期望的值,這也是總線不能采用單bit同步器進行跨時鐘處理的原因。此外,格雷碼是可以使用單bit同步器進行處理的,AFIFO就是其典型設計。

f7a40916-957b-11eb-8b86-12bb97331649.png

擴展:上述指的兩個兩級觸發器的單bit同步器,可以擴展為兩個AFIFO總線跨時鐘,如果設計不當,只使用其中一個AFIFO的empty作為兩個AFIFO讀判斷,由于格雷碼同步的不確定性,導致兩個AFIFO的empty信號不一致,當出口兩組總線聚合時,就會發生錯拍問題,從而導致功能異常。解決辦法是兩個AFIFO的讀條件應該關聯或者使用一個大的AFIFO.

Referencecadencecdc(1)

Reference Spyglass cdc(2)

編輯:jq

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

    關注

    0

    文章

    57

    瀏覽量

    17770
  • 復位電路
    +關注

    關注

    13

    文章

    322

    瀏覽量

    44536

原文標題:CDC(四) CDC典型錯誤案例

文章出處:【微信號:FPGA_Study,微信公眾號:FPGA自習室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    cdc減振器控制原理是什么

    CDC(Continuous Damping Control,連續阻尼控制)是一種先進的車輛懸掛系統技術,它能夠根據車輛的行駛條件實時調整懸掛的阻尼力,以提供最佳的乘坐舒適性和操控穩定性。CDC系統
    的頭像 發表于 09-18 15:16 ?564次閱讀

    關鍵指南針-NXP USB CDC_VCOM虛擬串口例程

    最近有小伙伴反應USB中的 usb_examples/usb_device_cdc_vcom 例程(USB虛擬串口VCOM)中的一些使用問題,今天集中來說說使用example的必知要點~ 實驗平臺
    的頭像 發表于 07-25 09:17 ?1791次閱讀
    關鍵指南針-NXP USB <b class='flag-5'>CDC</b>_VCOM虛擬串口例程

    USB復合設備MSC+CDC,MSC異常影響CDC收發怎么解決?

    MSC讀寫物理存儲設備的時候,如果返回一次錯誤錯誤碼:-1),不知道為什么會觸發一個枚舉中斷(USB_OTG_GINTSTS_ENUMDNE0),會調用到reset_callback,也會把CDC也會reset,導致
    發表于 07-23 06:23

    請問如何安裝Espressif CDC Device驅動?

    S3的開發板,用usb連接電腦后提示安裝Espressif CDC Device驅動,Windows7系統,請問要如何安裝該驅動?
    發表于 07-01 08:01

    esp32-s2-usb-host-cdc示例程序接收錯誤怎么處理?

    在運行示例程序 esp32-s2-usb-host-cdc 時,當與設備通訊有段時間之后,串口打印錯誤信息: [0;33mW (1922332) : BULK IN, dir: 1, err
    發表于 06-28 06:24

    ESP32-S2-WROOM使用USB CDC虛擬串口打印log,模組在跑一段時間后會報一下錯誤,為什么?

    環境相關 模組:ESP32-S2-WROOM IDF:V4.3 關于開發環境: windows11 IDE:vscode 問題描述 使用USB CDC虛擬串口打印log,模組在跑一段時間后會報一下錯誤,然后就重啟了
    發表于 06-19 06:22

    ESP32S2使用單根USB線創建MSC+CDC與上位機通信,CDC異常的原因?

    芯片型號:ESP32S2 SDK版本:ESP-IDF 4.4.6 現在的環境是使用單根USB線創建MSC+CDC與上位機通信。當CDC和MSC同時運行,且MSC接口有大數據量通過時CDC設備端口會
    發表于 06-06 07:29

    STM32 USB CDC為什么只能發送4096個字節?

    IC:STM32F411RCT6 SW:STM32Cube_FW_F4_V1.7.0 USB CDC功能,需要一次性發送近7K數據到PC,通過 USBD_CDC
    發表于 04-29 07:49

    STM32做3個CDC復合設備遇到的地址問題怎么解決?

    組合了三個CDC設備: 使用EP1的IN、OUT做CDC1的數據接口端點,EP4的IN做控制接口端點。 關聯串口1。 使用EP2的IN、OUT做CDC2的數據接口端點,EP5的IN做控制接口端點
    發表于 04-18 08:29

    USB CDC無法使用中斷傳輸的原因?

    目前使用USB CDC 遇到無法使用中斷傳輸的問題, 想請大家解惑 MCU: STM32F439 使用STM32Cube MX 產生code USB Full Speed - USB CDC
    發表于 04-09 06:57

    USB復合設備MSC+CDC,CDC_Transmit_FS函數發送不正常的原因?

    單獨測試CDC、MSC功能均正常,實現MSC+CDC復合設備后,均可正常識別到,但CDC_Transmit_FS函數不正常,現象如下: 1、在主循環里調用CDC_Transmit_FS
    發表于 03-13 07:40

    求助,關于USB復合設備HID+CDC串口問題求解

    分別寫了CustomHID的鍵鼠代碼、CDC代碼測試均無問題,整合到一起后,插上電腦有時識別串口,有時識別HID,最終過不了幾秒HID的設備掛掉報代碼10,雖然串口顯示設備正常運行,但
    發表于 03-07 06:11

    芯片設計之CDC異步電路分析(五)

    結構:同一個信號源頭,兩個同步處理器。這里提一下,有兩個CDC分析工具的參數配置:
    的頭像 發表于 02-23 18:23 ?2428次閱讀
    芯片設計之<b class='flag-5'>CDC</b>異步電路分析(五)

    PCB設計工作中常見的錯誤有哪些?

    一站式PCBA智造廠家今天為大家講講PCB設計工作中常見的錯誤有哪些?PCB設計中最常見到的六個錯誤。PCB設計是電子產品制造中非常關鍵的一環。它的質量直接關系到整個產品的性能和穩定性。然而,在
    的頭像 發表于 02-21 09:32 ?519次閱讀
    PCB設計工作中常見的<b class='flag-5'>錯誤</b>有哪些?

    盤點PCB設計中的常見錯誤

    搞技術,難免存在錯誤,只有經歷過錯誤,才能更快地成長。PCB設計也一樣,今天就來盤點一下PCB設計中最常見的錯誤
    的頭像 發表于 01-12 09:53 ?1335次閱讀
    盤點PCB設計中的常見<b class='flag-5'>錯誤</b>