国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

FPGA中同步異步時鐘域信號的處理

FPGA設計論壇 ? 來源:博客園 ? 作者:雨航 ? 2021-09-13 09:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最常用的約束有IO管腳位置約束和電平幅度約束,這個很好理解。另外,就是對時鐘網絡約束。這個是很重要的。比如你的系統中,驅動的電路的時鐘是27M的,那么你需要在約束文件中增加類似如下的約束語句

NET REF_CLK27M TNM_NET = REF_CLK27M_grp;

TIMESPEC TS_REF_CLK27M = PERIOD REF_CLK27M_grp : 37ns HIGH 50 %;

這樣的話,工具在布線的時候,就會知道這個時鐘所驅動的所有網絡必須滿足至少27M速度的要求,占空比為50%。它會任意布線,就有可能出現信號翻轉的很慢,或者延時很長,建立時間保持時間不足,在實際中造成timing錯誤。一般來說,十幾兆以上的時鐘網絡最好都加類似的約束,在時鐘上就可以了,工具會幫你把它所驅動的所有網絡都加上約束的。

另外,常用的約束還有delay,skew等,具體的你可以到Xilinx網站上下載專門有關Constains的文檔學習一下。

我們將問題分解為2部分,來自同步時鐘域信號的處理和來自異步時鐘域信號的處理。前者要簡單許多,所以先討論前者,再討論后者。

1.同步時鐘域信號的處理

一般來說,在全同步設計中,如果信號來自同一時鐘域,各模塊的輸入不需要寄存。只要滿足建立時間,保持時間的約束,可以保證在時鐘上升沿到來時,輸入信號已經穩定,可以采樣得到正確的值。但是如果模塊需要使用輸入信號的跳變沿(比如幀同步信號),千萬不要直接這樣哦。

always @ (posedge inputs)

begin

...

end

因為這個時鐘inputs很有問題。如果begin ... end語句段涉及到多個D觸發器,你無法保證這些觸發器時鐘輸入的跳變沿到達的時刻處于同一時刻(準確的說是相差在一個很小的可接受的范圍)。因此,如果寫出這樣的語句,EDA工具多半會報clock skew 》 data delay,造成建立/保持時間的沖突。本人曾經也寫出過這樣的語句,當時是為了做分頻,受大二學的數字電路的影響,直接拿計數器的輸出做了后面模塊的時鐘。當初用的開發工具是max+plusII,編譯也通過了,燒到板子上跑倒也能跑起來(估計是因為時鐘頻率較低,6M),但后來拿到QuartusII中編譯就報clock skew 》 data delay。大家可能會說分頻電路很常見的啊,分頻輸出該怎么用呢。我一直用的方法是采用邊沿檢測電路,用HDL語言描述大概是這樣:

always @ (posedge Clk)

begin

inputs_reg 《= inputs;

if (inputs_reg == 1‘b0 && inputs == 1’b1)

begin

...

end

...

end

這是上跳沿檢測的電路,下跳沿電路大家依此類推。

2.異步時鐘域信號的處理

這個問題也得分單一信號和總線信號來討論。

2.1單一信號(如控制信號)的處理

如果這個輸入信號來自異步時鐘域(比如FPGA芯片外部的輸入),一般采用同步器進行同步。最基本的結構是兩個緊密相連的觸發器,第一拍將輸入信號同步化,同步化后的輸出可能帶來建立/保持時間的沖突,產生亞穩態。需要再寄存一拍,減少(注意是減少)亞穩態帶來的影響。這種最基本的結構叫做電平同步器。

如果我們需要用跳變沿而不是電平又該怎樣處理呢,還記得1里面講的邊沿檢測電路么?在電平同步器之后再加一級觸發器,用第二級觸發器的輸出和第三級觸發器的輸出來進行操作。這種結構叫做邊沿同步器。

always @ (posedge Clk)

begin

inputs_reg1 《= inputs;

inputs_reg2 《= inputs_reg1;

inputs_reg3 《= inputs_reg2;

