收藏 分销(赏)

SERDESFPGA设计手册.doc

上传人:a199****6536 文档编号:2156829 上传时间:2024-05-21 格式:DOC 页数:32 大小:1.38MB
下载 相关 举报
SERDESFPGA设计手册.doc_第1页
第1页 / 共32页
SERDESFPGA设计手册.doc_第2页
第2页 / 共32页
SERDESFPGA设计手册.doc_第3页
第3页 / 共32页
SERDESFPGA设计手册.doc_第4页
第4页 / 共32页
SERDESFPGA设计手册.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、编 号: 版 本:V0.2 页 数:共 页 密 级:SERDES FPGA设计手册更改记录版本拟制/更改审核批准生效日期更改内容V0.1兜福2013.7.19创建文档V0.2兜福2013.9.11添加补充了OSERDES部分,未完待续;注:作者兜福邮箱:zouxingyu705,多多交流,共同进步。目录SERDES FPGA设计手册1目录31目的62范围63术语64SERDES基础知识65SERDES应用指南65.1ISERDES75.1.1ISERDES基元75.1.2ISERDES基元的时钟解决方案105.2OSERDES115.2.1OSERDES组成功能模块125.2.2OSERDES

2、基元135.2.3OSERDES基元的时钟解决方案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

3、.2仿真结果266.2OSERDES设计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原语的使用,以及交流学习经验,在工程项目中

4、方便的应用SERDES进行设计,故编写此文档。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属性配置为M

7、EMORY时必须配置为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或NETWORKINGMEMORYNU

8、M_CE定义时钟使能数整数: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,

9、CLKDIV driven 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 图

10、 4 控制CLK和CLKDIV相位对齐的时钟解决方案/补充文档内容从以下区域进行添加5.2 OSERDESOSERDES:输出并串转换器逻辑资源,具有专门用来帮助实现源同步接口的待定时钟控制和逻辑资源。每个OSERDES模块包含一个用户数据和三态控制的专用串行器。数据和专用串行器都可以配置成SDR和DDR模式。数据串行化可大6:1,如果使用“OSERDES宽度扩展,则是10:1”。三态串行化可达4:1。5.2.1 OSERDES组成功能模块图 OSERDES功能框图在OSERDES并串转换过程中,并行数据串行化是从数据引入引脚的最低位到最高位的顺序进行的(即D1输入引脚上的数据传输到OQ引脚的

11、首位)。OSERDES使用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数据宽度扩展的进位输入,连接到从

14、OSERDES的SHIFTOUT2。SR输入1设置/复位。在OSERDES模块中,此引脚只作为异步复位。T1-T4输入1/port并行三态输入。所有并行三态信号,都通过端口T1到T4进入OSERDES模块。此端口连接到FPGA内部资源,可以配置成一位或者四位。TCE输入1三态控制通路时钟使能,高有效。5.2.3 OSERDES基元的时钟解决方案6 SERDES应用指南6.1 ISERDES设计6.1.1 单个ISERDES单元设计(SDR)6.1.1.1 ISERDES配置参数Iserdes仿真设计的练习中将iserdes的参数配置为图XX中的参数,具体参数释义如表XX所示。 图 XX表 XX

15、参数值 意义BITSLIP_ENABLETRUE Bitslip控制器的使能。如果INTERFACE_TYPE配置为memory,则必须配置为FALSE;如果INTERFACE_TYPE配置为networking,则必须配置为TURE。在本次设计里将接口类型配置为了networking类型。DATA_RATE SDR指定将输入的数据作为”SDR”或是”DDR”处理。SDR - 单倍数据数据;DDR - 双倍数据速率;本设计中设置为单倍数据速率,即SDR。INTERFACE_TYPE NETWORKING使用的数据传输模型。可选配置为:MEMORY - 需要用到OCLK; NETWORKING

16、- 不需要用到OCLK;本设计中配置为NETWORKING。IOBDELAYNONE待补充 IOBDELAY_TYPEDEFAULT待补充IODELAY_VALUE0待补充NUM_CE1定义设计中使用的时钟使能的个数。具体参考ISERDES结构中的时钟模块的时钟使能CE1和CE2设计。本设计配置为”1”,使用一个时钟使能。SERDES_MODEMASTER设置当前SERDES的身份,主或从。可选配置:”MASTER” or ”SLAVE”.本设计中配置为MASTER,即没有进行级联设计。参数值 意义BITSLIP_ENABLETRUE Bitslip控制器的使能。如果INTERFACE_TYP

17、E配置为memory,则必须配置为FALSE;如果INTERFACE_TYPE配置为networking,则必须配置为TURE。在本次设计里将接口类型配置为了networking类型。DATA_RATE SDR指定将输入的数据作为”SDR”或是”DDR”处理。SDR - 单倍数据数据;DDR - 双倍数据速率;本设计中设置为单倍数据速率,即SDR。INTERFACE_TYPE NETWORKING使用的数据传输模型。可选配置为:MEMORY - 需要用到OCLK; NETWORKING - 不需要用到OCLK;本设计中配置为NETWORKING。IOBDELAYNONE待补充 6.1.1.2

