PAL与NTSC的水平同步信号与垂直同步信号
时间:10-02
整理:3721RD
点击:
下面是友晶官方提供的PAL与NTSC信号格式的检测代码:
module TD_Detect(
iTD_VS,
iTD_HS,
iRST_N,
oTD_Stable,
oNTSC,
oPAL
);
input iTD_VS;//垂直同步信号
input iTD_HS;//水平同步信号
input iRST_N;
output oTD_Stable;//判断信号是否稳定
output oNTSC;//NTSC视频格式标志位
output oPAL;//PAL视频格式标志位
reg NTSC;
reg PAL;
reg Pre_VS;//通过判断垂直同步信号来判断视频格式
reg [7:0] Stable_Cont;
assign oTD_Stable = NTSC || PAL;
assign oNTSC = NTSC;
assign oPAL = PAL;
always@(posedge iTD_HS or negedge iRST_N)//检测水平同步信号上升沿
begin
if(!iRST_N)
begin
Pre_VS =4 && Stable_Cont =8'h14 && Stable_Cont<=8'h1f))//20-31
PAL <= 1'b1;
else
PAL <= 1'b0;
end
end
end
endmodule
请大神结合水平信号同步与垂直信号同步给讲解一下上面代码标红部分的意思。
8'h1 8'h1f 是怎么得来的?
还有
if(!iTD_VS)//低电平有效
Stable_Cont <= Stable_Cont+1'b1;
else
Stable_Cont <= 0;
这部分不是当 来一个垂直同步信号(低电平有效) 开始计数,由于其always中的敏感信号是iTD_HS,所以我的理解就是 Stable_Cont只能是0或者1,Stable_Cont不能继续执行计数。
请大神指点。
程序很简单,就是在垂直同步信号底时数有多少个,水平同步信号。p和n格式的个数不一样。在Stable_Cont<=0的同时还做了判断v语言没问题,c不行