Xilinx可编程逻辑器件设计与开发(基础篇)连载15:Spartan
锁存器。
异步/组合逻辑。
图2-43 OLOGIC2 逻辑模块
(1) 组合数据输出和三态控制路径。
当有下列情况之一时,软件会自动生成组合通路,将FPGA 内部数据直接输出到输出驱动器或驱动器的控制端。
FPGA 内部逻辑数据直接输出到输出驱动器或驱动器的三态控制端,而没有经过寄存器。
"打包I/O 寄存器/锁存器到IOB 中"的属性设置为OFF。
(2) ODDR模式。
Spartan-6器件的OLOGIC2中具有专用寄存器,用来实现DDR输出寄存器。例化ODDR2原语可以使用此功能。当使用OLOGIC2时,会自动使用多路复用器,多路复用器的控制端产生于时钟信号,不需要手动控制。ODDR2 有两个时钟输入,相位差180°。
ODDR2 支持以下操作模式。
NONE 模式:允许设计人员在C0 和C1 时钟的上升沿将两个数据通过DDR多路复用器送至输出引脚,如图2-44所示。
图2-44 DDR_ALIGNMENT=NONE 下的ODDR2
C0模式:在时钟C0上升沿时,将两个数据通过DDR多路复用器送至输出引脚。
C1模式:在时钟C1上升沿时,将两个数据通过DDR多路复用器送至输出引脚。
ODDR原语如图2-45所示。
图2-45 ODDR原语
五、 可编程延迟单元IODELAY2
每个IOB包含一个延时单元,可以配置成输入延时或者输出延时,当引脚用作双向口时,还可以通过T端来控制输入/输出延时的切换。Spartan-6中IODELAY2的延时不会自动补偿温度或电压带来的延时差异,但是用户可以通过精确计算,来设置IODELAY2的具体延时值。
图2-46所示为延时单元的结构图。8位延时值对应0~255个延时Tap,该延时值最低三位控制RING晶振的起始点。该晶振由输入信号触发,经过0~7个Tap的延时之后,其输出作为时钟,用来钟控5位计数器。5位计数器中装载了延时值的高5位,它会一直在0~31循环,直到它的输出翻转到最初输入到该模块时的输入值Data Input。延时精度范围为1~255TAP。
图2-46 延时单元的结构图
此延时单元有两个局限,第一,延时最大值为1个位周期,超过此限制,接收数据会出错;第二,在下一个边沿到来之前,必须完成对第一个边沿的处理,这种情况会发生在接收高速数据流时。
如何避免上述两个局限呢?
对于第一个限制,通过确保延时值小于一个输入数据的位周期(1UI)就可以避免,通常设置为0.5UI,使数据采样点位于眼图的中心。
对于第二个限制,可以通过图2-47所示的两个延时链解决。一个延迟链延时输入数据的正值部分,另一个延时链延时输入数据的负值部分,这个处理机制的价值在于:通过设置两个延迟链的不同延时值,校正了输入数据的占空比。读者可以在设计中调用IODRP2原语使用此功能。
图2-47 每个延时模块使用两个延时链
六、 SelectIO的高级特性
除了上述SelectIO资源之外,Spartan-6还提供了更高级的逻辑特性,介绍如下。
(1) 串并转换器ISERDES2。
图2-48和图2-49分别为ISERDES2接收串行数据时的逻辑框图和时序图,利用ISERDES2将串行数据接收为4位并行数据。从时序图中可以看到,Bitslip为4位数据的同步使能控制信号。
图2-48 ISERDES2逻辑框图
图2-49 ISERDES2时序图(1:4)
ISERDES2可以实现1:2、1:3或1:4串并转换器功能,而且通过级联的方式还可以实现1:5、1:6、1:7、1:8串并转换器功能。
(2) 并串转换器OSERDES2。
图2-50与图2-51分别为OSERDES2的逻辑框图和时序图,利用OSERDES2将4位并行数据转换为串行数据输出。
一个OSERDES2可以实现2:1、3:1、4:1并口转换功能。当用差分输出时,相关的2个IOB中的OSERDES2可以级联,从而可以实现5:1、6:1、7:1和8:1并串转换功能。
设计者可以在HDL设计中,例化ISERDES2/OSERDES2原语来实现输入数据解串和输出数据串行化操作。
利用这些资源,可以很方便地实现高速串行数据的收发,例如用它实现LVDS接口。
更多资料请参考附带光盘中的《Spartan-6 IO资源用户手册》。
图2-50 OSERDES2逻辑框图
图2-51 OSERDES2时序图(4:1)
- 可编程逻辑控制器(PLC)基本操作及功能简介(03-07)
- 基于可编程逻辑器件的数字电路设计(10-16)
- 基于CPLD的机载雷达控保系统设计与实现(10-29)
- 德州仪器可编程逻辑和自动化控制器(PLC/PAC)解决方案(11-03)
- 基于Xilinx(赛灵思) CPLD的看门狗电路设计(10-09)
- 莱迪思技术专家分享:基于FPGA的视频监控时代(02-21)