18、设计思想设计中将外部输入的复位信号进行异步复位,同步释放处理。外部的串行数据直接进入ISERDES,SERDES输出的并行数据进行拼接成6位的数据总线,再输出。6.1.1.3 仿真结果创建test_betch平台,生成激励。仿真结果如图XX和图XX。从图上分析可知,产生的激励序列011111_101101_101010_110100_010111_10000_000000。其中,clk为快时钟,控制输入的串行数据;clkdiv通常是clk的一个分频版本,取决于所实现的解串的宽度(即,如果是1:6解串器,则clkdiv是clk的6分频);D为输入的串行数据;ce为D的同步有效标志(使能)。注意,

19、该设计中配置为SDR,networking模式,则ISERDES的延迟为两个clkdiv的时钟,这里所讲的延迟是指快时钟(clk)采集数据为样本之后,该数据位出现在Q输出上所需的慢时钟(clkdiv)的周期数。另,串行输出的第一位出现在并行输出的最高位上。其他配置情况下的ISERDES延迟信息如表XX所示。图 仿真全图图 测试激励起点图 测试激励结束表 ISERDES延迟6.1.1.4 ISERDES数据时序6.1.1.4.1 ISERDES输入数据时序图 ISERDES数据输入时序图6.1.1.4.1 ISERDES输出数据时序图 ISERDES数据输出时序图对于ISERDES来说,输入到输

20、出存在一定延迟,这个延迟取决于DATA_RATE,DATA_WIDTH,SERDES_MODE属性。所谓延迟具体是指快时钟(CLK)采集数据位样本之后,该数据位出现在Q输出上所需的慢时钟(CLKDIV)周期数。表 ISERDES延迟值Date_RateSERDES_MODE存储器模式的延迟网络模式的延迟SDR1个CLKDIV周期2个CLKDIV周期DDR1个CLKDIV周期2个CLKDIV周期6.1.2 单个ISERDES单元设计(DDR)6.1.2.1 ISERDES配置参数6.1.2.2 设计思想6.1.2.3 仿真结果6.1.3 ISERDES宽度扩展构建大于1:6的串并转换器需要两个I

21、SERDES模块。每个I/O模块中有一主一从两个ISERDES模块。通过将主ISERDES的SHIFOUT端口连接到从ISERDES的SHIFTIN端口,可以将串并转换器最大扩展到1:10(DDR)和1:8(SDR)。如下图所示为使用主从ISERDES模块的1:10DDR串并转换器的框图。端口Q3-Q6用于从ISERDES上的并行接口的后四位。如果是1:8的SDR串并转化器,则从单元用的是Q3和Q4两位端口。图 ISERDES宽度扩展6.1.3.1 设计实例本设计为SDR,1:8串并转换器,模式为Network模式。具体设计如下图123。.图 Master单元设计图 Slave单元设计图 扩展

22、后的拼接输出6.1.3.2 仿真结果首先图中的复位信号依然做了异步复位,同步释放处理。图 全局虚线光标处为串行数据开始输入,在此之后的慢时钟clkdiv的第二个上升沿,开始输出并行数据(8bits)。图 数据输入到输出局部6.2 OSERDES设计6.2.1 单个OSERDES单元设计(SDR)6.2.1.1 OSERDES配置参数Oserdes仿真设计的练习中将oserdes的参数配置为图XX中的参数,具体参数释义如表XX所示。图* OSERDES参数配置表OSERDES属性概述值默认值DATA_RATE_OQ定义数据(OQ)是在相对于CLK的每个时钟边沿还是时钟的上升沿变化。字符串SDR(

23、单倍数据速率)或者DDR(双倍数据速率)DDRDATA_RATE_TQ定义三态(TQ)是相对于时钟的每个时钟边沿还是时钟的上升沿变化,或者是缓冲期设置。字符串SDR、DDR或者BUF。DDRDATA_WIDTH定义并串数据转换器的宽度。此值还取决于DATA_RATE_OQ的值。整数:2、4、6、7、8或者10。如果DATA_RATE_OQ=DDR,则此值限制为4、6、8或10。如果DATA_RATE_OQ=SDR,则此值限制为2、3、4、5、6、7、8。当DATA_WIDTH设置值大于6时,必须将一对OSERDES配置成主从配置。4SERDES_MODE当使用宽度扩展时,定义OSERDES模块

