色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    關注

    1629

    文章

    21748

    瀏覽量

    603856
  • 信號
    +關注

    關注

    11

    文章

    2791

    瀏覽量

    76824

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

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

收藏 人收藏

    評論

    相關推薦

    一文解析跨時鐘傳輸

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

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

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

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

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

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

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

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

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

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

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

    FPGA同步復位和異步復位

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

    FPGA異步信號處理方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    對于數字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發生亞穩態。我們稱為“跨時鐘
    發表于 01-08 09:39 ?657次閱讀
    如何<b class='flag-5'>處理</b>跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題
    主站蜘蛛池模板: 久久WWW免费人成一看片| 娇妻归来在线观看免费完整版电影| 偷窥wc美女毛茸茸视频| 欧美精品熟妇乱| 麻豆AV蜜桃AV久久| 久久婷婷丁香五月色综合啪免费| 国产区免费在线观看| 大陆老熟女60岁| 北岛玲手机在线观看视频观看| 97色在线视频| 97国产视频| 91久久偷偷做嫩草影院免费看| 扒开美女的内衣亲吻漫画| 国产高清视频在线观看97| 成人网视频在线观看免费| 超碰免费视频公开97| 成a人片亚洲日本久久| 国产永久免费视频| 国产在线观看99| 免费看的一级毛片| 男男h开荤粗肉h文1v1| 天天色天天干天天| 折磨比基尼美女挠肚子| 在野外被男人躁了一夜动图| 真实国产乱子伦精品一区二区三区 | 快播苍井空| 男人有噶坏| 日韩精品无码久久一区二区三| 日产2021免费一二三四区在线| 亚洲一区自拍高清亚洲精品| 一级做a爰片久久免费| 中文字幕高清在线观看| 俄罗斯呦呦| 国产免费人成在线视频视频| 免费完整版观看| 亚洲欧美日韩人成| 55夜色66夜亚洲精品播放| jk制服喷水| 777黄色片| 国产自拍视频在线一区| 狼群影院视频在线观看WWW|