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

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

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

3天內不再提示

時序約束連載04~隨路時鐘

jf_pJlTbmA9 ? 來源:明德揚FPGA科教 ? 作者:明德揚FPGA科教 ? 2023-07-11 17:19 ? 次閱讀

本文講一下隨路時鐘,什么是隨路的時鐘呢?

第1節 隨路時鐘的概念

如圖1是一個SDRAM接口時序圖,大家如果做外部接口,使用過各種芯片,一般也能看到類似這樣接口時序圖。CLK是時鐘信號,INPUT代表輸入SDRAM的各種信號,OUTPUT表示SDRAM輸出的各種信號線。其實芯片接口就是一些寄存器,既然是寄存器,那么這些寄存器想要穩定寄存數據,就會對數據信號有建立時間和保持時間相關的要求。

100572377-308714-tu1sdramjiekoushixutu.png

圖1 SDRAM接口時序圖

如圖1所示,在CLK的上升沿時,要求INPUT必須提前tCS到達,并且延遲tCH,所以該接口寄存器的建立時間為tCS,保持時間為tCH,最后通過數據手冊可以獲取這些參數對應數值。那么在設計時序時就要考慮建立時間和保持時間對數據的影響,即INPUT要在時鐘上升沿的建立時間之前穩定,并且在上升沿之后最少穩定保持時間對應的時間。這是SDRAM的一個接口時序要求,也與多數的芯片接口時序類似。

這是芯片接口需要滿足的時序要求,那我們在做實際項目的時候,如何去滿足這個下游器件的時序要求呢?

第2節 實際應用中,如何做到滿足

2.1建立時間、保持時間的影響因素
那在設計當中如何做才能滿足這個時序要求,首先分析一下影響建立時間和保持時間的因素有哪些呢?

其實影響建立時間、保持時間的因素是很多的,例如說FPGA內部的寄存器傳輸延時、寄存器到管腳的延時和PCB板上的走線延時等等,這些延時最終都會影響時鐘與數據的關系,從而就會影響到下游器件的輸入數據到底能不能滿足芯片接口時序的建立時間和保持時間要求了。

2.1.1 理想波形
如圖2是一個理想的波形,信號a的波形在時鐘的上升沿發生變化,在第2個時鐘上升沿到達時,信號a從低電平變為高電平,在第3個時鐘上升沿到達時,信號a由高電平變為低電平。在兩次變化過程中,沒有任何延遲。能夠在時鐘變化時立即發生相應的變化,這種理想的波形,它的數據會立即到達下一個寄存器,會發現時鐘上升沿之前的時間周期就是時鐘周期T,而且在時鐘上升沿之后穩定的時間是0。由此,很明顯理想觀點是不滿足保持時間要求的。

100572377-308715-tu2lixiangdeshixutu.png

圖2 理想的時序圖

2.1.2 帶有寄存器延時、寄存器到管腳延時的波形
如果信號a在傳輸時經過寄存器延時、寄存器到FPGA管腳的傳輸延遲Tco后,那么可能看到FPGA管腳上出來的信號相位關系就變成如圖3所示。

100572377-308716-tu3yinrujicunqiyanchihejicunqidaoguanjiaoyanshi.png

圖3 引入寄存器延遲和寄存器到管腳延時

clk是時鐘,信號a可能對時鐘會有一定的延時。由圖3中可以看到,信號a會在時鐘的第2個上升沿之后的一段時間才發生變化,這是由于寄存器延時造成的。在時鐘上升沿第3個去采樣時候,才發現信號a會提前時鐘周期T-Tco這么長的時間變為穩定。上升沿之后保持了Tco,有時候延時多久就保持多久,對不對?

2.1.3 加上走線或其他延時(Tpcb)
實際波形如下:

100572377-308717-shijiboxing.png

增加延遲,信號可能會相對時鐘往后延遲,在時鐘上升沿之前的時間會保持多久?在時鐘2時信號a變高,經過寄存器延時(tco)之后,在經過走線延遲等等,信號傳遞時鐘3,因此時鐘上升沿前的時間為(T-tco-tpcb),上升沿后保持的時間為(tco+tpcb)。那這是正常的延時情況。

