-
编
号:
版
本:
V0.2
页
数:共
页
密
级:
SERDES FPGA
设计手册
更改记录
拟制
/
版本
V0.1
V0.2
更改
兜福
兜福
审核
批准
生效日期
2013.7.19
2013.9.11
更改内容
创建文档
添加补充了
OSERDES
部分,
未完待续;
注:<
/p>
作者兜福邮箱:
zouxingyu705@
,多多交流,共同进步。
目录
SERDES FPGA
设计手册
.
..................................................
.................................
1
目录
..
..................................................
..................................................
..........
2
1
2
3
目的
..
..................................................
................................................
5
范围
..
..................................................
................................................
5
术语
..
..................................................
................................................
5
4
p>
SERDES
基础知识
.........
..................................................
...............................
5
5
p>
SERDES
应用指南
.........
..................................................
...............................
5
5.1
ISERDES ...............................
..................................................
..........
5
5.1.1
ISERDES
基元
.......
..................................................
..................
5
5.1.2
ISERDES
基元的时钟解决方案
...............................................
9
5.2
OSERDES
.
........
..................................................
.............................
1
0
5.2.1
OSERDES
组成功能模块
.
..............................
.........................
1
0
5.2.2
OSERDES
基元
.
..................................
.....................................
1
2
5.2.3
OSERDES
基元的时钟解决方案
.
...........................
................
1
3
6
SERDES
应用指南
.................................
..................................................
.....
1
4
6.1
ISERDES
设计
.......
..................................................
.......................
1
4
6.1.1
单个
ISERDES
单元设计
(SDR)
.
....................................
.........
1
4
6.1.1.1ISERDES
配置参数
..
..................................................
.....
1
4
6.1.1.2<
/p>
设计思想
.........................
.................................................
1
7
6.1.1.3
仿真结果
...............................
...........................................
1
7
6.1.1.4ISERDES
数据时序
.......................
..................................
1
8
6.1.1.4.1ISERD
ES
输入数据时序
......................................
1
8
6.1
.1.4.1ISERDES
输出数据时序
......................................
1
9
6.1.2
单个
ISERDES
单元设计
(DDR)
.............................................
2
0
6.1
.2.1ISERDES
配置参数
............
.............................................
2
0
6.1.2.2
设计思想
...............................
...........................................
2
0
6.1.2.3
仿真结果
...............................
...........................................
2
0
6.1.3
ISERDES
宽度扩展
.....
..................................................
..........
2
0
6.1.3.1
< br>设计实例
................................
..........................................
2
1
6.1.3.2
仿真结果
...............................
...........................................
2
4
6.2
OSERDES
设计
.
..................................
............................................
2
4
6.2.1
单个
OSERDES
单元设计
(SDR)
............................................
2
4
6.2
.1.1OSERDES
配置参数
.
.......................................
................
2
4
< br>6.2.1.2
设计思想
..............
..................................................
..........
2
6
6.2
.1.3
仿真结果
....................
..................................................
....
2
7
6.2.1.1OS
ERDES
基元
SDR
模式时序
......................................
2
7
6.2.2
单个
OSERDES
单元设计
(DDR)..........
..................................
2
7
6.2
.2.1OSERDES
配置参数
.
.......................................
................
2
8
< br>6.2.2.2
设计思想
..............
..................................................
..........
2
8
6.2
.2.3
仿真结果
....................
..................................................
....
2
8
6.2.2.1OS
ERDES
基元
SDR
模式时序
......................................
2
9
6.2.3
OSERDES
宽度扩展
.
................................
...............................
2
9
6.2
.3.1
设计实例
....................
..................................................
....
2
9
6.2.3.1
p>
仿真结果
..........................
................................................
3
1
1
目的
为了学习
xilinx serdes
原语的使用,以及交流学习经验,在工程项目中方便
的应用
SE
RDES
进行设计,故编写此文档。
2
范围
<
/p>
本文档所介绍的
SERDES
原语内容,
适用于
Xilinx V5
系列器件。
3
术语
ISERDES
:串并转换器。
OSERDES
:并串转换器。
4
SERDES
基础知识
待补充。
5
SERDES
应用指南
5.1
ISERDES
5.1.1
I
SERDES
基元
图
1
ISERDES
基元
图
2
ISERDES
内部组成单元结构框图
图
3 <
/p>
当使用
Memory
模型是
ISERDES
内部的连接情况
表
1
ISERDES
端口列表
Port Name
Q1-Q6
SHIFTOUT1
Type
Output
Output
Width
1(each)
1
Description
寄存器输出
进位输出,用于数据宽度的扩展。连
接到从
IOB
的
SHIFIN1
。
SHIFTOUT2
Output
1
进位输出,用于数据宽度的扩展。连
接到从
IOB
的
SHIFIN2
p>
。
BITSLIP
CE1
CE2
CLK
Input
Input
1
1(each)
启动
bitslip
操作
时钟使能输入
Input
1
高速时钟输入,对串行输入数据流进
行时钟控制。
CLKB
Input
1
< br>高速时钟第二输入,对串行输入的数
据流进行时钟控制。总是连接
~CLK
。
CLKDIV
Input
1
< br>时钟
CLK
的分频时钟,
取决于
解串的
数据宽度。
控制着延迟单元、
解串数据、
Bitslip
子模块和
C
E
单元进行时钟控制。
D
OCLK
Input
Input
1
1
来自
IOB
的串行输入数据。
用于存储器
应用的高速时钟输入,该
信号只有在
INTERFACE_TY
PE
属性
配置为
(
时,才可用;配
置为
”
NETWO
RKING
”
时,直接赋
0
值即可。
SHIFTIN1
Input
1
用于数据扩展的进位
输入,连接到主
IOB
的
SHIFTO
UT1
。
SHIFTIN2
Input
1
用于数据扩展的进位
输入,连接到主
IOB
的
SHIFTO
UT2
。
RST
Input
1
异步复位输入,高有效。
表
2
ISERDES
属性列表
Atrribute Name
BITSLIP_ENABL
E
Eescription
允许用户使用或者忽略
V
alue
字符串:
TURE
Default
Value
FALSE
bitslip
子模块。
该属性在
或
FALSE
INTERFACE_TYPE
属
性配
置为
MEMORY
时
必须配置为
FALSE
,在
配置为
NETWORKING
时必须配置为
TURE
。
DATA_RATE
允
许将输入的数据流作
为
”
DDR
”
或者
”
SDR
p>
”
来
进行处理。
字符串:
DDR
或
DDR
SDR
DATA_WIDTH
定义串并转换的宽度,
合法的值取决于
DATA_RA
TE
的配置
(
SDR
< br>或者
DDR
)
。
如果
DATA_RATE
=
DDR
,则此值限
制为
4
、
6
、
8
或
10
。如果
DATA_RATE =
SDR
,则此值限
制为
2
、
3
、
4
、
5
、
6
、
7
或
8
。
4
INTERFACE_TYP
E
选择
ISERDES
的使用说
字符串:
明
MEMORY
或
NETWORKING
MEMORY
NUM_CE
SERDES_MODE
定义时钟使能数
当使用宽度扩展时定
义
SERDES
是主模块,还
是从模块
。
整数:
1
或
2
字符串:
MASTER
或
SLAVE
。
2
MASTER
表
3
推荐的数据宽度配置
5.1.2
I
SERDES
基元的时钟解决方案
CLK
和
CLKDIV
的相位关系,在
串并转换的过程中是非常重要的。
CLK
和
CLKDIV
的相位关系应该是理想对齐的。
FPGA
p>
中存在这样的时钟模块单元来设
计满足
CL
K
和
CLKDIV
的相位关系。
在
networking
< br>模式下,解决时钟相位关系的唯一办法是:
?
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
,如果使用“
OSE
RDES
宽度扩展,则是
10
:
1
”
。三态串行化可达
4
:
1
。
5.2.1
O
SERDES
组成功能模块
图
OSERDES
功能框图
在
OSERDES
< br>并串转换过程中,并行数据串行化是从数据引入引脚的最低位
到最高位的顺序进行
的(即
D1
输入引脚上的数据传输到
O
Q
引脚的首位)
。
OSERDES
使用
CLK
和
CLKDIV
两个时
钟进行数据速率转换。
CLK
是高速
串
行时钟;
CLKDIV
是分频并行时钟。假定
< br>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
和
DA
TA_WIDTH
属性。
延迟的定义是,并行数据样本输入
OSERDES
所需的慢时钟
(CLKDIV)
周期数,
后加
OSERDES
在并行数据采样之后将第一个串行数据
送入
OQ
输出所需的快时
钟
(CLK)
周期数。表××概述了各种
OSERD
ES
延迟值。
5.2.2
O
SERDES
基元
图
oserdes
基元
端口名称
OQ
类型
输出
output
宽度
1
描述
数据通路输出,并转串后的串行输
出。
SHIFTOUT1
输出
1
数据宽度扩展的进位输出,连接到
主
OSERDES
的
SHIFTIN1
。
SHIFTOUT2
输出
1
数
据宽度扩展的进位输出,连接到
主
OSERDES
的
SHIFTIN2
。
TQ
CLK
输出
输入
1
1
三态控制输出
高速时钟输入,驱动并
串转换器的
串行侧。
CLKDIV
输入
1
分
频时钟输入。对延迟单元,解串
数据,
Bitslip
自模块和
CE
单元进行
时钟控制。
为
CLK
端口所连接时钟<
/p>
的分频版本,分频大小根据数据转
换宽度而定。
< br>CLKDIV
驱动驱动并
串转换器的并行侧。
D1-D6
输入
1/port
并行数据输入。
D1
将最先出现在串
< br>行输出口
OQ
上。所有并行数据全
通过
D1-D6
进入
OSERDES
模块。
OCE
输入
1
输出数据时钟使能,高有效。
该信号
可以作为输入
OSERDES
基
元内的
并行数据的同步有效标志,
并可以同时输出到接收转换后的串
行
数据的一方,作为一个有效数据
的起始位置的判断标志。
REV
输入
1
反转
SR
引脚。
OSERDES
模块中没
有此端
口。
SHIFTIN1
输入
1
数
据宽度扩展的进位输入,连接到
从
OSERDES
的
SHIFTOUT1
。
SHIFTIN2
输入
1
数据宽度扩展的进位输入,连接到
从
OSERDES
的
SHIFTOUT
2
。
SR
输入
1
设
置
/
复位。在
OSERDES
模块中,
此引脚只作为异步复位。
T1-T4
输入
1/port
并行三态输入。
所有并
行三态信号,
都
通
过
< br>端
口
T1
到
T4
进
入
OSERDES
模
块
。
此
端
口
连
接
< br>到
FPGA
内部资源,可以配置成一位
< br>或者四位。
TCE
5.2.3
O
SERDES
基元的时钟解决方案
输入
1
三态控制通路时钟使能,高有效。
6
SERDES
应用指南
6.1
ISERDES
设计
6.1.1
单
个
ISERDES
单元设计
(SDR
)
6.1.1.1
ISERDES
配置参数
Iserdes
仿真设计的练习中将
iserde
s
的参数配置为图
XX
中的参数,具体
参
数释义如表
XX
所示。
图
XX
表
XX
参数
BITSLIP_ENABLE
值
TRUE
意义
Bitslip
控制器的使能。
p>
如果
INTERFACE_TYPE
配置为
memory
,
则
必
须
配
置
为
FALSE
;
如果
INTERFACE_TYPE
配置为
networking
,则必须
配置为
TURE
。在本次设计里
将
接
口
类
型
p>
配
置
为
了
networking
类型。
指
定
将
输
入
的
数
据
作
为
”
SDR
”
或
是
”
DD
R
”
处
理。
DATA_RATE
SDR
SDR ---
单倍数据数据;
DDR ---
双倍数据速率;
<
/p>
本
设
计
中设
p>
置
为单
倍
数
据速率,即
SDR
。
使用的数据传输模型。
可选配置为:
---
需
要
用
INTERFACE_TYPE
NETWORKING
到
OCLK
;
---
不
需
要用到
OCLK
;
< br>本
设
计
中
配
置
为
NETWORKING
。
IOBDELAY
IOBDELAY_TYPE
IODELAY_VALUE
NONE
DEFAULT
0
待补充
待补充
待补充
定
义
设
计中
使
用的
时
钟
使
能
p>
的
个数
。
具体
p>
参
考
NUM_CE
1
ISERDES
结构中的时钟
p>
模块的时钟使能
CE1
和
< br>CE2
设计。
本设计配置为
”
1
”
,
使用一
个时钟使能。
设置当前
SERD
ES
的身
份,主或从。
可
选
配
置
< br>:
”
MASTER
”
SERDES_MODE
MASTER
or
”
SLA
VE
”
.
本
设
计
中
配
置
为
MASTER
,
即没有进行级
联设计。
参数
值
意义
Bitslip
控制器的使能。
p>
如果
INTERFACE_TYPE
配置为
memory
,
则
必
须
配
置
为
FALSE
;
如果
< br>INTERFACE_TYPE
BITSLIP_ENABLE
TRUE
配置为
network
ing
,则必须
配置为
TURE
。在本次设计里
将
接
口
类
型
配
置<
/p>
为
了
networking
类型。
指
定
将
输
入
的
< br>数
据
作
为
”
SDR
”
或
是
”
DDR
”
处
理。
DATA_RATE
SDR
SDR ---
单倍数据数据;
DDR ---
双倍数据速率;
本
< br>设
计
中设
置
为单
倍
数
据速率,即
SDR
。
使用的数据传输模型。
可选配置为:
INTERFACE_TYPE
NETWORKING
---
p>
需
要
用
到
OCLK
;
---
不