SERDES FPGA设计手册要点 - 图文
更新时间:2024-06-18 04:25:01 阅读量: 综合文库 文档下载
- serdes推荐度:
- 相关推荐
编 号:
版 本:V0.2 页 数:共 页 密 级:
SERDES FPGA设计手册
更改记录
版本 V0.1 V0.2 拟制/更改 兜福 兜福 审核 批准 生效日期 2013.7.19 2013.9.11 更改内容 创建文档 添加补充了OSERDES部分,未完待续; 注:作者兜福邮箱:zouxingyu705@sina.com,多多交流,共同进步。
目录
SERDES FPGA设计手册 .................................................................................... 1
目录................................................................................................................ 2 1 2 3
目的.................................................................................................... 5 范围.................................................................................................... 5 术语.................................................................................................... 5
4 SERDES基础知识 .......................................................................................... 5 5 SERDES应用指南 .......................................................................................... 5
5.1
ISERDES ........................................................................................... 5 5.1.1 ISERDES基元 ........................................................................... 5 5.1.2 ISERDES基元的时钟解决方案 ............................................... 9 5.2
OSERDES ........................................................................................ 10 5.2.1 OSERDES组成功能模块 ........................................................ 10 5.2.2 OSERDES基元 ........................................................................ 12 5.2.3 OSERDES基元的时钟解决方案 ............................................ 13
6 SERDES应用指南 ........................................................................................ 14
6.1
ISERDES设计 ................................................................................ 14 6.1.1 单个ISERDES单元设计(SDR) .............................................. 14
6.1.1.1ISERDES配置参数 ......................................................... 14 6.1.1.2设计思想.......................................................................... 17 6.1.1.3仿真结果.......................................................................... 17 6.1.1.4ISERDES数据时序 ......................................................... 18
6.1.1.4.1ISERDES输入数据时序 ...................................... 18 6.1.1.4.1ISERDES输出数据时序 ...................................... 19
6.1.2 单个ISERDES单元设计(DDR) ............................................. 20
6.1.2.1ISERDES配置参数 ......................................................... 20 6.1.2.2设计思想.......................................................................... 20 6.1.2.3仿真结果.......................................................................... 20 6.1.3 ISERDES宽度扩展 ................................................................. 20
6.1.3.1设计实例.......................................................................... 21 6.1.3.2仿真结果.......................................................................... 24
6.2
OSERDES设计 ............................................................................... 24 6.2.1 单个OSERDES单元设计(SDR) ............................................ 24
6.2.1.1OSERDES配置参数 ........................................................ 24 6.2.1.2设计思想.......................................................................... 26 6.2.1.3仿真结果.......................................................................... 27 6.2.1.1OSERDES基元SDR模式时序 ...................................... 27 6.2.2 单个OSERDES单元设计(DDR) ............................................ 27
6.2.2.1OSERDES配置参数 ........................................................ 28 6.2.2.2设计思想.......................................................................... 28 6.2.2.3仿真结果.......................................................................... 28 6.2.2.1OSERDES基元SDR模式时序 ...................................... 29 6.2.3 OSERDES宽度扩展 ................................................................ 29
6.2.3.1设计实例.......................................................................... 29 6.2.3.1仿真结果.......................................................................... 31
1 目的
为了学习xilinx serdes原语的使用,以及交流学习经验,在工程项目中方便的应用SERDES进行设计,故编写此文档。
2 范围
本文档所介绍的SERDES原语内容,适用于Xilinx V5系列器件。
3 术语
ISERDES:串并转换器。 OSERDES:并串转换器。
4 SERDES基础知识
待补充。
5 SERDES应用指南
5.1 ISERDES
5.1.1 ISERDES基元
图 1 ISERDES基元
图 2 ISERDES内部组成单元结构框图
图 3 当使用Memory模型是ISERDES内部的连接情况
表 1 ISERDES端口列表
Port Name Q1-Q6 SHIFTOUT1 Type Output Output Width 1(each) 1 Description 寄存器输出 进位输出,用于数据宽度的扩展。连接到从IOB的SHIFIN1。 SHIFTOUT2 Output 1 进位输出,用于数据宽度的扩展。连接到从IOB的SHIFIN2。 BITSLIP CE1 CE2 CLK Input Input 1 1(each) 启动bitslip操作 时钟使能输入 Input 1 高速时钟输入,对串行输入数据流进行时钟控制。 CLKB Input 1 高速时钟第二输入,对串行输入的数据流进行时钟控制。总是连接~CLK。 CLKDIV Input 1 时钟CLK的分频时钟,取决于解串的数据宽度。 控制着延迟单元、解串数据、Bitslip子模块和CE单元进行时钟控制。 D OCLK Input Input 1 1 来自IOB的串行输入数据。 用于存储器应用的高速时钟输入,该信号只有在INTERFACE_TYPE属性配置为(\时,才可用;配置为”NETWORKING”时,直接赋0值即可。 SHIFTIN1 Input 1 用于数据扩展的进位输入,连接到主IOB的SHIFTOUT1。 SHIFTIN2 Input 1 用于数据扩展的进位输入,连接到主IOB的SHIFTOUT2。 RST
Input 1 异步复位输入,高有效。
表 2 ISERDES属性列表
Atrribute Name BITSLIP_ENABLE Eescription 允许用户使用或者忽略Value 字符串:TUREDefault Value FALSE bitslip子模块。该属性在或FALSE INTERFACE_TYPE属性配置为MEMORY时必须配置为FALSE,在配置为NETWORKING时必须配置为TURE。 DATA_RATE 允许将输入的数据流作为”DDR”或者”SDR”来进行处理。 字符串:DDR或DDR SDR DATA_WIDTH 定义串并转换的宽度,合法的值取决于DATA_RATE的配置(SDR或者DDR)。 如果 DATA_RATE = DDR,则此值限制为 4、6、8 或 10。如果DATA_RATE = SDR,则此值限制为 2、3、4、5、6、7 或 8。 4 INTERFACE_TYP选择ISERDES的使用说字符串:E 明 MEMORY或NETWORKING NUM_CE SERDES_MODE 定义时钟使能数 当使用宽度扩展时定义SERDES是主模块,还是从模块。
MEMORY 整数:1或2 字符串:MASTER或SLAVE。 2 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 driven by the CLKDV output of the same DCM
? CLK driven by PLL, CLKDIV driven by CLKOUT[0: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 CLKOUT[0:5] of same PLL
图 4 控制CLK和CLKDIV相位对齐的时钟解决方案
//补充文档内容从以下区域进行添加
5.2 OSERDES
OSERDES:输出并串转换器逻辑资源,具有专门用来帮助实现源同步接口的待定时钟控制和逻辑资源。每个OSERDES模块包含一个用户数据和三态控制的专用串行器。数据和专用串行器都可以配置成SDR和DDR模式。数据串行化可大6:1,如果使用“OSERDES宽度扩展,则是10:1”。三态串行化可达4:1。
5.2.1 OSERDES组成功能模块
图 OSERDES功能框图
在OSERDES并串转换过程中,并行数据串行化是从数据引入引脚的最低位
到最高位的顺序进行的(即D1输入引脚上的数据传输到OQ引脚的首位)。
OSERDES使用CLK和CLKDIV两个时钟进行数据速率转换。CLK是高速
串行时钟;CLKDIV是分频并行时钟。假定CLK和CLKDIV相位对齐,表**所示为各种模式下CLK与CLKDIV之间的关系。
表** 并串转换器的clk/clkdiv关系
SDR模式下的输入数据宽度输出 2 3 4
DDR模式下的输入数据宽度输出 4 6 8 CLK 2X 3X 4X CLKDIV X X X
5 6 7 8
OSERDES延迟
10 — — — 5X 6X 7X 8X X X X X Oserdes模块的输入到输出延迟取决于DATA_RATE和DATA_WIDTH属性。
延迟的定义是,并行数据样本输入OSERDES所需的慢时钟(CLKDIV)周期数,后加OSERDES在并行数据采样之后将第一个串行数据送入OQ输出所需的快时钟(CLK)周期数。表××概述了各种OSERDES延迟值。
5.2.2 OSERDES基元
图 oserdes基元
端口名称 OQ 类型 输出output 宽度 1 描述 数据通路输出,并转串后的串行输出。 SHIFTOUT1 输出 1 数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN1。 SHIFTOUT2 输出 1 数据宽度扩展的进位输出,连接到主OSERDES的SHIFTIN2。 TQ CLK 输出 输入 1 1 三态控制输出 高速时钟输入,驱动并串转换器的串行侧。 CLKDIV 输入 1 分频时钟输入。对延迟单元,解串数据,Bitslip自模块和CE单元进行时钟控制。为CLK端口所连接时钟的分频版本,分频大小根据数据转换宽度而定。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模块中,此引脚只作为异步复位。 T1-T4 输入 1/port 并行三态输入。所有并行三态信号,都通过端口T1到T4进入OSERDES模块。此端口连接到FPGA内部资源,可以配置成一位或者四位。 TCE
5.2.3 OSERDES基元的时钟解决方案
输入 1 三态控制通路时钟使能,高有效。
6 SERDES应用指南
6.1 ISERDES设计
6.1.1 单个ISERDES单元设计(SDR) 6.1.1.1 ISERDES配置参数
Iserdes仿真设计的练习中将iserdes的参数配置为图XX中的参数,具体参数释义如表XX所示。
图 XX 表 XX 参数 BITSLIP_ENABLE 值 TRUE 意义 Bitslip控制器的使能。 如果INTERFACE_TYPE配置为
memory,则必须配置为FALSE;如果INTERFACE_TYPE配置为networking,则必须配置为TURE。在本次设计里将接口类型配置为了networking类型。 指定将输入的数据作为”SDR”或是”DDR”处理。 DATA_RATE SDR SDR --- 单倍数据数据; DDR --- 双倍数据速率; 本设计中设置为单倍数据速率,即SDR。 使用的数据传输模型。 可选配置为: \--- 需要用INTERFACE_TYPE NETWORKING 到OCLK; \--- 不需要用到OCLK; 本设计中配置为NETWORKING。 IOBDELAY IOBDELAY_TYPE IODELAY_VALUE NONE DEFAULT 0 待补充 待补充 待补充 定义设计中使用的时钟使能的个数。具体参考NUM_CE 1 ISERDES结构中的时钟模块的时钟使能CE1和CE2设计。
本设计配置为”1”,使用一个时钟使能。 设置当前SERDES的身份,主或从。 可选配置:”MASTER” SERDES_MODE MASTER or ”SLAVE”. 本设计中配置为MASTER,即没有进行级联设计。 参数 值 意义 Bitslip控制器的使能。 如果INTERFACE_TYPE配置为memory,则必须配置为FALSE;如果INTERFACE_TYPEBITSLIP_ENABLE TRUE 配置为networking,则必须配置为TURE。在本次设计里将接口类型配置为了networking类型。 指定将输入的数据作为”SDR”或是”DDR”处理。 DATA_RATE SDR SDR --- 单倍数据数据; DDR --- 双倍数据速率; 本设计中设置为单倍数据速率,即SDR。 使用的数据传输模型。 可选配置为: INTERFACE_TYPE NETWORKING \--- 需要用到OCLK; \--- 不
需要用到OCLK; 本设计中配置为NETWORKING。 IOBDELAY
6.1.1.2 设计思想
设计中将外部输入的复位信号进行异步复位,同步释放处理。外部的串行数据直接进入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的同步有效标志(使能)。注意,该设计中配置为SDR,networking模式,则ISERDES的延迟为两个clkdiv的时钟,这里所讲的延迟是指快时钟(clk)采集数据为样本之后,该数据位出现在Q输出上所需的慢时钟(clkdiv)的周期数。另,串行输出的第一位出现在并行输出的最高位上。其他配置情况下的ISERDES延迟信息如表XX所示。
NONE 待补充
图 仿真全图
图 测试激励起点
图 测试激励结束
表 ISERDES延迟
6.1.1.4 ISERDES数据时序
6.1.1.4.1 ISERDES输入数据时序
图 ISERDES数据输入时序图
6.1.1.4.1 ISERDES输出数据时序
图 ISERDES数据输出时序图
对于ISERDES来说,输入到输出存在一定延迟,这个延迟取决于DATA_RATE,DATA_WIDTH,SERDES_MODE属性。所谓延迟具体是指快时钟(CLK)采集数据位样本之后,该数据位出现在Q输出上所需的慢时钟(CLKDIV)周期数。
表 ISERDES延迟值
Date_Rate
SERDES_MODE
存储器模式的延迟 SDR DDR
6.1.2 单个ISERDES单元设计(DDR) 6.1.2.1 ISERDES配置参数
1个CLKDIV周期 1个CLKDIV周期 网络模式的延迟 2个CLKDIV周期 2个CLKDIV周期 6.1.2.2 设计思想
6.1.2.3 仿真结果
6.1.3 ISERDES宽度扩展
构建大于1:6的串并转换器需要两个ISERDES模块。每个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单元设计
图 扩展后的拼接输出
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)是字符串SDR(单倍数据速率)DDR 在相对于CLK的或者DDR(双倍数据速率) 每个时钟边沿还是时钟的上升沿变化。 DATA_RATE_TQ 定义三态(TQ)是字符串SDR、DDR或者DDR 相对于时钟的每BUF。 个时钟边沿还是时钟的上升沿变化,或者是缓冲期
设置。 DATA_WIDTH 定义并串数据转整数:2、4、6、7、8或者4 换器的宽度。此值10还取决。如果于DATA_RATE_OQ==DDR,DATA_RATE_OQ则此值限制为4、6、8或10。 的值。 如果DATA_RATE_OQ==SDR,则此值限制为2、3、4、5、6、7、8。 当DATA_WIDTH设置值大于6时,必须将一对OSERDES配置成主从配置。 SERDES_MODE 当使用宽度扩展字符串:MASTER或MASTER 时,定义SLAVE。 OSERDES模块是主模块还是从模块。 TRISTATE 定义三态转换器整数:1或4。如果4 的宽度。 DATA_RATE_TQ==DDR,则此值限制为4。如果DATA_RATE_TQ==SDR或BUF,则此值限制为1。
6.2.1.2 设计思想
设计中将外部输入的复位信号进行异步复位,同步释放处理。OSERDES基元外部的并行数据直接进入OSERDES。将OSERDES属性配置为SDR,
DATA_WITH==6,即6:1并串转换器件。OSERDES的串行数据直接作为模块数据。
6.2.1.3 仿真结果
创建test_betch平台,生成激励。仿真结果如图XX和图XX。从图上分析可知,有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的并串转换输出延迟为clkdiv采集到有效并行数据之后的5个clk周期(即之后的第五个clk上升沿驱动出第一位有效串行数据)有效串行数据出现在OQ上。
15 12 7 1e 1a
图 ××OSERDES配置为SDR仿真结果
6.2.1.1 OSERDES基元SDR模式时序
6.2.2 单个OSERDES单元设计(DDR) 1e
6.2.2.1 OSERDES配置参数
6.2.2.2 设计思想
设计中将外部输入的复位信号进行异步复位,同步释放处理。OSERDES基元外部的并行数据直接进入OSERDES。将OSERDES属性配置为DDR,DATA_WITH==6,即6:1并串转换器件。OSERDES的串行数据直接作为模块数据。
6.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,其他依次,那么可以看成OSERDES是从并行数据的低位开始并串转换的;oce为输出数据有效时钟使能。注意,该设计中配置为DDR(OSERDES默认为DDR),则OSERDES的并串转换输出延迟为clkdiv采集到有效并行数据之后的5个clk周期(即之后的第五个clk上升沿驱动出第一位有效串行数据)有效串行数据出现在OQ上。补充说明,刚刚提到的并串转换延迟,对6:1并串转换,DDR模式的情况下,从给出第一个有效并行数据,到该并行数据转为串行数据后的第一位有效串行数据出现在OQ上的延迟为1个clkdiv+3个clk,关于延迟的其他情况的描述参考表××中所述。
DDR模式下,在复位失效后,至少延迟一
个clkdiv之后再给出有效的并行数据
15 12 7
1e 1a
图×× 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扩展Slave
6.2.3.1 仿真结果
52 127 117
图 ××OSERDES基元位宽扩展仿真结果
由上仿真图可知,位宽扩展为8:1的并串转换器的延迟为1个clkdiv+6个clk,即clkdiv采集到第一个有效并行数据后的第6个clk的上升沿,并串转换后
的串行数据出现在OQ上。
另外,上述仿真中的SHIFTOUT1和SHIFTOUT2为啥存在不定态。??? 遗留问题:如果需要将OSERDES并串转换后的串行数据在重新拼接起来,该如何实现???
正在阅读:
机电专业新员工个人年终工作总结08-23
一年级美术下册教案浙美版新06-24
湖北省粮食安全保障体系研究04-17
小学语文五年级上册句子专项训练100题09-22
教师资格证结构化面试真题04-25
农民工三级安全教育试卷10-03
图形创意授课教案09-04
贵州省高等学校中、高级教师职务11-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 要点
- 手册
- 图文
- SERDES
- 设计
- FPGA
- 四年级英语下册第十二周周周清
- 1947年中华民国宪法(全)
- 试析大学生网络暴力行为的差异性
- 如何送替身和化解小儿关煞
- 人类生存与环境保护 论文
- 警惕!勿陷入国家公务员备考五大误区 - 图文
- 生理英文名词解释
- 2.1.2指数函数及其性质教案(第一课时)
- 广西南宁市第八中学2015-2016学年高二上学期期末考试试题
- 2011年黑龙江哈尔滨市中考化学试卷
- 《儒林外史》名著阅读题
- 经济法复习题及答案Microsoft Word 文档 (2)
- 2017-2018小学数学教研活动记录
- 金属学与热处理课后习题答案(崔忠圻版)
- 城市污水厂剩余污泥制备活性炭的研究——陈俊
- 最全建筑企业挂靠经营的法律风险及其控制办法
- 高考作文试题分析及应试策略研究 1500字
- IDC机房设计建设方案
- 风险管理历年试卷及详解六
- 天气图分析与短期天气预报上部-