那么只要滿足T-tco-tpcb這個延時大于建立時間要求,并且tco+tpcb這個延時大于保持時間要求。那電路就是正常的,那如何才能做到這一點呢?但時鐘周期,PCB走線延遲一般都是固定的,對于特定的FPGA芯片,寄存器延遲也是固定的,只有信號從寄存器傳輸到芯片管腳的延遲可以改變。

第3節 兩種有效解決方法

3.1 添加時序約束,設置輸出延時set_output_delay
有兩種做法,一種是添加時序約束,Set output delay。這個約束會告訴綜合軟件下游器件的建立要求是多少和PCB走線延遲是多少,由于時鐘周期和PCB走線延遲是固定的,對于特定的器件,寄存器延時也是固定的,根據T-TCO-TPCB,綜合軟件就會通過調整寄存器到管角的延時,這個延時放大或放小,從而使下游器件能采集到這個數據,滿足下游器件的建立時間和保持性要求。

3.2 添加隨路時鐘
另一種方式添加隨路時鐘,什么是隨路時鐘再看一下。

100572377-308718-suilushizhong.png

如上圖所示,信號a是在clk時鐘域產生的信號。Sdram_clk是與clk同源、頻率相同、相位不同的時鐘信號。當sdram_clk 輸出作為sdram的工作時鐘,通過調整sdram_clk的相位就能調整時序,從而滿足建立時間和保持時間的要求。假如這是CLK,用PLL產生一個SDRAM的CLK,這兩個CLK的使用頻率是一樣的。比如說一開始有個150M的FPGA時鐘clk ,FPGA的時鐘clk通過PLL產生一個相位有一定偏差的150M時鐘sdram_clk。可以看到clk上升沿的時候,隔了很久,sdram_clk的上升沿才出現,而這兩個時鐘的時鐘頻率一樣、相位不一樣。

那么sdram_clk如何產生呢?可以通過PLL來產生,PLL可以保證頻率相同、相位偏移量,所以該系統的結構如圖:

100572377-308719-xitongjiegou.png

第一個時鐘clk可能就給Sdram接口模塊作為系統時鐘,sdram_clk直接就給SDRAM芯片作為數據采集的時鐘了,那這樣就有什么后果呢?

由于信號a是在clk時鐘產生的,使得信號a是相對于時鐘clk有一定的延時的。sdram_clk相對時鐘clk有一定延時,有一定項目偏差。只要調整sdram_clk相位,就可以使得信號a在時鐘sdram_clk的上升沿滿足建立時間和保持時間的要求。比如可以調整sdram_clk,讓sdram_clk上升沿剛好在信號a變化的中間。也就是說項目開始可以通過調節鎖相環PLL的sdram_clk相位,使得下游芯片使用sdram_clk的上升沿去采集信號a時,能夠同時滿足建立時間和保持時間要求。只要調整好,那么這個系統就可以正常工作。

Sdram_clk就是隨路時鐘,隨時鐘把數據一起送到下游芯片。通過調整Sdram_clk相位,讓接口信號和時鐘滿足下游接口芯片的建立時間和保持時間要求,這就是隨路時鐘的方法。

第4節 兩種方法優缺點及取舍

4.1 第一種方法優缺點
那這種方法有什么優缺點,如何取舍,第一點就是常規做法,就是一個時序約束的做法。產生兩個時鐘,但調試還是比較麻煩的。并且有一點就是我們用的時間,對不對?它是有時間有限度的,因為調整是TCO,它一定是有限度的,就是任意調都可以是吧?比如說是調不了的,這時候就需要用Sdram_clk隨路時鐘的方法去做了。

4.2 第二種方法優缺點
隨路時鐘調試起來簡單,PLL設置簡單,出錯可能性小。不斷的調整相位,總能找到一個點讓時序滿足。但是也明顯的,需要有個PLL來產生這個時鐘,會消耗鎖相環硬件資源。如果使用這種方法,就不用設置output delay之類的約束,直接用調整相位方式找到同時滿足建立時間和保持時間要求的點就ok 了,所以隨路時鐘這種方法很多項目都喜歡用。

