目录
模块名 | 子模块 | 功能描述 |
hdmi_colorbar_top | clk | 生成75Mhz、375Mhz时钟 |
video_display | 接收video_driver的位置信息,给出像素值 | |
video_driver | 模拟行时序和场时序,产生video_hs,video_vs,video_de,video_rgb等信号给dvi_transmitter_top | |
dvi_transmitter_top | 8b/10b编码、并转串,串转差分 |
模块名 | 子模块 | 功能描述 |
dvi_transmitter | reset_syn | 产生高复位信号,使编码器encode,并转串模块serializer,串转差分模块TMDS复位 |
encoder | 将R、G、B8位像素值,通过TMDS编码转化成10位数据,降低直流偏置 | |
serializer | 10位数据并行转串行,需要串联两个OSERDESE原语 | |
TMDS | 用OBUFDS将serializer模块的串行数据转换成差分信号 |
声明:本文基于1280*720分辨率下进行时序分析,不同分辨率,时序参数不一样,以下面提供的时序参数为准
//1280*720 分辨率时序参数
parameter H_SYNC = 11'd40; //行同步
parameter H_BACK = 11'd220; //行显示后沿
parameter H_DISP = 11'd1280; //行有效数据
parameter H_FRONT = 11'd110; //行显示前沿
parameter H_TOTAL = 11'd1650; //行扫描周期
parameter V_SYNC = 11'd5; //场同步
parameter V_BACK = 11'd20; //场显示后沿
parameter V_DISP = 11'd720; //场有效数据
parameter V_FRONT = 11'd5; //场显示前沿
parameter V_TOTAL = 11'd750; //场扫描周期
行时序
行同步信号
拉低40个周期
使能信号DE和有效的像素数据
在行显示后沿结束后,开始输出使能信号和像素数据
data_req信号提前一个周期将使能,用于将位置信息(pixel_xpos,pixel_ypos)发送给像素生成模块,获取对应位置的像素值(pixel_data)
行显示前沿
当计数器等于1540-1时,开始行显示前沿,此时video_de拉低,video_rgb等于0,不再生成有效数据,行显示前沿持续110个周期
1540+110=1650,当计数器等于1650-1时,拉低行同步信号
场时序
行同步
持续5个周期
场显示后沿
持续20个行扫描周期,由于前面已经有了5个行扫描周期的帧同步,所以计数器等于25-1=24
有效数据从25到25+720=745,场前沿持续5个行扫描周期。即场计数器等于750-1=749