wire freeze;
assign freeze = ~sys_key0;
i2cSlave i2cSlave_m0(
.clk(clk),
.rst(~rst_n),
.sda(sda),
.scl(scl),
.freeze()
);
bt656_decode bt656_decode_m0(
.clk(cvbs_in_clkn),
.bt656_in(freeze ? 8'd0 : vin_ch0_data),
.yc_data_out(ch0_yc_data),
.vs(ch0_vs),
.hs(),
.field(ch0_f),
.de(ch0_de),
.is_pal(is_pal[CH0-1])
);
freeze的原理,就是当按键按下时,输入给BT656解码行场,YCBCR数据的模块全为0,自然不能产生VS,HS,DE等信号,VIDEO_PROC模块没有这些信号,DDR是不能改写的,而输出显示是自己产生的VS,HD等信号,这样画面就被FREEZE了。