第5節 接收方向

SDRAM是TX(輸出)方向的,輸入方向是同樣的道理。比如說千兆網模塊就是接收數據的,如下圖所示。

100572377-308720-jieshoushuju.png

它有個時鐘rx_clk,假設信號a為輸入數據,時鐘信號與數據a對齊。這個時候如果我直接用rx_clk去采集信號a,可能就就不滿足了寄存器的建立時間和保持時間了,那怎么辦呢?以下兩種方法:此時就可以時鐘信號,

5.1 方法1
設置輸入延時set_input_delay。FPGA根據時序情況,增加寄存器延時、時鐘延時等,從而滿足FPGA本身的建立時間和保持時間要求。比如說set input delay,FPGA 根據調整,去增加寄存器延時等方式,來滿足自身建立時間和保持要求。

5.2 方法2
另一種方式也可以跟SDRAM一樣,用rx clk通過鎖相環生成一個與rx_clk頻率相同,相位不同的pll_clk作為千兆網接口模塊的時鐘信號。用pll_clk去采集信號a的數據,這樣不斷調整pll_clk相位,使得pll_clk時鐘上升沿位于信號a中間,此時就可能滿足寄存器建立時間和保持時間要求了。這個時候就不用設input delay 了,就不用設時序約束了,這個時候就ok 了。所以這種方法特別是做接口調試的時候特別有用。像千兆網、SDRAM、DDR2這種東西,全部都可以用這種方式去做。

100572377-308721-suoxianghuanpll.png

要注意的是由于這種方式,使用了一個鎖相環PLL的,鎖相環PLL對其輸入時鐘是有要求的,要求輸入的時鐘必須來自于FPGA芯片的時鐘管腳,否則綜合軟件會報錯,這是唯一的要求。

