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

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

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

3天內不再提示

Idelay對時序的補救

冬至子 ? 來源:Bug記錄 ? 作者:woodfan ? 2023-06-16 11:26 ? 次閱讀

在高速信號采集的過程中,經常會因為電路設計或者其他原因,原本設計好對應的data_clk與data經過線路傳輸之后在接收端時序上不能很好的對應,這可能會造成采樣數據的錯位。

如果用了各種物理電路上的辦法都沒法解決后,可以嘗試使用Idelay(針對Xilinx,Altera應該也有相應的原語)。

Xilinx每個系列可能Idelay的名字會有一些差異,但差異不大,在K7系列下,Idelay的原語叫做Idelay2。

Idelay2原語示例:

(* IODELAY_GROUP = "RX_FRAME" *) // Specifies group name for associated IDELAYs/ODELAYs and IDELAYCTRL
 IDELAYE2 #(
 .CINVCTRL_SEL("FALSE"), // Enable dynamic clock inversion (FALSE, TRUE)
 .DELAY_SRC("DATAIN"), // Delay input (IDATAIN, DATAIN)
 .HIGH_PERFORMANCE_MODE("FALSE"), // Reduced jitter ("TRUE"), Reduced power ("FALSE")
 .IDELAY_TYPE("VAR_LOAD"), // FIXED, VARIABLE, VAR_LOAD, VAR_LOAD_PIPE
 .IDELAY_VALUE(INIT_VALUE), // Input delay tap setting (0-31)
 .PIPE_SEL("FALSE"), // Select pipelined mode, FALSE, TRUE
 .REFCLK_FREQUENCY(200.0), // IDELAYCTRL clock input frequency in MHz (190.0-210.0, 290.0-310.0).
 .SIGNAL_PATTERN("DATA") // DATA, CLOCK input signal
 )
 IDELAYE2_inst (
 .CNTVALUEOUT(cnt_value), // 5-bit output: Counter value output
 .DATAOUT(rx_frame_dly), // 1-bit output: Delayed data output
 .C(sys_clk), // 1-bit input: Clock input
 .CE(1'b0), // 1-bit input: Active high enable increment/decrement input
 .CINVCTRL(1'b0), // 1-bit input: Dynamic clock inversion input
 .CNTVALUEIN(tap_value), // 5-bit input: Counter value input
 .DATAIN(rx_frame), // 1-bit input: Internal delay data input
 .IDATAIN(1'b0), // 1-bit input: Data input from the I/O
 .INC(1'b0), // 1-bit input: Increment / Decrement tap delay input
 .LD(1'b1), // 1-bit input: Load IDELAY_VALUE input
 .LDPIPEEN(1'b0), // 1-bit input: Enable PIPELINE register to load data input
 .REGRST(1'b0) // 1-bit input: Active-high reset tap-delay input
 );

針對其中經常用到的變量,功能如下:

  • DELAY_SRC常量,這個常量可以選DATAIN或IDATAIN,區別在于IDATAIN的數據輸入要求經過BUF產生,常用于BUF的輸出信號,Input端口信號;DATAIN只要求FPGA內部邏輯產生的信號就可以。
  • IDELAY_TYPE,設置IDELAY2的模式;FIXED代表延時值固定,一般用在確定好參數后使用,VARIBLE,VAR_LOAD,VAR_LOAD_PIPE都是動態改變延時值,VARIBLE可以自動增大減小,后兩個是根據CINVALUEIN端口動態改變延時值,一般選用VAR_LOAD。
  • IDELAY_VALUE,是初始化的值,在FIXED模式下,就是固定的延時值
  • REFCLK_FREQUENCY,指的Idelay的參考時鐘的頻率,一般選用200M,這個后面會具體講。
  • SIGNAL_PATTERN,這個有DATA和CLOCK兩個選項,影響Vivado對信號時序分析的路徑。

端口中,

  • CNTVALUEIN是設置延時值,用于手動調試;
  • CNTVALUEOUT輸出當前延時值,便于調試觀測;
  • C是數據時鐘,但CE不是時鐘使能,而是延時值tap自動增加減少使能,所以我選擇拉低;
  • CINVCTRL,INC,LDPIPEEIN,REGRST不怎么用,全拉低;
  • 在上面的DELAY_SRC選擇了哪一個,就在對應的數據端口連接數據,另一個數據端口拉低,比如DELAY_SRC設定為"DATAIN",選擇DATAIN端口輸入數據,IDATAIN端口拉低;
  • 因為需要手動調節延時值,所以LD拉高,只有LD拉高才能動態載入CNTVALUEIN的延時值

前面說到參考時鐘,Idelay之所以延時,CINVALUEIN對應的延時值多少就跟這個地方有關系了,參考時鐘不是隨便設的,這跟另一個原語IDELAYCTRL有關:

(* IODELAY_GROUP = "RX_FRAME" *) // Specifies group name for associated IDELAYs/ODELAYs and IDELAYCTRL
 IDELAYCTRL IDELAYCTRL_inst (
 .RDY(idelay_rdy), // 1-bit output: Ready output
 .REFCLK(ref_clk), // 1-bit input: Reference clock input
 .RST(rst) // 1-bit input: Active high reset input
 );

這個原語端口很少,連接對應200M的參考時鐘,復位信號,輸出一個ready信號;

看起來這個原語并沒有什么有用的輸出;但其實它的作用是給Idelay2提供了延時的依據;之所以可以精確延時并不是說我們在REFCLK_FREQUENCY填一個200就可以了,而是這個IDELAYCTRL 的作用,通過(* IODELAY_GROUP = "RX_FRAME" *)將IDELAYCTRL 和Idelay2連接起來,"RX_FRAME"類似于組名,可以隨意改,同一組的組名要一樣。

200MHz 對應1個時鐘周期5ns,Idelay將其分為64tap,每個tap延時值大概是78ps,Idelay可調的最大tap為31,也就是延時值控制在0-31tap;

同樣,為了減小相同參考時鐘下Idelay2與IDELAYCTRL 的FPGA內部走線延時,必須使用IODELAY_GROUP將它們綁定在一起,使用方法參考上面的做法。

注意,IDELAYCTRL 的REFCLK輸入時鐘一定要經過BUFG輸出再接入。

效果:

沒加Idelay

圖片

沒有加Idelay,并串轉換中找不到幀頭

加入Idelay

圖片

加了Idelay,找到幀頭

總結:

  • 使用方法都在上面,對于多bit信號可以使用generate for 生成塊。
  • 調試這個的時候遇到過一個問題,C端口沒有連接到正常的時鐘,連接到一個根本沒有定義的信號,Vivado做好事不留名的直接幫我拉低到地,導致我在VAR_LOAD模式下一直無法正常改變延時值,CNTVALUEOUT與CINVALUEIN不正確,最后打開Schematic看RTL圖才找到問題。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA設計
    +關注

    關注

    9

    文章

    428

    瀏覽量

    26572
  • RTL
    RTL
    +關注

    關注

    1

    文章

    385

    瀏覽量

    59897
  • 串行通信
    +關注

    關注

    4

    文章

    577

    瀏覽量

    35513
  • SRC
    SRC
    +關注

    關注

    0

    文章

    61

    瀏覽量

    18029
  • lvds接口
    +關注

    關注

    1

    文章

    128

    瀏覽量

    17465
收藏 人收藏

    評論

    相關推薦

    xilinx FPGA中oddr,idelay的用法詳解

    idelay2中按推薦配置,從DATAIN還是從IDATAIN輸入區別為是內部延時還是從IO輸入,FIXED固定延時,idelay value先輸入0,,時鐘是200M,其他全部接0。
    的頭像 發表于 11-25 14:35 ?1.1w次閱讀

    時鐘偏移對時序收斂有什么影響呢?

    FPGA設計中的絕大部分電路為同步時序電路,其基本模型為“寄存器+組合邏輯+寄存器”。同步意味著時序路徑上的所有寄存器在時鐘信號的驅動下步調一致地運作。
    的頭像 發表于 08-03 09:27 ?1469次閱讀
    時鐘偏移<b class='flag-5'>對時序</b>收斂有什么影響呢?

    如何為設計計算IDELAY_VALUE的值?

    我在sp601板上使用tri-ethernet-mac示例。gmii接收器接口使用IODELAY2原語來延遲接收器側的輸入信號。vhdl代碼提到應該根據設計在ucf中更改IDELAY_VALUE。我
    發表于 05-28 06:40

    如何將IDELAY與IOBUF一起使用?

    大家好,我正在使用IDELAY原語來實現DDR的DQ和DQS延遲。這是我的代碼:IOBUF pad_xb_dq7(.O(bus_data_in_flh [7]),. IO(xb_dq [7
    發表于 06-01 16:57

    怎么利用CPLD數字控制技術對時序電路進行改進

    本文利用CPLD數字控制技術對時序電路進行改進。CPLD(Complex Programmable Logic Device)是新一代的數字邏輯器件,具有速度快、集成度高、可靠性強、用戶可重復編程或
    發表于 05-06 09:44

    隨機噪聲對時序抖動的影響—理論與實踐

    有若干因素會對隨機時序抖動產生影響,其中包括相位噪聲、寬帶噪聲、雜散信號、壓擺率、帶寬。本文探究了這些噪聲源,同時給出了把噪聲轉換為時序抖動的公式。
    發表于 05-07 13:16 ?762次閱讀

    TFT-LCD系統時序控制模塊的設計

    TFT-LCD系統時序控制模塊的設計 摘要:說明時序控制模塊和LCD系統中其它子模塊之間的關系,對時序控制模塊所要解決的時序問題進行分析。在分析問題的基礎上提出一種適
    發表于 01-16 09:54 ?4757次閱讀
    TFT-LCD系統<b class='flag-5'>時序</b>控制模塊的設計

    靜態時序分析在高速 FPGA設計中的應用

    介紹了采用STA (靜態時序分析)對FPGA (現場可編程門陣列)設計進行時序驗證的基本原理,并介紹了幾種與STA相關聯的時序約束。針對時序不滿足的情況,提出了幾種常用的促進
    發表于 05-27 08:58 ?70次下載
    靜態<b class='flag-5'>時序</b>分析在高速 FPGA設計中的應用

    后端時序修正基本思路

    后端時序修正基本思路,后端對時序的影響從0.18開始,在整體影響中的比重也在隨著工藝的變化而變得敏感。
    發表于 10-26 09:28 ?2945次閱讀
    后端<b class='flag-5'>時序</b>修正基本思路

    深入了解時序約束以及如何利用時序約束實現FPGA 設計的最優結果

    作為賽靈思用戶論壇的定期訪客(見 ),我注意到新用戶往往對時序收斂以及如何使用時序約束來達到時序收斂感到困惑。為幫助 FPGA設計新手實現時序收斂,讓我們來深入了解
    發表于 11-24 19:37 ?5517次閱讀
    深入了解<b class='flag-5'>時序</b>約束以及如何利用<b class='flag-5'>時序</b>約束實現FPGA 設計的最優結果

    在寫Verilog時對時序約束的四大步驟的詳細資料說明

    本文檔的主要內容詳細介紹的是在寫Verilog時對時序約束的四大步驟的詳細資料說明包括了:一、 時鐘,二、 Input delays,三、 Output delays,四、 時序例外
    發表于 08-30 08:00 ?32次下載
    在寫Verilog時<b class='flag-5'>對時序</b>約束的四大步驟的詳細資料說明

    寬帶噪聲對時序抖動的影響資料下載

    電子發燒友網為你提供寬帶噪聲對時序抖動的影響資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發表于 04-29 08:46 ?15次下載
    寬帶噪聲<b class='flag-5'>對時序</b>抖動的影響資料下載

    使用Idelay對接收端時序進行補救

    同樣,為了減小相同參考時鐘下Idelay2與IDELAYCTRL 的FPGA內部走線延時,必須使用IODELAY_GROUP將它們綁定在一起,使用方法參考上面的做法。
    的頭像 發表于 08-20 10:50 ?4568次閱讀
    使用<b class='flag-5'>Idelay</b>對接收端<b class='flag-5'>時序</b>進行<b class='flag-5'>補救</b>

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

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

    某些應用下對時序要求比較高,串口輸出log占用時間太長怎么辦?

    某些應用下對時序要求比較高,串口輸出log占用時間太長怎么辦? 在某些應用場景中,對于時序的要求非常高,這就要求我們必須避免使用過多的時間來進行一些必要但是時間長的操作。其中一個典型的例子就是輸出
    的頭像 發表于 10-31 14:37 ?529次閱讀
    主站蜘蛛池模板: 国产免费不卡| 国产品无码一区二区三区在线| 国产免费福利在线视频| 日产2021免费一二三四区在线| 啊…嗯啊好深男男高h文| 暖暖日本手机免费完整版在线观看| 34g污奶绵uk甩奶| 伦理片天堂eeuss影院2o12| 最新无码国产在线视频2020| 久久精品综合网中文字幕| 正在播放国产尾随丝袜美女| 乱辈通奷XXXXXHD猛交| 99久久国产综合精品成人影院| 欧美高跟镣铐bdsm视频| 啊叫大点声欠CAO的SAO贷| 乳女教师欲乱动漫无修版动画| 被强J高H纯肉公交车啊| 涩涩免费网站| 国产在线观看的| 在线观看国产小视频| 男插女高潮一区二区| a级男女性高爱潮高清试看| 全免费午夜一级毛片| 国产高清视频青青青在线| 高hnp全肉| 网友自拍偷拍| 含羞草传媒在线观看| 一边亲着一面膜下奶韩剧免费| 美女不要啊| 打卡中国各地奋斗第一线| 亚洲高清免费在线观看| 毛片内射久久久一区| 大肥女ass樱桃| 亚洲日韩欧美国产中文在线| 麻豆精选2021| 初中XXXXXL| 亚洲免费网站观看视频| 蜜臀AV熟女人妻中文字幕| 国产99久久久国产精品免费看| 亚洲视频精品在线观看| 国产精品ⅴ视频免费观看|