RM新时代网站-首页

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

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

3天內不再提示

CDC跨時鐘域處理及相應的時序約束

冬至子 ? 來源:FPGA探索者 ? 作者:FPGA探索者 ? 2023-06-21 14:59 ? 次閱讀

**CDC(Clock Domain Conversion)**跨時鐘域分單bit和多bit傳輸,其中:

1. 單bit(慢時鐘域到快時鐘域) :用快時鐘打兩拍,直接采一拍大概率也是沒問題的,兩拍的主要目的是消除亞穩(wěn)態(tài);

其中:

(1)為了更長的平均無故障時間 MTBF( Mean Time Between Failures), 需要配合一個 ASYNC_REG 的約束 ,把用作簡單同步器的多個寄存器放入同一個 SLICE,以降低走線延時的不一致和不確定性。

(* ASYNC_REG = "TRUE" *) reg rst_reg_0;
(* ASYNC_REG = "TRUE" *) reg rst_reg_1;

(2)或者:直接在約束文件里進行約束

set_property ASYNC_REG TRUE [get_cells [list rst_reg_0 rst_reg_1]]

2. 單bit(快時鐘域到慢時鐘域) :握手(脈沖展寬)、異步FIFO、異步雙口RAM;快時鐘域的信號脈寬較窄,慢時鐘域不一定能采到,可以通過握手機制讓窄脈沖展寬,慢時鐘域采集到信號后再“告訴”快時鐘域已經(jīng)采集到信號,確保能采集到;

3. 多bit跨時鐘域異步FIFO 、異步雙口RAM、握手、格雷碼;

(1)使用異步FIFO的IP

實際上是用 FPGA 內部的 BRAM 來搭建,所有的控制邏輯都在 BRAM 內部,是推薦的 FIFO 實現(xiàn)方式。

時序約束簡單,進行時序例外約束, 只需要 set_clock_groups 將讀寫時鐘約束為異步時鐘組即可 ,簡單高效。

set_property -asynchronous  -group [get_clocks write_clock] \\
                            -group [get_clocks read_clock]

(2)自己寫外部控制邏輯的FIFO

格雷碼做異步 FIFO 的跨時鐘域處理,計數(shù)器和讀寫控制邏輯在 BRAM 或者 RAM 的外部,除了代碼的合理設計以外,還需要進行額外的時序例外約束,不能簡單使用 set_clock_groups 約束異步時鐘組,還需要考慮外部的讀寫邏輯的約束。

Xilinx建議這里設置set_max_delay來約束跨時鐘域路徑,約束的原則是:最大路徑延時等于或者略小于目的時鐘的一個周期。

寫邏輯從cell1到cell2的約束中,cell2的驅動時鐘周期為5,如下所示,讀邏輯約束進行相應約束。

set_max_delay 5from [get_cells cell1]to [get_cells cell2] –datapath_only

多bit中,強烈推薦使用異步FIFO的IP來實現(xiàn) ,我在實際工程中使用多次,簡單方便。

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

    關注

    9

    文章

    428

    瀏覽量

    26508
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1368

    瀏覽量

    114640
  • CDC
    CDC
    +關注

    關注

    0

    文章

    57

    瀏覽量

    17798
  • 同步器
    +關注

    關注

    1

    文章

    98

    瀏覽量

    14629
  • FIFO存儲
    +關注

    關注

    0

    文章

    103

    瀏覽量

    5968
收藏 人收藏

    評論

    相關推薦

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

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

    關于時鐘信號的處理方法

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

    處理時鐘CDC)信號同步的最常見方法

    時鐘( **Clock Domain Crossing,CDC** )通俗地講,就是 **模塊之間數(shù)據(jù)交互時用的不是同一個時鐘進行驅動*
    的頭像 發(fā)表于 09-20 11:24 ?3933次閱讀
    <b class='flag-5'>處理</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>(<b class='flag-5'>CDC</b>)信號同步的最常見方法

    時鐘時鐘約束介紹

    ->Core Cock Setup:pll_c0為(Latch Clock) 這兩個是時鐘時鐘,于是根據(jù)文中總結:對于
    發(fā)表于 07-03 11:59

    關于cdc時鐘處理的知識點,不看肯定后悔

    關于cdc時鐘處理的知識點,不看肯定后悔
    發(fā)表于 06-21 07:44

    XDC路徑的鑒別、分析和約束方法

    我們知道XDC與UCF的根本區(qū)別之一就是對時鐘路徑(CDC)的缺省認識不同,那么碰到FPGA設計中常見的CDC路徑,到底應該怎么
    發(fā)表于 11-18 04:04 ?6334次閱讀
    XDC路徑的鑒別、分析和<b class='flag-5'>約束</b>方法

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

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

    關于FPGA中時鐘的問題分析

    時鐘問題(CDC,Clock Domain Crossing )是多時鐘設計中的常見現(xiàn)象。在FPGA領域,互動的異步
    發(fā)表于 08-19 14:52 ?3346次閱讀

    CDC單bit脈沖時鐘處理介紹

    單bit 脈沖時鐘處理 簡要概述: 在上一篇講了總線全握手時鐘
    的頭像 發(fā)表于 03-22 09:54 ?3508次閱讀

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

    時鐘處理是FPGA設計中經(jīng)常遇到的問題,而如何處理
    的頭像 發(fā)表于 09-18 11:33 ?2.2w次閱讀
    介紹3種方法<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>處理</b>方法

    CDC時鐘的基礎概念

    時鐘clock domain:以寄存器捕獲的時鐘來劃分時鐘。 單時鐘
    的頭像 發(fā)表于 08-29 15:11 ?2503次閱讀

    XDC約束技巧之CDC

    上一篇《XDC 約束技巧之時鐘篇》介紹了 XDC 的優(yōu)勢以及基本語法,詳細說明了如何根據(jù)時鐘結構和設計要求來創(chuàng)建合適的時鐘約束。我們知道 X
    的頭像 發(fā)表于 04-03 11:41 ?2060次閱讀

    FPGA時鐘處理方法(二)

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

    時鐘電路設計—單比特信號傳輸

    時鐘CDC)的應從對亞穩(wěn)定性和同步性的基本了解開始。
    的頭像 發(fā)表于 06-27 14:25 ?1054次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>電路設計—單比特信號傳輸

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

    對于數(shù)字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發(fā)生亞穩(wěn)態(tài)。我們稱為“時鐘
    發(fā)表于 01-08 09:39 ?633次閱讀
    如何<b class='flag-5'>處理</b><b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題
    RM新时代网站-首页