24、是主模块还是从模块。字符串:MASTER或SLAVE。MASTERTRISTATE定义三态转换器的宽度。整数:1或4。如果DATA_RATE_TQ=DDR,则此值限制为4。如果DATA_RATE_TQ=SDR或BUF,则此值限制为1。46.2.1.2 设计思想设计中将外部输入的复位信号进行异步复位,同步释放处理。OSERDES基元外部的并行数据直接进入OSERDES。将OSERDES属性配置为SDR,DATA_WITH=6,即6:1并串转换器件。OSERDES的串行数据直接作为模块数据。6.2.1.3 仿真结果创建test_betch平台,生成激励。仿真结果如图XX和图XX。从图上分析可知,有

25、CLKDIV驱动产生一组并行测试数据,16进制表示依次为15、12、7、1e、1a,共5个。其中,clk为快时钟,驱动并串转换器串行侧;clkdiv通常是clk的一个分频版本,取决于所实现的解串的宽度(即,如果是6:1并串转换,则clkdiv是clk的6分频);OSERDES基元外的并行数据通过d1、d2、d3、d4、d5、d6输入到OSERDES内部,其中d1将最先出现在OQ上,也即如果将并行数据的最低位赋值给d1,其他依次,那么可以看成OSERDES是从并行数据的低位开始并串转换的;oce为输出数据有效时钟使能。注意,该设计中配置为SDR(OSERDES默认为DDR),则OSERDES的并

26、串转换输出延迟为clkdiv采集到有效并行数据之后的5个clk周期(即之后的第五个clk上升沿驱动出第一位有效串行数据)有效串行数据出现在OQ上。1a1e71215图 OSERDES配置为SDR仿真结果6.2.1.1 OSERDES基元SDR模式时序1e6.2.2 单个OSERDES单元设计(DDR)6.2.2.1 OSERDES配置参数6.2.2.2 设计思想设计中将外部输入的复位信号进行异步复位,同步释放处理。OSERDES基元外部的并行数据直接进入OSERDES。将OSERDES属性配置为DDR,DATA_WITH=6,即6:1并串转换器件。OSERDES的串行数据直接作为模块数据。6.

27、2.2.3 仿真结果创建test_betch平台,生成激励。仿真结果如图XX和图XX。从图上分析可知,有CLKDIV驱动产生一组并行测试数据,16进制表示依次为15、12、7、1e、1a,共5个。其中,clk为快时钟,驱动并串转换器串行侧;clkdiv通常是clk的一个分频版本,取决于所实现的解串的宽度(即,如果是6:1并串转换,在配置为SDR模式时,clkdiv是clk的6分频;在配置为DDR模式时,clkdiv是clk的3分频);OSERDES基元外的并行数据通过d1、d2、d3、d4、d5、d6输入到OSERDES内部,其中d1将最先出现在OQ上,也即如果将并行数据的最低位赋值给d1,其

28、他依次,那么可以看成OSERDES是从并行数据的低位开始并串转换的;oce为输出数据有效时钟使能。注意,该设计中配置为DDR(OSERDES默认为DDR),则OSERDES的并串转换输出延迟为clkdiv采集到有效并行数据之后的5个clk周期(即之后的第五个clk上升沿驱动出第一位有效串行数据)有效串行数据出现在OQ上。补充说明,刚刚提到的并串转换延迟,对6:1并串转换,DDR模式的情况下,从给出第一个有效并行数据,到该并行数据转为串行数据后的第一位有效串行数据出现在OQ上的延迟为1个clkdiv+3个clk,关于延迟的其他情况的描述参考表中所述。DDR模式下,在复位失效后,至少延迟一个clk

29、div之后再给出有效的并行数据151a1e712图OSERDES基元DDR模式仿真注意,于SDR模式不同,在DDR模式时,当OSERDES基元的复位失效后,必须至少延迟一个clkdiv时钟周期后,再给出第一个有效的并行数据,这样第一个并行数据才能被正确采样。另外,DDR模式下6:1并串转换的延迟为1个clkdiv+3个clk。从仿真图中可以看出,在clkdiv正确采样第一个有效并行数据后的,第三个clk上升沿,并串转后的第一个串行数据出现在OQ上。6.2.2.1 OSERDES基元SDR模式时序6.2.3 OSERDES宽度扩展6.2.3.1 设计实例本设计通过配置OSERDES实现为SDR,8:1并串转换器件具体设计如下图。.图 OSERDES扩展Master图 OSERDES扩展Slave6.2.3.1 仿真结果11712752图 OSERDES基元位宽扩展仿真结果由上仿真图可知,位宽扩展为8:1的并串转换器的延迟为1个clkdiv+6个clk,即clkdiv采集到第一个有效并行数据后的第6个clk的上升沿,并串转换后的串行数据出现在OQ上。另外,上述仿真中的SHIFTOUT1和SHIFTOUT2为啥存在不定态。?遗留问题:如果需要将OSERDES并串转换后的串行数据在重新拼接起来,该如何实现?

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服