Serdes系列总结——system ibert IP使用

  • IP核的设置

Zynq 7系列之后的FPGA的serdes,例如Zynq MP系列,在serdes ip核(Transceivers Wizard)中,可以添加 In-System IBERT core.

IP核的设置


这样在不破坏原有工程功能的基础上,就可以进行眼图的扫描了。
添加了in-systemibert之后的代码新增了
1、总线控制接口和
2、发射预加重参数(txdiffctrl_int, txprecursor_int, txpostcursor_int)
3、发射(去加重??)参数(rxrate_int,rxlpmen_int)
接口,这些接口连接到了新增的gtwizard_4chan_in_system_ibert_0 IP核上。

gtwizard_4chan_example_wrapper example_wrapper_inst (.gthrxn_in                               (gthrxn_int),.gthrxp_in                               (gthrxp_int),.gthtxn_out                              (gthtxn_int),.gthtxp_out                              (gthtxp_int),.gtwiz_userclk_tx_reset_in               (gtwiz_userclk_tx_reset_int),.gtwiz_userclk_tx_srcclk_out             (gtwiz_userclk_tx_srcclk_int),.gtwiz_userclk_tx_usrclk_out             (gtwiz_userclk_tx_usrclk_int),.gtwiz_userclk_tx_usrclk2_out            (gtwiz_userclk_tx_usrclk2_int),.gtwiz_userclk_tx_active_out             (gtwiz_userclk_tx_active_int),.gtwiz_userclk_rx_reset_in               (gtwiz_userclk_rx_reset_int) //,.gtwiz_userclk_rx_srcclk_out             (gtwiz_userclk_rx_srcclk_int),.gtwiz_userclk_rx_usrclk_out             (gtwiz_userclk_rx_usrclk_int),.gtwiz_userclk_rx_usrclk2_out            (gtwiz_userclk_rx_usrclk2_int),.gtwiz_userclk_rx_active_out             (gtwiz_userclk_rx_active_int)//,.gtwiz_buffbypass_tx_reset_in            (gtwiz_buffbypass_tx_reset_int),.gtwiz_buffbypass_tx_start_user_in       (gtwiz_buffbypass_tx_start_user_int),.gtwiz_buffbypass_tx_done_out            (gtwiz_buffbypass_tx_done_int),.gtwiz_buffbypass_tx_error_out           (gtwiz_buffbypass_tx_error_int),.gtwiz_buffbypass_rx_reset_in            (gtwiz_buffbypass_rx_reset_int)//==,.gtwiz_buffbypass_rx_start_user_in       (gtwiz_buffbypass_rx_start_user_int)//==,.gtwiz_buffbypass_rx_done_out            (gtwiz_buffbypass_rx_done_int),.gtwiz_buffbypass_rx_error_out           (gtwiz_buffbypass_rx_error_int),.gtwiz_reset_clk_freerun_in              ({1{hb_gtwiz_reset_clk_freerun_buf_int}}),.gtwiz_reset_all_in                      ({1{hb_gtwiz_reset_all_int}}),.gtwiz_reset_tx_pll_and_datapath_in      (gtwiz_reset_tx_pll_and_datapath_int),.gtwiz_reset_tx_datapath_in              (gtwiz_reset_tx_datapath_int),.gtwiz_reset_rx_pll_and_datapath_in      ({1{hb_gtwiz_reset_rx_pll_and_datapath_int}}),.gtwiz_reset_rx_datapath_in              ({1{hb_gtwiz_reset_rx_datapath_int}}),.gtwiz_reset_rx_cdr_stable_out           (gtwiz_reset_rx_cdr_stable_int),.gtwiz_reset_tx_done_out                 (gtwiz_reset_tx_done_int),.gtwiz_reset_rx_done_out                 (gtwiz_reset_rx_done_int),.gtwiz_userdata_tx_in                    (gtwiz_userdata_tx_int),.gtwiz_userdata_rx_out                   (gtwiz_userdata_rx_int),.gtrefclk00_in                           (gtrefclk00_int),.qpll0lock_out                           (qpll0lock_int),.qpll0outclk_out                         (qpll0outclk_int),.qpll0outrefclk_out                      (qpll0outrefclk_int),.drpaddr_in                              (drpaddr_int)       //新增,.drpclk_in                               (drpclk_int)        //新增,.drpdi_in                                (drpdi_int)         //新增,.drpen_in                                (drpen_int)         //新增,.drpwe_in                                (drpwe_int)         //新增,.eyescanreset_in                         (eyescanreset_int)  //新增 ,.loopback_in                             (loopback_in),.rxgearboxslip_in                        (rxgearboxslip_int),.rxlpmen_in                              (rxlpmen_int)       //新增,.rxrate_in                               (rxrate_int)        //新增,.txdiffctrl_in                           (txdiffctrl_int)    //新增 ,.txheader_in                             (txheader_int),.txpostcursor_in                         (txpostcursor_int)  //新增,.txprecursor_in                          (txprecursor_int)   //新增 ,.txsequence_in                           (txsequence_int),.drpdo_out                               (drpdo_int),.drprdy_out                              (drprdy_int)   ,.gtpowergood_out                         (gtpowergood_int),.rxcdrlock_out                           (rxcdrlock_int),.rxdatavalid_out                         (rxdatavalid_int),.rxheader_out                            (rxheader_int),.rxheadervalid_out                       (rxheadervalid_int),.rxpmaresetdone_out                      (rxpmaresetdone_int),.rxstartofseq_out                        (rxstartofseq_int),.txpmaresetdone_out                      (txpmaresetdone_int),.txprgdivresetdone_out                   (txprgdivresetdone_int)
);
gtwizard_4chan_in_system_ibert_0 gtwizard_4chan_in_system_ibert_0_inst (.drpclk_o       (drpclk_int),.gt0_drpen_o    (drpen_int[0:0]),.gt0_drpwe_o    (drpwe_int[0:0]),.gt0_drpaddr_o  (drpaddr_int[9:0]),.gt0_drpdi_o    (drpdi_int[15:0]),.gt0_drprdy_i   (drprdy_int[0:0]),.gt0_drpdo_i    (drpdo_int[15:0]),.gt1_drpen_o    (drpen_int[1:1]),.gt1_drpwe_o    (drpwe_int[1:1]),.gt1_drpaddr_o  (drpaddr_int[19:10]),.gt1_drpdi_o    (drpdi_int[31:16]),.gt1_drprdy_i   (drprdy_int[1:1]),.gt1_drpdo_i    (drpdo_int[31:16]),.gt2_drpen_o    (drpen_int[2:2]),.gt2_drpwe_o    (drpwe_int[2:2]),.gt2_drpaddr_o  (drpaddr_int[29:20]),.gt2_drpdi_o    (drpdi_int[47:32]),.gt2_drprdy_i   (drprdy_int[2:2]),.gt2_drpdo_i    (drpdo_int[47:32]),.gt3_drpen_o    (drpen_int[3:3]),.gt3_drpwe_o    (drpwe_int[3:3]),.gt3_drpaddr_o  (drpaddr_int[39:30]),.gt3_drpdi_o    (drpdi_int[63:48]),.gt3_drprdy_i   (drprdy_int[3:3]),.gt3_drpdo_i    (drpdo_int[63:48]),.eyescanreset_o (eyescanreset_int),.rxrate_o       (rxrate_int),   //设置输出.txdiffctrl_o   (txdiffctrl_int),.txprecursor_o  (txprecursor_int),.txpostcursor_o (txpostcursor_int),.rxlpmen_o      (rxlpmen_int),.rxrate_i       ({4{3'b000}}),   //默认设置.txdiffctrl_i   ({4{5'b11000}}),.txprecursor_i  ({4{5'b00000}}),.txpostcursor_i ({4{5'b00000}}),.rxlpmen_i      ({4{1'b1}}),.rxoutclk_i     (hb0_gtwiz_userclk_rx_usrclk2_int),.drpclk_i       ({4{hb_gtwiz_reset_clk_freerun_buf_int}}),.clk            (hb_gtwiz_reset_clk_freerun_buf_int));

刚加载FPGA的时候,发射接收参数都是默认设置参数,如果使用vivado systemibert工具来调试,则会变为界面上设置的参数。

缺点:
因为是在原工程上增加的内嵌ibert工具。因此相对于单独的ibert工程而已,这种内嵌的可设置参数很少,而且只能进行眼图观察,无法发送PRBS码,无法进行误码率的统计等。
优点:
不需要单独建立ibert工程,且单独建立的ibert工程不一定能正确反馈完整工程时眼图和误码率的情况(资源,功耗等情况都不通)。而使用systemibert则可以在不影响工程正常运行的前提下,进行眼图的扫描和发射接收参数设定。

待补充systemibert的调试界面图。。。。。。

Serdes系列总结——system ibert IP使用相关推荐

  1. Serdes系列总结——Xilinx serdes IP使用(一)——3G serdes

    Serdes系列总结--Xilinx serdes IP使用(一)--3G serdes IP核的详细设置 IP example的使用 附件 器件:Xilinx zynq 7035 版本:vivado ...

  2. Serdes系列总结——Xilinx serdes IP使用(二)——10G serdes

    Serdes系列总结--Xilinx serdes IP使用(二)--10G serdes IP核的详细设置 IP example的使用 附件 器件:Xilinx zynq 7035 版本:vivad ...

  3. serdes系列总结——8B/10B编码、66B/64B编码、扰码

    serdes系列总结--8B/10B编码.66B/64B编码.扰码 8B/10B编码 K码 66B/64B编码 扰码 8B/10B编码.扰码对数字信号的比特级进行随机处理,减少连0和连1的出现,从而减 ...

  4. 网络工程师实战系列视频课程【IP地址规划篇】(考题精讲 + 项目实战)-夏杰-专题视频课程...

    网络工程师实战系列视频课程[IP地址规划篇](考题精讲 + 项目实战)-1128人已学习 课程介绍         1.我的自学经历分享(分享我各个方向自学探索,终选定网络的过程,告诉大家:勇于尝试( ...

  5. 北京环球度假区与腾讯互动娱乐达成合作,引入系列腾讯游戏IP

    北京环球度假区与腾讯互动娱乐宣布达成合作意向,双方将着眼长期,发挥各自优势,在北京环球度假区新颖卓越的娱乐体验之外,融入备受年轻人喜爱的腾讯游戏IP,并一同探索中国文化面向新生代更流行.更生动的呈现方 ...

  6. IBERT IP核使用说明

    工程中使用高速接口GTX,如果GTX建链建不起来,Vivado自带的调试工具误码率测试(Integrated Bit Error Ratio Tester,IBERT)核可以帮助分析建链失败原因.本片 ...

  7. 网络安全系列-二十六: IP地理定位数据库及使用示例

    GeoLite2数据库 GeoLite2数据库是免费的IP地理位置数据库,详见参见:GeoLite2 Free Geolocation Data,比商业版的MaxMind's GeoIP2 datab ...

  8. NA-NP-IE系列实验18:ip default-network

    实验18:ip default-network 1.实验目的 通过本实验可以掌握如何通过ip default-network 向网络中注入一条默认路由.   2.拓扑结构 实验拓扑如图所示. 3.实验 ...

  9. 网络协议系列三 - MAC地址/IP地址/子网掩码

    MAC/IP/子网掩码在网络中非常重要,只要有网络的地方必然都会涉及这三个概念. 一.MAC 每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control). 全球唯一 ...

最新文章

  1. python popen阻塞_对Python subprocess.Popen子进程管道阻塞详解
  2. Android判断是否Root方法
  3. python使用requests+xpath爬取小说并下载
  4. 第二百三十一天 how can I 坚持
  5. effective mysql之备份与恢复_Effective MySQL之备份与恢复
  6. Tensorflow框架:InceptionV3网络概念及实现
  7. python新特性_Python3.6正式版新特性预览
  8. 【转】SQL SERVER 开窗函数简介
  9. linux 把秒数转换为正常时间格式命令
  10. linux的ps命令
  11. Java对List集合排序
  12. 算法上的创新点大搜罗
  13. [每日一氵] linux 批量删除某个名字的文件夹
  14. 问题解决:Ubuntu18.04版本始终无法动态获取IP地址
  15. android 系统 安卓8,安卓系统竟可以这么流畅!最快Android 8.0来了
  16. 使用Notepad格式化xml
  17. Hessian矩阵正定与函数凹凸性的关系
  18. MySQL数据库学习笔记3
  19. 头骨在ZBrush该怎样才能雕刻
  20. JXplorer 的简单使用

热门文章

  1. Dreammail 其他功能介绍
  2. 无损分割视频的软件哪个好
  3. mysql开启ssl以及如何创建证书
  4. java中ch或者的符号_java 中文标点符号判断
  5. VS2019界面外观美化
  6. 计分板-2021安徽省机器大赛程序设计赛道
  7. 图解时间复杂度O(n)
  8. ubuntu代理登录webqq失败
  9. 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真.doc
  10. **关于DDR的个人总结**