威三电子  

               威三电子

HDMI数据的接收发送实验(十三)

2026-07-15 09:16:06

浏览:

一、    概况HDMI信号进入FPGA后,需要通过ISERDESE2原语将高速串行差分信号转换为并行数据。本文档详细描述了HDMI输入配置中的串转并过程,包括


一、    概况

HDMI信号进入FPGA后,需要通过ISERDESE2原语将高速串行差分信号转换为并行数据。本文档详细描述了HDMI输入配置中的串转并过程,包括ISERDESE2原语的配置、主从级联方式、以及通过控制字符进行数据对齐的方法。

二、          ISERDESE2原语串转并

ser2par模块负责将差分信号转化为10bit的视频信号,主要用到ISERDESE2原语和IDELAYE2原语,接口列表如下:

信号名称

输入输出

位宽

备注

pixel_clk

Input

1

像素时钟

pixel_clk_5x

Input

1

5倍的像素时钟

rst_n

Input

1

低电平有效复位

ser_dat_p

Input

1

差分信号p

ser_dat_n

Input

1

差分信号n

pixel_10bit

output

10

10bit信号输出

首先将差分信号通过IBUFDS转化为单端信号,再通过ISERDESE2原语将单bit数据转化为10bit数据。

三、          ISERDESE2原语配置

3.1、原语例化模版

         以下是ISERDESE2原语的例化模板(MASTER模式):

ISERDESE2 #(

.DATA_RATE('DDR'),           // DDR, SDR

.DATA_WIDTH(10),              // Parallel data width (2-8,10,14)

.DYN_CLKDIV_INV_EN('FALSE'), // Enable DYNCLKDIVINVSEL inversion (FALSE, TRUE)

.DYN_CLK_INV_EN('FALSE'),    // Enable DYNCLKINVSEL inversion (FALSE, TRUE)

// INIT_Q1 - INIT_Q4: Initial value on the Q outputs (0/1)

