微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Lattice SerDes 使用求助

Lattice SerDes 使用求助

时间:10-02 整理:3721RD 点击:

各位论坛大神,小弟最近接手了一个使用Lattice ECP3的开发项目,需要用到ECP3的SerDes,因为是第一次使用Lattice的FPGA,遇到了一些自己无法解决的问题,特来论坛向大神们求助,主要问题如下:
      我使用Diamond自带的IP生成器生成的PCS,调用的是8b10b的协议,K码使用的是K28P5,使用Reveal Analyzer进行分析,当我选择内部环回测试时(Loopback Serial data after transmit driver)时测试数据完全正确,当我不使用内部环回,在外部将Serdes的TXP、TXN直接环回RxP、RxN时数据完全错误。
      求大神指示,该问题产生的原因可能是什么?是不是需要对Differential Output Voltage和Equalization Setting 等进行特别的设置?盼大神们解救!谢谢
--------------
补上PCS调用的代码,望大神不吝赐教:
pcs_8b10b8_inst: PCS_8B10B8
port map(
  hdinp_ch3             =>   SFP_RxP,
  hdinn_ch3             =>   SFP_RxN,
  hdoutp_ch3            =>   SFP_TxP,
  hdoutn_ch3            =>   SFP_TxN,
  --rxiclk_ch3            =>   sysclk,
  txiclk_ch3            =>   sysclk,
  rx_full_clk_ch3       =>   rx_full_clk,
  rx_half_clk_ch3       =>   rx_half_clk,
  fpga_rxrefclk_ch3     =>   sysclk,
  txdata_ch3            =>   data_buf,
  tx_k_ch3              =>   data_k,
  tx_force_disp_ch3     =>   '0',
  tx_disp_sel_ch3       =>   '0',
  rxdata_ch3            =>   rxdata,
  rx_k_ch3              =>   rx_k,
  rx_disp_err_ch3       =>   rx_disp_err,
  rx_cv_err_ch3         =>   rx_cv_err,
  rx_serdes_rst_ch3_c   =>   '0',
  sb_felb_ch3_c         =>   '0',
  sb_felb_rst_ch3_c     =>   '1',
  tx_pcs_rst_ch3_c      =>   '0',
  tx_pwrup_ch3_c        =>   '1',
  rx_pcs_rst_ch3_c      =>   '0',
  rx_pwrup_ch3_c        =>   '1',
  rx_los_low_ch3_s      =>   rx_los_low,
  lsm_status_ch3_s      =>   lsm_status,
  rx_cdr_lol_ch3_s      =>   rx_cdr_lol,
  tx_div2_mode_ch3_c    =>   '0',
  rx_div2_mode_ch3_c    =>   '0',
---- Miscillaneous ports
  fpga_txrefclk         =>   sysclk,
  tx_serdes_rst_c       =>   '0',
  rst_qd_c              =>   '0',
  serdes_rst_qd_c       =>   '0'  
  );

在线等啊,求大神帮助啊!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top