在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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
    +關注

    關注

    1630

    文章

    21759

    瀏覽量

    604302
  • 信號
    +關注

    關注

    11

    文章

    2794

    瀏覽量

    76890

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

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

收藏 人收藏

    評論

    相關推薦

    一文解析跨時鐘傳輸

    采樣到的信號質量!最常用的同步方法是雙級觸發器緩存法,俗稱延遲打拍法。信號從一個時鐘進入另一個時鐘
    的頭像 發表于 11-16 11:55 ?615次閱讀
    一文解析跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸

    怎么判斷同步清零和異步清零

    異步清零都是對寄存器或計數器進行清零操作的方式,它們的主要區別在于清零信號的觸發方式。 同步清零:同步清零是指在時鐘
    的頭像 發表于 07-23 11:11 ?3924次閱讀

    異步置零和同步置零的區別在哪里

    異步置零和同步置零是數字電路設計兩種不同的置零方法。它們在實現方式、性能和應用場景上有所不同。 實現方式: 異步置零:異步置零是指在數字電
    的頭像 發表于 07-23 11:09 ?2572次閱讀

    同步電路和異步電路怎么判斷正負極

    統一的時鐘信號進行工作,各個部分的輸出與輸入之間存在固定的時序關系。同步電路通常用于數據傳輸、存儲器、處理器等高速電子系統
    的頭像 發表于 07-22 17:37 ?512次閱讀

    同步電路和異步電路的優缺點

    同步電路和異步電路是數字電路設計的兩種基本類型。它們在設計方法、性能、功耗、可靠性等方面存在顯著差異。 同步電路 定義 同步電路是指電路
    的頭像 發表于 07-22 17:35 ?1505次閱讀

    同步電路和異步電路的優缺點有哪些

    同步電路和異步電路是數字電路設計的兩種基本類型,它們在設計方法、性能特點和應用領域等方面存在顯著差異。 同步電路 定義 同步電路是指電路
    的頭像 發表于 07-22 17:01 ?1228次閱讀

    FPGA同步復位和異步復位

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)的復位操作是設計過程不可或缺的一環,它負責將電路恢復到初始狀態,以確保系統的正確啟動和穩定運行。在F
    的頭像 發表于 07-17 11:12 ?1636次閱讀

    FPGA異步信號處理方法

    FPGA(現場可編程門陣列)在處理異步信號時,需要特別關注信號同步化、穩定性以及潛在的亞穩態問
    的頭像 發表于 07-17 11:10 ?1199次閱讀

    verilog同步異步的區別 verilog阻塞賦值和非阻塞賦值的區別

    Verilog是一種硬件描述語言,用于設計和模擬數字電路。在Verilog同步異步是用來描述數據傳輸和信號處理的兩種不同方式,而阻塞賦
    的頭像 發表于 02-22 15:33 ?1773次閱讀

    什么叫異步調制?什么叫同步調制?兩者各有什么特點?

    調制和同步調制的定義、特點和應用。 異步調制是一種無時鐘同步信號的數字調制方式。在異步調制
    的頭像 發表于 02-06 14:02 ?3785次閱讀

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么?

    FPGA設計時鐘信號通常需要滿足一定的要求。 首先,時鐘信號
    的頭像 發表于 01-31 11:31 ?3623次閱讀

    芯片跨時鐘設計案例簡析(一)

    最經典的2DFF 1-bit同步器如下,下圖結構通常用于單bit控制信號異步處理
    的頭像 發表于 01-18 09:24 ?1097次閱讀
    芯片跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>設計案例簡析(一)

    同步復位和異步復位到底孰優孰劣呢?

    同步復位和異步復位到底孰優孰劣呢? 同步復位和異步復位是兩種不同的復位方式,它們各自有優勢和劣勢,下面將詳細介紹這兩種復位方式。 同步復位是
    的頭像 發表于 01-16 16:25 ?1813次閱讀

    異步電路時鐘同步處理方法

    異步電路時鐘同步處理方法? 時鐘同步
    的頭像 發表于 01-16 14:42 ?1215次閱讀

    FPGA時鐘的用法

    生成時鐘包括自動生成時鐘(又稱為自動衍生時鐘)和用戶生成時鐘。自動生成時鐘通常由PLL或MMCM生成,也可以由具有分頻功能的
    的頭像 發表于 01-11 09:50 ?1951次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b><b class='flag-5'>時鐘</b>的用法
    主站蜘蛛池模板: 黄色免费三级| 国漫在线观看| 四虎884| 五月婷婷丁香在线观看| 色五阁| 男人天堂网在线视频| 狠狠色丁香婷婷综合视频| 国产精品三级在线播放| 2021韩国理论片ok电影天堂| 午夜精品久久久久久99热7777| 色天使久久综合给合久久97色| 久久天天躁狠狠躁夜夜爽| 97人洗澡人人澡人人爽| 亚洲婷婷综合中文字幕第一页| 精品国产免费观看久久久| 亚洲你xx我xx网站| 色多多在线免费观看| 六月丁香婷婷天天在线| 操你啦网站| 天天骑天天射| 在线视频黄| 日本一区二区三区免费看 | 69er小视频| 人人插人人| xxxx日本在线播放免费不卡| aaaaa国产毛片| 日韩亚| 黄色3急| 天天插天天色| 成人网男女啪啪免费网站| av免费网站在线观看| 日本三级视频在线观看| 岛国午夜| 国产美女亚洲精品久久久久久| 亚综合| 色综合久久久久久久久五月性色| 精品欧美一区二区三区在线观看| 五月天婷婷综合网| 国产黄网站在线观看| 亚洲大成色www永久网址| 六月婷婷在线|