编号:版本:V0.2页数:共页密级:SERDESFPGA设计手册更改记录版本拟制/更改审核批准生效日期更改内容V0.1兜福创建文档V0.2兜福添加补充了OSERDES部分,未完待续;注:作者兜福邮箱:,多多交流,共同进步。目录SERDESFPGA设计手册.............................................目录........................................................1目的..................................................2范围..................................................3术语..................................................4SERDES基础知识...............................................5SERDES应用指南...............................................5.1ISERDES...............................................5.1.1ISERDES基元.......................................5.1.2ISERDES基元的时钟解决方案.........................5.2OSERDES...............................................5.2.1OSERDES组成功能模块...............................5.2.2OSERDES基元.......................................5.2.3OSERDES基元的时钟解决方案.........................6SERDES应用指南...............................................6.1ISERDES设计...........................................6.1.1单个ISERDES单元设计(SDR)..........................RDES配置参数........................................设计思想............................................仿真结果............................................数据时序............................................输入数据时序....................................输出数据时序....................................6.1.2单个ISERDES单元设计(DDR)..........................配置参数............................................设计思想............................................仿真结果............................................6.1.3ISERDES宽度扩展...................................设计实例............................................仿真结果............................................6.2OSERDES设计...........................................6.2.1单个OSERDES单元设计(SDR)..........................配置参数............................................设计思想............................................仿真结果............................................基元SDR模式时序....................................6.2.2单个OSERDES单元设计(DDR)..........................配置参数............................................设计思想............................................仿真结果............................................基元SDR模式时序....................................6.2.3OSERDES宽度扩展...................................设计实例............................................仿真结果............................................1目的为了学习xilinxserdes原语的使用,以及交流学习经验,在工程项目中方便的应用SERDES进行设计,故编写此文档。2范围本文档所介绍的SERDES原语内容,适用于XilinxV5系列器件。3术语ISERDES:串并转换器。OSERDES:并串转换器。4SERDES基础知识待补充。5SERDES应用指南5.1ISERDES5.1.1ISERDES基元图1ISERDES基元图2ISERDES内部组成单元结构框图图3当使用Memory模型是ISERDES内部的连接情况表1ISERDES端口列表PortNameTypeWidthDescriptionQ1-Q6Output1(each)寄存器输出SHIFTOUT1Output1进位输出,用于数据宽度的扩展。连接到从IOB的SHIFIN1。SHIFTOUT2Output1进位输出,用于数据宽度的扩展。连接到从IOB的SHIFIN2。BITSLIPInput1启动bitslip操作CE1CE2Input1(each)时钟使能输入CLKInput1高速时钟输入,对串行输入数据流进行时钟控制。CLKBInput1高速时钟第二输入,对串行输入的数据流进行时钟控制。总是连接~CLK。CLKDIVInput1时钟CLK的分频时钟,取决于解串的数据宽度。控制着延迟单元、解串数据、Bitslip子模块和CE单元进行时钟控制。DInput1来自IOB的串行输入数据。OCLKInput1用于存储器应用的高速时钟输入,该信号只有在INTERFACE_TYPE属性配置为(MEMORY)时,才可用;配置为”NETWORKING”时,直接赋0值即可。SHIFTIN1Input1用于数据扩展的进位输入,连接到主IOB的SHIFTOUT1。SHIFTIN2Input1用于数据扩展的进位输入,连接到主IOB的SHIFTOUT2。RSTInput1异步复位输入,高有效。表2ISERDES属性列表AtrributeNameEescriptionValueDefaultValueBITSLIP_ENABLE允许用户使用或者忽略bitslip子模块。该属性在INTERFACE_TYPE属性配置为MEMORY时必须配置为FALSE,在配置为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定义时钟使能数整数:1或22SERDES_MODE当使用宽度扩展时定义SERDES是主模块,还是从模块。字符串:MASTER或SLAVE。MASTER表3推荐的数据宽度配置5.1.2ISERDES基元的时钟解决方案CLK和CLKDIV的相位关系,在串并转换的过程中是非常重要的。CLK和CLKDIV的相位关系应该是理想对齐的。FPGA中存在这样的时钟模块单元来设计满足CLK和CLKDIV的相位关系。在networking模式下,解决时钟相位关系的唯一办法是:?CLKdrivenbyBUFIO,CLKDIVdrivenbyBUFR?CLKdrivenbyDCM,CLKDIVdrivenbytheCLKDVoutputofthesameDCM?CLKdrivenbyPLL,CLKDIVdrivenbyCLKOUT[0:5]ofsamePLL在MemoryInterface模式下,解决时钟相位关系的唯一办法是:?CLKdrivenbyBUFIOorBUFG?OCLKdrivenbyDCMandCLKDIVdrivenbyCLKDVoutputofsameDCM?OCLKdrivenbyPLLandCLKDIVdrivenbyCLKOUT[0:5]ofsamePLL图4控制CLK和CLKDIV相位对齐的时钟解决方案//补充文档内容从以下区域进行添加5.2OSERDESOSERDES:输出并串转换器逻辑资源,具有专门用来帮助实现源同步接口的待定时钟控制和逻辑资源。每个OSERDES模块包含一个用户数据和三态控制的专用串行器。数据和专用串行器都可以配置成SDR和DDR模式。数据串行化可大6:1,如果使用“OSERDES宽度扩展,则是10:1”。三态串行化可达4:1。5.2.1OSERDES组成功能模块图OSERDES功能框图在OSERDES并串转换过程中,并行数据串行化是从数据引入引脚的最低位到最高位的顺序进行的(即D1输入引脚上的数据传输到OQ引脚的首位)。OSERDES使用CLK和CLKDIV两个时钟进行数据速率转换。CLK是高速串行时钟;CLKDIV是分频并行时钟。假定CLK和CLKDIV相位对齐,表**所示为各种模式下CLK与CLKDIV之间的关系。表**并串转换器的clk/clkdiv关系SDR模式下的输入数据宽度输出DDR模式下的输入数据宽度输出CLKCLKDIV242XX363XX484XX5105XX6—6XX7—7XX8—8XXOSERDES延迟Oserdes模块的输入到输出延迟取决于DATA_RATE和DATA_WIDTH属性。延迟的定义是,并行数据样本输入OSERDES所需的慢时钟(CLKDIV)周期数,后加OSERDES在并行数据采样之后将第一个串行数据送入OQ输出所需的快时钟(CLK)周期数。表××概述了各种OSERDES延迟值。5.2.2OSERDES基元图oserdes基元端口名称类型宽度描述OQ输出output1数据通路输出,并转串后的串行输出。SHIFTOUT1输出1数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN1。SHIFTOUT2输出1数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN2。TQ输出1三态控制输出CLK输入1高速时钟输入,驱动并串转换器的串行侧。CLKDIV输入1分频时钟输入。对延迟单元,解串数据,Bitslip自模块和CE单元进行时钟控制。为CLK端口所连接时钟的分频版本,分频大小根据数据转换宽度而定。CLKDIV