日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JESD204接口调试总结——Xilinx JESD204B IP testbench解析

發布時間:2023/12/15 编程问答 80 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JESD204接口调试总结——Xilinx JESD204B IP testbench解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

JESD204接口調試總結——Xilinx JESD204B IP testbench解析

  • IP核配置
  • testbench工程
  • 部分代碼解讀


IP核配置


1、IP核為接收功能
2、LMFC buffer設定為最大
3、4條lane
4、sysref下降沿采樣 (前面的帖子有說明為什么下降沿)

1、選擇第二種,保持更大靈活性(不然更多的功能被包在了IP核中)


1、SYSREF always 前面博文有介紹
2、不開擾碼
3、F K參數與外面transceiver器件設定相匹配
4、SYSREF Required on Re-Sync 前面博文有介紹


1、線速率 9.8304Gbps
2、參考時鐘 122.88
3、DRP時鐘 122.88

生成IP核后,右擊IP核,點擊example design,一個tb工程就自動生成了。

testbench工程

以下是xilinx jesd手冊文檔描述的接收testbench工程



序號項目代號參數說明
1ADC轉換器個數M4已知前提條件
2ADC與FPGA連接的SERDES通道數L4已知前提條件
3ADC每幀包含8位字節數F4根據1,2,5,6計算出來
4ADC采樣位數N14已知前提條件
5JESD204B字大小(4個半字節)N`16根據4計算出來
6ADC每幀包含樣本數S1已知前提條件
7ADC每個多幀包含的連續幀數K32可配置
8ADC側的Device Clock491.52MHz根據10,1,5計算出來
9FPGA側的Device Clock(Core CLK)122.88MHz根據10計算出來
10JESD204B SERDES速率9.8304Gpbs已知前提條件

這里要注意,因為例程中M = LANE數,相當于1條lane對應1個轉化器
而一條lane 數據輸入或輸出接口是 在245.76M下的32bit輸出
而轉化器是491.52下的14(16)bit輸入或輸出。
因此相當于一個時鐘下兩個采樣點并行輸入輸出。

在接收校驗模塊中 jesd204_ip_4rx_ad_sig_chk.v
在一個clk時鐘下接收到了2個數據,即可說明上述說法是正確的

//Channel 0signal0_sampl0_expected <= sine_lut64_14bit[index0];signal0_sampl1_expected <= sine_lut64_14bit[index0+1];signal0_cntrl0_expected <= index0; //clipped to two bitssignal0_cntrl1_expected <= index0+1; //clipped to two bitsindex0 <= index0+2;

(在實際應用中,一般是存在IQ兩路數據的,I/Q分別都需要一個轉換器,4個轉換器相當于2對IQ了)

相關計算過程如下:

1、F的值根據 MSN`/(8L) = 4116/(84) = 2

1、serdes速率為9.8304Gbps,并行數據寬度為32位,core clock為 9.8304G * 0.8 / 32 = 245.76MHz
2、8位字符時鐘character clock為
245.76MHz*4 = 983.4MHz
3、Frame clock 為491.52MHz (F=2,四個字節一個frame)
4、Multi - Frame clock 為 491.52MHz/32 = 15.36MHz
5、SYSREF周期數必須是Multi - Frame clock的整數倍分頻,可以更小,不能更大。
(This generate a periodic SYSREF with period = 4 Multiframes 3.84)

部分代碼解讀

下面涉及兩個任務
Task:rx_stimulus_send_column 將字節經過8B10B編碼后,
通過Task:rx_stimulus_send_10b_column發送出去。其中里面還包含一個8B10B編碼函數,因為相對來說比較固定,這里不做解讀,只要知道經過了這個函數后,8bit就變成了10bit即可。

ILA 4個多幀,一個多幀(F = 2 K = 32)64字節,那么4個多幀256個字節

------------------------------多幀1------------------------------
字節1 : K28.0 8’h1C (R)
字節2-63: 數字:0 – 61 (D)
字節64 : K28.3 8’h7C (A)

------------------------------多幀2------------------------------
字節1 : K28.0 8’h1C (R)
字節2 : K28.4 8’h9C (Q)
字節3 : pDID 8’h55
字節4 : {pADJCNT, pBID} 4’h0 4’hA
字節5 ([4:0]) : LANEID(如果有4個lane,那么每個lane這個字節分別為0-3)
([7:5]) : {1’b0, pADJDIR, pPHADJ} 0 0

字節6 : {pSCR, 2’b0, pL} pSCR = 0 pL = Lane的個數- 1
字節7 : pF – 1 pF即參數F
字節8 : pK – 1 pK即參數K
字節9 : pM = Lane的個數 – 1
字節10 : {pCS, 1’b0, pN} pCS = 2’d2 pN = 5’d13 查詢一下,AD位數14bit
字節11 :{pSUBCV, pNt} 3’b001 5’d15
字節12 :{pJESDV, pS} 3’b001 5’d0
字節13 :{pHD, 2’b0, pCF}
字節14 :{pHD, 2’b0, pCF} 1’b0 5’d1
字節15 :{ pRES1} 8’h5A
字節16 :{ pRES2} 8’hA5
字節17 :prechecksum + LANEID
字節18-63 :數字:0 – 46
字節64 : K28.3 8’h7C (A)

------------------------------多幀3------------------------------
字節1 : K28.0 8’h1C (R)
字節2-63: 數字:0 – 61 (D)
字節64 : K28.3 8’h7C (A)

------------------------------多幀4------------------------------
字節1 : K28.0 8’h1C (R)
字節2-63: 數字:0 – 61 (D)
字節64 : K28.3 8’h7C (A)


發射端在檢測到sync后,遇到sysref上升沿開始發送ILA。紅色箭頭所示
接收端收到了4個多幀后(前后帶K碼),很快tvalid信號拉高,則可以數據接收準備好,可以取數據了

tb中的axi_write如果IP核中配置正確的話下面代碼在實際應用中可以不需要

// 0x008: Support ILAaxi_write(2,32'h00000001);// 0x00C: Scrambling dissabledaxi_write(3,32'h00000000);// 0x010: Sysref onceaxi_write(4,32'h00000001);// 0x014: Tx Only register// 0x018: Test mode = Normal operationaxi_write(6,32'h00000000);// 0x020: Octets per Frame F=2axi_write(8,32'h00000001);// 0x024: Frames per Multiframe K=32axi_write(9,32'h0000001F);// 0x028: Lanes in useaxi_write(10,32'd15);// 0x02C: Device subclass 1axi_write(11,32'h00000001);// 0x030: Rx buffer delayaxi_write(12,32'h00000000);// 0x034: Error reporting via ~syncaxi_write(13,32'h00000000);

只需要對 寫這個即可

axi_write(1,32'h00000001);

看明白了接收,那么發射也就不難了,這里就不再說明了


寫于2021年11月6日。
如需交流,可以評論區留言,然后加QQ:172146579

總結

以上是生活随笔為你收集整理的JESD204接口调试总结——Xilinx JESD204B IP testbench解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。