您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Altera SERDES的使用方法
AlteraSERDES的使用方法主讲人:双博智能工作室联系方式:见PPT最后一页双博智能工作室课程目的•掌握AlteraSERDES的使用方法课程结构SERDES的实现架构1IPCore的生成2IPCore的例化3PHY的拆分技巧4Q&A51SERDES的实现架构SERDES的实现架构——以Arria10为例SERDES的实现架构——模块简介TransceiverPHYResetController复位控制模块,用于对收发器进行复位TransceiverPLLIPCore时钟生成模块,为收发器的发送方向提供时钟TransceiverPHYIPCore收发器模块,包含PMA和PCS两部分Avalon-MMMaster配置模块,通过Avalon接口对收发器中的寄存器进行读写控制MACIPCore/DataGenerator/DataAnalyzer用户侧处理模块,并行数据接口,可按照需要连接不同的功能模块2IPCore的生成TransceiverPHYResetController的生成TransceiverPLLIPCore的生成TransceiverPHYIPCore的生成IPCore的生成——TransceiverPHYResetControllerIPCore的生成——TransceiverPLLIPCoreIPCore的生成——TransceiverPHYIPCore注:IP中未截图的部分均使用默认配置,下同。3IPCore的例化TransceiverPHYResetController的例化TransceiverPLLIPCore的例化TransceiverPHYIPCore的例化IPCore的例化——TransceiverPHYResetControllerphy_rstphy_rst_inst(.clock(ref_clk),.pll_cal_busy(pll_cal_busy),.pll_locked(pll_locked),.pll_powerdown(pll_powerdown),.pll_select(1'b0),.reset(reset),.rx_analogreset(rx_analogreset),.rx_cal_busy(rx_cal_busy),.rx_digitalreset(rx_digitalreset),.rx_is_lockedtodata(rx_is_lockedtodata),.rx_ready(rx_ready),.tx_analogreset(tx_analogreset),.tx_cal_busy(tx_cal_busy),.tx_digitalreset(tx_digitalreset),.tx_ready(tx_ready));IPCore的例化——TransceiverPLLIPCorephy_fpllphy_fpll_inst(.pll_cal_busy(pll_cal_busy),.pll_locked(pll_locked),.pll_powerdown(pll_powerdown),.pll_refclk0(ref_clk),.tx_serial_clk(tx_serial_clk));IPCore的例化——TransceiverPHYIPCorephy_1chphy_1ch_inst(.reg_addr(reg_addr),//Avalon总线,用于对寄存器进行配置,可不使用.reg_data_out(reg_data_out),.reg_rd(reg_rd),.reg_data_in(reg_data_in),.reg_wr(reg_wr),.reg_busy(reg_busy),.clk(reg_clk),.gmii_rx_dv(gmii_rx_dv),//用户侧GMII总线,可与MAC互联.gmii_rx_d(gmii_rx_d),.gmii_rx_err(gmii_rx_err),.gmii_tx_en(gmii_tx_en),.gmii_tx_d(gmii_tx_d),.gmii_tx_err(gmii_tx_err),.rx_clk(gmii_rx_clk),.reset_rx_clk(~rx_ready|reset),.ref_clk(ref_clk),.tx_clk(gmii_tx_clk),.reset_tx_clk(~tx_ready|reset),.reset(reset),.rxp(rxp),//串行接口信号.txp(txp),IPCore的例化——TransceiverPHYIPCore.rx_analogreset(rx_analogreset),//接收方向复位信号.rx_cal_busy(rx_cal_busy),.rx_digitalreset(rx_digitalreset),.rx_cdr_refclk(ref_clk),//CDR的参考时钟.rx_is_lockedtodata(1’b0),//CDR模式配置,lock_to_data,锁定到数据.rx_is_lockedtoref(1‘b1),//CDR模式配置,lock_to_ref,锁定到参考时钟.rx_set_locktodata(rx_set_locktodata),.rx_set_locktoref(rx_set_locktoref),.rx_recovclkout(),//CDR恢复出来的时钟,可不使用.led_crs(led_crs),//状态指示信号,用于调试,可不使用.led_link(led_link),.led_panel_link(led_panel_link),.led_col(led_col),.led_an(led_an),.led_char_err(led_char_err),.led_disp_err(led_disp_err),.tx_analogreset(tx_analogreset),//发送方向复位信号.tx_cal_busy(tx_cal_busy),.tx_digitalreset(tx_digitalreset),.tx_serial_clk(tx_serial_clk)//FPLL生成的发送方向串行时钟);4PHY的拆分技巧PHY的组成PMA的生成PMA的例化PCS的生成PCS的生成PHY的拆分技巧——PHY的组成PHY主要由PMA和PCS两部分组成,如下图所示:PHY可使用Triple_SpeedEthernetIP单独例化,也可通过分拆的方式,使用PMA和PCS两个IP完成例化。在某些使用场景中,PCS部分需要用户自行编写,这时使用拆分的方式生成PHY比较好。本节重点对PHY的拆分例化方式进行介绍。PHY的拆分技巧——PMA的生成PHY的拆分技巧——PMA的生成PHY的拆分技巧——PMA的生成PHY的拆分技巧——PMA的生成PHY的拆分技巧——PMA的例化pma_1gpma_1g_inst(.tx_analogreset(tx_analogreset),//复位控制信号.tx_digitalreset(tx_digitalreset),.rx_analogreset(rx_analogreset),.rx_digitalreset(rx_digitalreset),.tx_cal_busy(tx_cal_busy),.rx_cal_busy(rx_cal_busy),.tx_serial_clk0(tx_serial_clk),//FPLL生成的发送方向串行时钟.rx_cdr_refclk0(ref_clk),//CDR的参考时钟.tx_serial_data(txp),//串行接口信号.rx_serial_data(rxp),.rx_is_lockedtoref(1'b0),//CDR模式配置,lock_to_ref,锁定到参考时钟.rx_is_lockedtodata(1'b1),//CDR模式配置,lock_to_data,锁定到数据.tx_coreclkin(tbi_tx_clk),//TBI接口信号,用于连接PMA和PCS两个IP.rx_coreclkin(tbi_rx_clk),.tx_clkout(tbi_tx_clk),.rx_clkout(tbi_rx_clk),.tx_parallel_data(tbi_tx_data),.rx_parallel_data(tbi_rx_data),.unused_tx_parallel_data(118'd0),.unused_rx_parallel_data());PHY的拆分技巧——PCS的生成PHY的拆分技巧——PCS的例化pcs_1gpcs_1g_inst(.reg_clk(reg_clk),//Avalon总线,用于对寄存器进行配置,可不使用.reset_reg_clk(reset_reg_clk),.reg_addr(reg_addr),.reg_data_out(reg_rdata),.reg_rd(reg_rd),.reg_data_in(reg_wdata),.reg_wr(reg_wr),.reg_busy(reg_busy),.tx_clk(gmii_tx_clk),//用户侧GMII总线,可与MAC互联.rx_clk(gmii_rx_clk),.reset_tx_clk(reset_gmii_tx_clk),.reset_rx_clk(reset_gmii_rx_clk),.gmii_rx_dv(gmii_rx_dv),.gmii_rx_d(gmii_rx_d),.gmii_rx_err(gmii_rx_err),PHY的拆分技巧——PCS的例化.gmii_tx_en(gmii_tx_en),.gmii_tx_d(gmii_tx_d),.gmii_tx_err(gmii_tx_err),.led_crs(led_crs),//状态指示信号,用于调试,可不使用.led_link(led_link),.led_panel_link(),.led_col(),.led_an(led_an),.led_char_err(led_char_err),.led_disp_err(led_disp_err),.sd_loopback(1‘b0),//环回输出,用于控制PMA发送环回,调试时使用.powerdown(),.tbi_rx_clk(tbi_rx_clk),//TBI接口信号,用于连接PMA和PCS两个IP.tbi_tx_clk(tbi_tx_clk),.tbi_rx_d(tbi_rx_data),.tbi_tx_d(tbi_tx_data));4Q&AQ&A如果在实际过程中遇到问题,可以与我们联系。•可以关注公众号,在公众号中将您遇到的问题反馈给我们;•或者通过邮箱将您的问题发送给我们。我们都将尽力为您解答。谢谢观看双博智能工作室双博智能联络微信双博智能官方公众号
本文标题:Altera SERDES的使用方法
链接地址:https://www.777doc.com/doc-3442243 .html