.INIT_Q1(1'b0),

.INIT_Q2(1'b0),

.INIT_Q3(1'b0),

.INIT_Q4(1'b0),

.INTERFACE_TYPE('NETWORKING'),   // MEMORY, MEMORY_DDR3, MEMORY_QDR, NETWORKING, OVERSAMPLE

.IOBDELAY('NONE'),           // NONE, BOTH, IBUF, IFD   //

.NUM_CE(2),                  // Number of clock enables (1,2)

.OFB_USED('FALSE'),          // Select OFB path (FALSE, TRUE)

.SERDES_MODE('MASTER'),      // MASTER, SLAVE

// SRVAL_Q1 - SRVAL_Q4: Q output values when SR is used (0/1)

.SRVAL_Q1(1'b0),

.SRVAL_Q2(1'b0),

.SRVAL_Q3(1'b0),

.SRVAL_Q4(1'b0)

)

ISERDESE2_MASTER_inst (

.O(O),                       // 1-bit output: Combinatorial output

// Q1 - Q8: 1-bit (each) output: Registered data outputs

.Q1(par_dat[7]),

.Q2(par_dat[6]),

.Q3(par_dat[5]),

.Q4(par_dat[4]),

.Q5(par_dat[3]),

.Q6(par_dat[2]),

.Q7(par_dat[1]),

.Q8(par_dat[0]),

// SHIFTOUT1, SHIFTOUT2: 1-bit (each) output: Data width expansion output ports

.SHIFTOUT1(shift_dat[0]),

.SHIFTOUT2(shift_dat[1]),

.BITSLIP(1'b0),           // 1-bit input: The BITSLIP pin performs a Bitslip operation synchronous to

                           // CLKDIV when asserted (active High). Subsequently, the data seen on the Q1

                           // to Q8 output ports will shift, as in a barrel-shifter operation, one

                           // position every time Bitslip is invoked (DDR operation is different from

                           // SDR).

 

// CE1, CE2: 1-bit (each) input: Data register clock enable inputs

.CE1(1'b1),

.CE2(1'b1),

.CLKDIVP(1'b0),           // 1-bit input: TBD

// Clocks: 1-bit (each) input: ISERDESE2 clock input ports

.CLK(pixel_clk_5x),                   // 1-bit input: High-speed clock

.CLKB(~pixel_clk_5x),                 // 1-bit input: High-speed secondary clock

.CLKDIV(pixel_clk),             // 1-bit input: Divided clock

.OCLK(1'b0),                 // 1-bit input: High speed output clock used when INTERFACE_TYPE='MEMORY'

// Dynamic Clock Inversions: 1-bit (each) input: Dynamic clock inversion pins to switch clock polarity

.DYNCLKDIVSEL(1'b0), // 1-bit input: Dynamic CLKDIV inversion

.DYNCLKSEL(1'b0),       // 1-bit input: Dynamic CLK/CLKB inversion

// Input Data: 1-bit (each) input: ISERDESE2 data input ports

.D(ser_dat),                       // 1-bit input: Data input

.DDLY(ser_dat),                 // 1-bit input: Serial data from IDELAYE2  //

.OFB(1'b0),                   // 1-bit input: Data feedback from OSERDESE2

.OCLKB(1'b0),               // 1-bit input: High speed negative edge output clock

.RST(init_rst),                   // 1-bit input: Active high asynchronous reset

// SHIFTIN1, SHIFTIN2: 1-bit (each) input: Data width expansion input ports

.SHIFTIN1(1'b0),

.SHIFTIN2(1'b0)

); 

3.2、属性配置说明

         ISERDESE2属性详细说明如下表所示:

 

属性名称

描述

取值范围

默认值

DATA_RATE

输入的数据流处理模式

DDR or SDR

DDR

DATA_WIDTH

定义串并转换器的位宽。取值范围取决于DATA_RATE的属性(DDR or SDR

DATA_RATE=DDR:

4681014

DATA_RATE=SDR:

2345678

4

DYN_CLKDIV_INV_EN

控制CLKDIV是否进行取反操作,选择TURE时:

DYN_CLK_INV_EN只能为FALSE

TURE or FALSE

FALSE

DYN_CLK_INV_EN

控制CLK是否进行取翻操作,选择TURE时:

DYN_CLKDIV_INV_EN只能为FALSE

TURE or FALSE

FALSE

INTERFACE_TYPE

ISERDESE2的使用模式

MEMORYMEMORY_DDR3

MEMORY_QDRNETWORKINGOVERSAMPLE

MEMORY

NUM_CE

定义时钟使能的数量

1  or  2

2

OFB_USED

禁用D输入引脚

TURE or FALSE

FALSE

SERDES_MOOE

使用扩展宽度时定义此模块为主模块还是从模块

MASTER or SLAVE

MASTER

INIT_Q1~Q4

设置***个采样寄存器的初始值

0 or 1

0

SRVAL_Q1~Q4

设置第二个采样寄存器复位后的值

0 or 1

1

IOBDELAY

确定ISERDESE2的输入应用在DDLAY端口,详情如图7所示

NONEIBUFIFDBOTH

NONE

6

3.3IOBDELAY路径选择

 

DDDRY引脚是ISERSES2的专用输入,D引脚为IOB的直接连接,DDLY引脚与IDELAYE2直接连接。IOBDELAY的配置决定了数据和延时路径的选择。

IOBDELAY的值

组合路径(O

已注册(Q1~Q8


NONE

D

D


IBUF

DDLY

D


IFD

D

DDLY


BOTH

DDLY

DDLY


7

四、接口信号说明

ISERDESE2的接口信号定义如下表所示:

信号名称

输入输出

位宽

描述

Q1~Q8

Output

1

串并转换器的输出,Q8为输出数据的***位

O

Output

1

组合输出端口,表示未寄存的输出

SHIFTOUT1

Output

1

进行数据宽度扩展,例如1b10b时,主模块的2bit数据通过此端口与从模块的SHIFTIN1连接,使从模块与主模块进行级联

 

SHIFTOUT2

Output

1

D

Input

1

来自IOB的串行输入数据

DDLY

Input

1

来自IDELAYE2的串行输入数据

CLK

Input

1

高速时钟输入

CLKB

Input

1

第二个高速时钟输入,仅适用于MEMORY_QDY模式,否则始终连接反向CLK

CE1CE2

Input

1

时钟使能

RST

Input

1

高有效复位信号

CLKDIV

Input

1

分频时钟输入,通常为CLK的分频版本

CLKDIVP

Input

1

仅通过MIG工具支持,只在MEMORY_DDR3模式可使用,其他模式为接地状态。

OCLK

Input

1

时钟输入信号,NETWORKING模式用不到

OCLKB

Input

1

OCLK的反向时钟

BITSLIP

Input

1

用于划位操作

SHIFTIN1

Input

1

对于从模块来说,此端口连接主模块SHIFTOUT1

SHIFTIN2

Input

1

对于从模块来说,此端口连接主模块SHIFTOUT2

OFB

Input

1

只与OSERDESE2OFB端口配合使用

DYNCLKDIVSEL

Input

1

动态时钟反向引脚,与DYN_CLKDIV_INV_EN共同控制CLKDIV是否进行取反操作

DYNCLKSEL

Input

1

动态时钟反向引脚,与DYN_CLK_INV_EN共同控制CLK是否进行取反操作

 

五、总结

         本章节主要介绍了ISERDESE2原语的例化接口,并对原语的属性配置,和接口信号进行了说明,每个原语能转化8个单bit数据,剩下两个单bit数据需要增加一个ISERDESE2从原语。后面再对两个原语的级联方式做介绍。


本文章由威三学院出品

对课程感兴趣可以私信联系

0
HDMI数据的接收发送实验(十三)
一、    概况HDMI信号进入FPGA后,需要通过ISERDESE2原语将高速串行差分信号转换为并行数据。本文档详细描述了HDMI输入配置中的串转并过程,包括
长按图片保存/分享

北京威三电子科技有限公司

突破技术壁垒,芯创智联领航未来

 


北京威三电子科技有限公司 版权所有
京ICP备2026012969号
 

热线:

159-2199-9232

 

图片展示

淘宝店铺:

威三科教

地址:

北京市延庆区辰龙国际6号楼406室

微信公众号:

北京威三电子科技有限公司 

热线:159-2199-9232

淘宝店铺:威三科教

地址:北京市延庆区辰龙国际6号楼406


微信公众号

图片展示
北京威三电子科技有限公司 版权所有| 京ICP备2026012969号
微信公众号
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
客服中心
热线电话
15921999232
上班时间
周一到周五
二维码
扫码关注
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功!
添加微信好友,详细了解产品
我知道了