if (inputs_reg2 == 1‘b1 && inputs_reg3 == 1’b0)

begin

...

end

...

end

以上兩種同步器在慢時鐘域信號同步入快時鐘域時工作的很好,但是反過來的話,可能就工作不正常了。舉一個很簡單的例子,如果被同步的信號脈沖只有一個快時鐘周期寬,且位于慢時鐘的兩個相鄰跳變沿之間,那么是采不到的。這時就需要采用脈沖同步器。這種同步器也是由3個觸發器組成,同時需要對發送信號做一些處理,具體結構大家可以在網上搜。

2.2總線信號的處理

如果簡單的對異步時鐘域過來的一組信號分別用同步器的話,那么對這一組信號整體而言,亞穩態出現的幾率將大大上升。基于這一觀點,對于總線信號的處理可以有兩種方式。

如果這組信號只是順序變化的話(如存儲器的地址),可以將其轉換為格雷碼后再發送,由于格雷碼相鄰碼字只相差一個比特,上面說的同步器可以很好的發揮作用。

但是如果信號的變化是隨機的(如存儲器的數據),這種方法便失效了,這時可以采用握手的方式或者采用FIFO或DPRAM進行緩存。RAM緩存的方式在突發數據傳輸中優勢比較明顯,現在高檔一點的FPGA中都有不少的BlockRAM資源,且支持配置為DPRAM或FIFO,這種處理方法在通信電路中非常常用。

責任編輯:haq

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

    關注

    1660

    文章

    22412

    瀏覽量

    636312
  • 信號
    +關注

    關注

    12

    文章

    2914

    瀏覽量

    80126

