《SERDES FPGA设计手册》由会员分享,可在线阅读,更多相关《SERDES FPGA设计手册(32页珍藏版)》请在金锄头文库上搜索。
1、编 号: 版 本:V0.2 页 数:共 页 密 级:SERDES FPGA设计手册更改记录版本拟制/更改审核批准生效日期更改内容V0.1兜福2013.7.19创建文档V0.2兜福2013.9.11添加补充了OSERDES部分,未完待续;注:作者兜福邮箱:,多多交流,共同进步。目录SERDES FPGA设计手册1目录31目的62范围63术语64SERDES基础知识65SERDES应用指南65.1ISERDES75.1.1ISERDES基元75.1.2ISERDES基元的时钟解决方案105.2OSERDES115.2.1OSERDES组成功能模块125.2.2OSERDES基元135.2.3OSE
2、RDES基元的时钟解决方案156SERDES应用指南156.1ISERDES设计156.1.1单个ISERDES单元设计(SDR)156.1.1.1ISERDES配置参数156.1.1.2设计思想186.1.1.3仿真结果196.1.1.4ISERDES数据时序206.1.1.4.1ISERDES输入数据时序206.1.1.4.1ISERDES输出数据时序216.1.2单个ISERDES单元设计(DDR)226.1.2.1ISERDES配置参数226.1.2.2设计思想226.1.2.3仿真结果226.1.3ISERDES宽度扩展226.1.3.1设计实例236.1.3.2仿真结果266.2O
3、SERDES设计266.2.1单个OSERDES单元设计(SDR)266.2.1.1OSERDES配置参数266.2.1.2设计思想286.2.1.3仿真结果296.2.1.1OSERDES基元SDR模式时序296.2.2单个OSERDES单元设计(DDR)296.2.2.1OSERDES配置参数306.2.2.2设计思想306.2.2.3仿真结果306.2.2.1OSERDES基元SDR模式时序316.2.3OSERDES宽度扩展316.2.3.1设计实例316.2.3.1仿真结果331 目的为了学习xilinx serdes原语的使用,以及交流学习经验,在工程项目中方便的应用SERDES进
4、行设计,故编写此文档。2 范围本文档所介绍的SERDES原语内容,适用于Xilinx V5系列器件。3 术语ISERDES:串并转换器。OSERDES:并串转换器。4 SERDES基础知识待补充。5 SERDES应用指南5.1 ISERDES5.1.1 ISERDES基元图 1 ISERDES基元图 2 ISERDES内部组成单元结构框图图 3 当使用Memory模型是ISERDES内部的连接情况表 1 ISERDES端口列表Port NameTypeWidthDescriptionQ1-Q6Output1(each)寄存器输出SHIFTOUT1Output1进位输出,用于数据宽度的扩展。连接
5、到从IOB的SHIFIN1。SHIFTOUT2Output1进位输出,用于数据宽度的扩展。连接到从IOB的SHIFIN2。BITSLIPInput1启动bitslip操作CE1CE2Input1(each)时钟使能输入CLKInput1高速时钟输入,对串行输入数据流进行时钟控制。CLKBInput 1高速时钟第二输入,对串行输入的数据流进行时钟控制。总是连接CLK。CLKDIVInput 1时钟CLK的分频时钟,取决于解串的数据宽度。控制着延迟单元、解串数据、Bitslip子模块和CE单元进行时钟控制。DInput1来自IOB的串行输入数据。OCLKInput1用于存储器应用的高速时钟输入,该
6、信号只有在INTERFACE_TYPE属性配置为(MEMORY)时,才可用;配置为”NETWORKING”时,直接赋0值即可。SHIFTIN1Input1用于数据扩展的进位输入,连接到主IOB的SHIFTOUT1。SHIFTIN2Input1用于数据扩展的进位输入,连接到主IOB的SHIFTOUT2。RSTInput1异步复位输入,高有效。表 2 ISERDES属性列表Atrribute NameEescriptionValueDefault ValueBITSLIP_ENABLE允许用户使用或者忽略bitslip子模块。该属性在INTERFACE_TYPE属性配置为MEMORY时必须配置为F
7、ALSE,在配置为NETWORKING时必须配置为TURE。字符串:TURE或FALSEFALSEDATA_RATE允许将输入的数据流作为”DDR”或者”SDR”来进行处理。字符串:DDR或SDRDDRDATA_WIDTH定义串并转换的宽度,合法的值取决于DATA_RATE的配置(SDR或者DDR)。如果 DATA_RATE = DDR,则此值限制为 4、6、8 或 10。如果DATA_RATE = SDR,则此值限制为 2、3、4、5、6、7 或 8。 4INTERFACE_TYPE选择ISERDES的使用说明字符串:MEMORY或NETWORKINGMEMORYNUM_CE定义时钟使能数整
8、数:1或22SERDES_MODE当使用宽度扩展时定义SERDES是主模块,还是从模块。字符串:MASTER或SLAVE。MASTER表 3 推荐的数据宽度配置5.1.2 ISERDES基元的时钟解决方案CLK和CLKDIV的相位关系,在串并转换的过程中是非常重要的。CLK和CLKDIV的相位关系应该是理想对齐的。FPGA中存在这样的时钟模块单元来设计满足CLK和CLKDIV的相位关系。在networking模式下,解决时钟相位关系的唯一办法是: CLK driven by BUFIO, CLKDIV driven by BUFR CLK driven by DCM, CLKDIV drive
9、n by the CLKDV output of the same DCM CLK driven by PLL, CLKDIV driven by CLKOUT0:5 of same PLL在Memory Interface模式下,解决时钟相位关系的唯一办法是: CLK driven by BUFIO or BUFG OCLK driven by DCM and CLKDIV driven by CLKDV output of same DCM OCLK driven by PLL and CLKDIV driven by CLKOUT0:5 of same PLL 图 4 控制CLK和CLK
10、DIV相位对齐的时钟解决方案/补充文档内容从以下区域进行添加5.2 OSERDESOSERDES:输出并串转换器逻辑资源,具有专门用来帮助实现源同步接口的待定时钟控制和逻辑资源。每个OSERDES模块包含一个用户数据和三态控制的专用串行器。数据和专用串行器都可以配置成SDR和DDR模式。数据串行化可大6:1,如果使用“OSERDES宽度扩展,则是10:1”。三态串行化可达4:1。5.2.1 OSERDES组成功能模块图 OSERDES功能框图在OSERDES并串转换过程中,并行数据串行化是从数据引入引脚的最低位到最高位的顺序进行的(即D1输入引脚上的数据传输到OQ引脚的首位)。OSERDES使
11、用CLK和CLKDIV两个时钟进行数据速率转换。CLK是高速串行时钟;CLKDIV是分频并行时钟。假定CLK和CLKDIV相位对齐,表*所示为各种模式下CLK与CLKDIV之间的关系。表* 并串转换器的clk/clkdiv关系SDR模式下的输入数据宽度输出DDR模式下的输入数据宽度输出CLKCLKDIV242XX363XX484XX5105XX66XX77XX88XXOSERDES延迟Oserdes模块的输入到输出延迟取决于DATA_RATE和DATA_WIDTH属性。延迟的定义是,并行数据样本输入OSERDES所需的慢时钟(CLKDIV)周期数,后加OSERDES在并行数据采样之后将第一个串
12、行数据送入OQ输出所需的快时钟(CLK)周期数。表概述了各种OSERDES延迟值。5.2.2 OSERDES基元图 oserdes基元端口名称类型宽度描述OQ输出output1数据通路输出,并转串后的串行输出。SHIFTOUT1输出1数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN1。SHIFTOUT2输出1数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN2。TQ输出1三态控制输出CLK输入1高速时钟输入,驱动并串转换器的串行侧。CLKDIV输入1分频时钟输入。对延迟单元,解串数据,Bitslip自模块和CE单元进行时钟控制。为CLK端口所连接时钟的分频版本,分频大
13、小根据数据转换宽度而定。CLKDIV驱动驱动并串转换器的并行侧。D1-D6输入1/port并行数据输入。D1将最先出现在串行输出口OQ上。所有并行数据全通过D1-D6进入OSERDES模块。OCE输入1输出数据时钟使能,高有效。该信号可以作为输入OSERDES基元内的并行数据的同步有效标志,并可以同时输出到接收转换后的串行数据的一方,作为一个有效数据的起始位置的判断标志。REV输入1反转SR引脚。OSERDES模块中没有此端口。SHIFTIN1输入1数据宽度扩展的进位输入,连接到从OSERDES的SHIFTOUT1。SHIFTIN2输入1数据宽度扩展的进位输入,连接到从OSERDES的SHIFTOUT2。SR输入1设置/复位。在OSERDES模块中,此引脚只作为异步复位。