首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Xilinx FPGA中的OSERDESE2介绍

Xilinx FPGA中的OSERDESE2介绍

作者头像
FPGA技术江湖
发布2026-06-08 10:49:18
发布2026-06-08 10:49:18
160
举报

本篇主要是Xilinx FPGA中的OSERDESE2介绍。

什么是oserdese2?

将FPGA内部的并行数据,变为串行发出去的一块硬件电路(是asic 电路,不是由FPGA可编程逻辑构成)。

为什么不直接使用FPGA可编程逻辑构成?

当需要输出的串行数据的速度超过200Mbps时,FPGA可编程逻辑构成的电路就基本无法实现了(不同的FPGA能够实现的速度不同,但是一般很少能超过200Mbps),所以就需要一块专门的电路用于输出高速度串行数据。

oserdese2输出数据的类型有SDR模式、DDR模式。

SDR模式可以选择并串比例为:2、3、4、5、6、7、8比1。即内部并行的速率为输出速率2、3、4、6、7、8分之一,但是内部并行数据的位宽为2、3、4、5、6、7、8。

例:内部数据并行位宽为8bit,速率为100M。通过oserdese2后,可以变为串行数据,位宽为1bit,速率为800M。需要给oserdese2提供100M的时钟用于接收内部的并行数据;需要给oserdese2提供800M的时钟用于发送串行数据。

DDR模式可以选择并串比例为:4、6、8、10、14比1。即内部并行的速率为输出速率4、6、8、10、14分之一,但是内部并行数据的位宽为4、6、8、10、14。

例:内部数据并行位宽为8bit,速率为100M。通过oserdese2后,可以变为串行数据,位宽为1bit,速率为800M。需要给oserdese2提供100M的时钟用于接收内部的并行数据;需要给oserdese2提供400M的时钟用于发送串行数据(DDR发送)。

那我们使用时,选择SDR还是DDR呢?

首先根据并串位宽来进行选择,能用DDR时,尽量用DDR,毕竟我们提供的时钟速率会降低一半。

当我们给进去并行数据后,是优先输出低位还是高位?

一块oserdese2电路可以并行输入8bit,它会优先输出连接到D1的那个bit,依次类推,直到D8。如果并行输入4bit,他只会输出到D4就完事了(不清楚的话,可以看看上面的oserdese2的模块图或者波形图)。

一块oserdese2电路只能够并行输入8bit,那么如何实现10bit、14bit的并串转换?

此时需要利用两块oserdese2电路,一块被配置为master模式,一块被配置为slave模式;master模式的电路,负责八个bit,slave模式负责剩下的bit(注意从D3开始连接)。

最终输出还是master的那块电路,但是需要将slave电路的shiftout与master电路的shiftin进行对应连接即可。

oserdese2电路需要一个复位(RST)输入,此RST有何要求?

RST必须同步与FPGA内部的并行数据的时钟;要求在使用oserdese2电路前,要求复位此电路。

特殊使用说明:

一般来说我们oserdese2的输出直接输出给IOB即可,如果需要经过延时单元(Odelaye2),那么输出的话,就不能利用OQ,而需要利用OFB作为电路输出。

如果我们的数据通道为双向时,那么oserdese2输出还是要利用OQ,但是需要同步输出一个三态控制信号TQ(用于连接三态门的控制端)。

OSERDESE2原语还有三态控制输出的功能,那么T1~T4是三态控制信号,与D1~D4数据对应。使用三态功能时,TQ作为串行输出的管脚,用于判断OQ信号此时是作为输入引脚(TQ为高电平)还是输出引脚(TQ为低电平)。

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术江湖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档