原文標題:FPGA中對異步信號的處理

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    White Rabbit節點終端實現亞納秒級時鐘同步

    在工業控制、科學實驗等分布式系統時鐘同步與精準事件處理都是非常有必要的,這款專為 WR 網絡打造,憑借亞納秒級時鐘
    的頭像 發表于 02-27 09:02 ?578次閱讀
    White Rabbit節點終端實現亞納秒級<b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>

    單片機的串口通訊串行同步通信與串行異步通信

    的兩種基本串行通信方式包括同步通信和異步通信。 串行同步通信 同步通信(SYNC:synchronous data communicaTIon)是指在約定的通信速率下,發送端和接
    發表于 01-15 08:06

    基于FPGA的高效內存到串行數據傳輸模塊設計

    本文介紹了一個基于FPGA的內存到串行數據傳輸模塊,該模塊設計用來高效地處理存儲器的數據并傳輸至串行接口。項目中自定義的“datamover_mm2s_fpga_”方案利用
    的頭像 發表于 11-12 14:31 ?4337次閱讀
    基于<b class='flag-5'>FPGA</b>的高效內存到串行數據傳輸模塊設計

    時鐘緩沖器的應用場景及如何選擇合適的時鐘緩沖器?

    數據中心:數據中心通常需要處理大量數據,時鐘信號的穩定性和同步性至關重要。時鐘緩沖器可以幫助實現多設備之間的
    的頭像 發表于 10-30 14:12 ?468次閱讀
    <b class='flag-5'>時鐘</b>緩沖器的應用場景及如何選擇合適的<b class='flag-5'>時鐘</b>緩沖器?

    如何在嵌入式RF測試實施多信號分析

    射頻(RF)測試是嵌入式系統開發與驗證的關鍵環節,尤其是在電信、航空航天、汽車以及物聯網等行業。隨著嵌入式系統的日益復雜,傳統RF測試方法往往難以捕捉多個(時間、頻率、數字信號
    的頭像 發表于 08-15 16:32 ?2872次閱讀
    如何在嵌入式RF測試<b class='flag-5'>中</b>實施多<b class='flag-5'>域</b><b class='flag-5'>信號</b>分析

    黑芝麻智能跨時間同步技術:消除多計算單元的時鐘信任鴻溝

    ,并以黑芝麻智能武當 C1296 芯片為例,通過多方式同步實現多高精度對齊,消除時鐘信任鴻溝的實測效果。 智能汽車的核心是通過多維度感知、實時決策和精準控制實現輔助駕駛與智能交互,而這一切的前提是?"時間基準一致",由于不同傳
    的頭像 發表于 07-22 09:17 ?588次閱讀
    黑芝麻智能跨<b class='flag-5'>域</b>時間<b class='flag-5'>同步</b>技術:消除多<b class='flag-5'>域</b>計算單元的<b class='flag-5'>時鐘</b>信任鴻溝

    NTP網絡同步時鐘:數字世界的“心跳”

    NTP網絡同步時鐘是為網絡設備提供準確、標準、可靠和多功能的時間服務的解決方案,能提供準確的同步時鐘信號,支持標準的NTP和SNTP網絡時間
    的頭像 發表于 07-15 10:42 ?647次閱讀
    NTP網絡<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b>:數字世界的“心跳”

    同步快?異步穩?串口通信方案選擇的避坑指南

    我們常用的串口究竟是同步還是異步?藍牙模塊、WiFi模塊用的又是什么方式?今天,我們就來一探究竟,講清楚串口通信的同步異步的區別。 1.同步
    的頭像 發表于 07-09 16:58 ?785次閱讀
    <b class='flag-5'>同步</b>快?<b class='flag-5'>異步</b>穩?串口通信方案選擇的避坑指南

    時鐘同步在低空經濟的典型應用及發展方向

    在低空經濟時鐘同步的應用場景非常廣泛,以下是幾個典型的例子:1.無人機編隊飛行無人機編隊飛行是低空經濟的重要應用,例如物流配送和農業噴灑。在編隊飛行
    的頭像 發表于 07-08 14:02 ?808次閱讀
    <b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>在低空經濟<b class='flag-5'>中</b>的典型應用及發展方向

    AMD FPGA異步模式與同步模式的對比

    本文講述了AMD UltraScale /UltraScale+ FPGA 原生模式下,異步模式與同步模式的對比及其對時鐘設置的影響。
    的頭像 發表于 07-07 13:47 ?1638次閱讀

    異步時鐘處理方法大全

    該方法只用于慢到快時鐘的1bit信號傳遞。在Xilinx器件,可以使用(* ASYNC_REG = "TRUE" *)標記,將兩個寄存器盡量靠近綜合,降低 亞穩態因導線延遲太大而傳
    的頭像 發表于 05-14 15:33 ?1528次閱讀
    跨<b class='flag-5'>異步</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>處理</b>方法大全

    ntp時鐘同步服務器是什么?ntp時鐘同步服務器介紹

    時間、時鐘、時辰是我們非常熟悉的,但是你們知道如今的時間、時鐘都是哪里產生的嗎?尤其當今網絡設備的普及使用,上面幾乎都有時間標識,其實他們都是通過一些設備傳遞的,比如ntp時鐘同步服務
    的頭像 發表于 05-13 15:19 ?846次閱讀
    ntp<b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>服務器是什么?ntp<b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>服務器介紹

    時鐘同步在通信系統中有哪些重要作用?

    時鐘同步是指在一個系統,各個時鐘能夠準確地顯示相同的時間。在現代科技發展時鐘
    的頭像 發表于 04-29 13:44 ?1116次閱讀
    <b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>在通信系統中有哪些重要作用?

    gps衛星同步時鐘應用場景及特點介紹

    其他電路提供穩定的時鐘驅動,保證其工作頻率的準確性和穩定性。例如,在通信基站,10MHz 信號用于同步基站的射頻模塊、基帶處理模塊等,確保
    的頭像 發表于 04-17 15:01 ?1059次閱讀
    gps衛星<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b>應用場景及特點介紹

    進群免費領FPGA學習資料!數字信號處理、傅里葉變換與FPGA開發等

    進群免費領FPGA學習資料啦!小編整理了數字信號處理、傅里葉變換與FPGA開發等FPGA必看資料,需要的小伙伴可以加小助手(微信:elecf
    發表于 04-07 16:41