審核編輯:湯梓紅

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

    關注

    1643

    文章

    21979

    瀏覽量

    614477
  • 寄存器
    +關注

    關注

    31

    文章

    5424

    瀏覽量

    123477
  • 時鐘
    +關注

    關注

    11

    文章

    1886

    瀏覽量

    132877
  • 時序約束
    +關注

    關注

    1

    文章

    118

    瀏覽量

    13633
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    FPGA的IO口時序約束分析

      在高速系統中FPGA時序約束不止包括內部時鐘約束,還應包括完整的IO時序約束
    發表于 09-27 09:56 ?2004次閱讀

    FPGA主時鐘約束詳解 Vivado添加時序約束方法

    在FPGA設計中,時序約束的設置對于電路性能和可靠性都至關重要。在上一篇的文章中,已經詳細介紹了FPGA時序約束的基礎知識。
    發表于 06-06 18:27 ?1.2w次閱讀
    FPGA主<b class='flag-5'>時鐘</b><b class='flag-5'>約束</b>詳解 Vivado添加<b class='flag-5'>時序</b><b class='flag-5'>約束</b>方法

    FPGA時序約束之衍生時鐘約束時鐘分組約束

    在FPGA設計中,時序約束對于電路性能和可靠性非常重要。在上一篇的文章中,已經詳細介紹了FPGA時序約束的主時鐘
    發表于 06-12 17:29 ?3344次閱讀

    FPGA時鐘周期約束講解

    時鐘周期約束是用于對時鐘周期的約束,屬于時序約束中最重要的
    發表于 08-14 18:25 ?1105次閱讀

    關于FPGA時序約束的一點總結

    )。方法2調試起來簡單,PLL設置簡單,出錯可能性小。通過不斷調整相位,最終肯定可以正確通信。缺點也明顯,接口一多,每個都要做時鐘就浪費了。最近一直在做時序
    發表于 09-13 21:58

    時序約束時序分析 ppt教程

    時序約束時序分析 ppt教程 本章概要:時序約束時序分析基礎常用
    發表于 05-17 16:08 ?0次下載

    FPGA開發之時序約束(周期約束

    時序約束可以使得布線的成功率的提高,減少ISE布局布線時間。這時候用到的全局約束就有周期約束和偏移約束。周期
    發表于 02-09 02:56 ?796次閱讀

    添加時序約束的技巧分析

    。 在添加全局時序約束時,需要根據時鐘頻率劃分不同的時鐘域,添加各自的周期約束;然后對輸入輸出端口信號添加偏移
    發表于 11-25 09:14 ?2768次閱讀

    xilinx時序分析及約束

    詳細講解了xilinx的時序約束實現方法和意義。包括:初級時鐘,衍生時鐘,異步時終域,多時終周期的講解
    發表于 01-25 09:53 ?6次下載

    如何使用時序約束向導

    了解時序約束向導如何用于“完全”約束您的設計。 該向導遵循UltraFast設計方法,定義您的時鐘時鐘交互,最后是您的輸入和輸出
    的頭像 發表于 11-29 06:47 ?3207次閱讀
    如何使用<b class='flag-5'>時序</b><b class='flag-5'>約束</b>向導

    FPGA時序約束的概念和基本策略

    約束條件可以使綜合布線工具調整映射和布局布線過程,使設計達到時序要求。例如用OFFSET_IN_BEFORE約束可以告訴綜合布線工具輸入信號在時鐘之前什么時候準備好,綜合布線工具就可以
    的頭像 發表于 09-30 15:17 ?5429次閱讀

    約束時序分析的概念

    很多人詢問關于約束時序分析的問題,比如:如何設置setup,hold時間?如何使用全局時鐘和第二全局時鐘(長線資源)?如何進行分組約束?如
    的頭像 發表于 05-29 10:06 ?1084次閱讀
    <b class='flag-5'>約束</b>、<b class='flag-5'>時序</b>分析的概念

    時序約束連載03~約束步驟總結

    本小節對時序約束做最終的總結
    的頭像 發表于 07-11 17:18 ?850次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b><b class='flag-5'>連載</b>03~<b class='flag-5'>約束</b>步驟總結

    時序約束連載02~時序例外

    本文繼續講解時序約束的第四大步驟——時序例外
    的頭像 發表于 07-11 17:17 ?943次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b><b class='flag-5'>連載</b>02~<b class='flag-5'>時序</b>例外

    FPGA時序約束之設置時鐘

    Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置了時鐘組或f
    的頭像 發表于 04-23 09:50 ?314次閱讀
    FPGA<b class='flag-5'>時序</b><b class='flag-5'>約束</b>之設置<b class='flag-5'>時鐘</b>組
    主站蜘蛛池模板: 免费网站黄成人影院 | 福利片在线播放 | 色色色色色色色色色色色 | 全午夜免费一级毛片 | 一级视频在线观看免费 | 色婷婷激婷婷深爱五月老司机 | 99久久婷婷国产综合精品电影 | 国产h视频在线观看网站免费 | 美女久久久 | 在线播放交视频 | 日韩免费视频一区二区 | 国产主播在线看 | 美女被草视频在线观看 | 日本在线www | 俺也射 | 久久视频精品36线视频在线观看 | 夜恋秀场欧美成人影院 | 丁香综合五月 | 亚洲专区一路线二 | 欧美巨大bbbb动漫 | 韩国三级精品 | 日韩成人一级 | 黄色在线看网站 | 夜干夜夜 | 免费国产黄网站在线观看视频 | 人人看人人看人做人人模 | 国产精品九九久久一区hh | 色屁屁www免费看视频影院 | 免费日本黄色网址 | 免费一级欧美片在线观免看 | 午夜影院在线观看视频 | 免费看毛片网 | 中文字幕 亚洲一区 | 成人网在线视频 | 国产在线播放一区 | 夜夜狠 | 亚洲一区二区三区精品视频 | 国内自拍露脸普通话对白在线 | 午夜毛片视频高清不卡免费 | 国产激情视频一区二区三区 | 日本大片成人免费播放 |