Update sys.
This commit is contained in:
parent
92f8383029
commit
5bced87dfe
|
@ -32,8 +32,10 @@ always @(posedge clk_vid) begin
|
||||||
reg [7:0] R_gamma, G_gamma;
|
reg [7:0] R_gamma, G_gamma;
|
||||||
reg hs,vs,hb,vb;
|
reg hs,vs,hb,vb;
|
||||||
reg [1:0] ctr = 0;
|
reg [1:0] ctr = 0;
|
||||||
|
reg old_ce;
|
||||||
|
|
||||||
if(ce_pix) begin
|
old_ce <= ce_pix;
|
||||||
|
if(~old_ce & ce_pix) begin
|
||||||
{R_in,G_in,B_in} <= RGB_in;
|
{R_in,G_in,B_in} <= RGB_in;
|
||||||
hs <= HSync; vs <= VSync;
|
hs <= HSync; vs <= VSync;
|
||||||
hb <= HBlank; vb <= VBlank;
|
hb <= HBlank; vb <= VBlank;
|
||||||
|
|
|
@ -73,14 +73,13 @@ always @(posedge CLK_VIDEO) begin
|
||||||
arx <= ARX;
|
arx <= ARX;
|
||||||
ary <= ARY;
|
ary <= ARY;
|
||||||
|
|
||||||
vsize <= vcrop;
|
vsize <= vcrop ? vcrop : vtot;
|
||||||
|
|
||||||
mul_start <= 0;
|
mul_start <= 0;
|
||||||
|
|
||||||
if(!vcrop || !ary || !arx) begin
|
if(!vcrop || !ary || !arx) begin
|
||||||
arxo <= arx;
|
arxo <= arx;
|
||||||
aryo <= ary;
|
aryo <= ary;
|
||||||
vsize <= vtot;
|
|
||||||
end
|
end
|
||||||
else if (vcalc) begin
|
else if (vcalc) begin
|
||||||
if(~mul_start & ~mul_run) begin
|
if(~mul_start & ~mul_run) begin
|
||||||
|
@ -182,7 +181,7 @@ always @(posedge CLK_VIDEO) begin
|
||||||
div_start <= 0;
|
div_start <= 0;
|
||||||
mul_start <= 0;
|
mul_start <= 0;
|
||||||
|
|
||||||
if (!SCALE || !ary_i || !arx_i) begin
|
if (!SCALE || (!ary_i && arx_i)) begin
|
||||||
arxf <= arx_i;
|
arxf <= arx_i;
|
||||||
aryf <= ary_i;
|
aryf <= ary_i;
|
||||||
end
|
end
|
||||||
|
@ -210,48 +209,57 @@ always @(posedge CLK_VIDEO) begin
|
||||||
|
|
||||||
2: begin
|
2: begin
|
||||||
oheight <= mul_res[11:0];
|
oheight <= mul_res[11:0];
|
||||||
|
if(!ary_i) begin
|
||||||
|
cnt <= 8;
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
3: begin
|
||||||
mul_arg1 <= mul_res[11:0];
|
mul_arg1 <= mul_res[11:0];
|
||||||
mul_arg2 <= arx_i;
|
mul_arg2 <= arx_i;
|
||||||
mul_start <= 1;
|
mul_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
3: begin
|
4: begin
|
||||||
div_num <= mul_res;
|
div_num <= mul_res;
|
||||||
div_den <= ary_i;
|
div_den <= ary_i;
|
||||||
div_start <= 1;
|
div_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
4: begin
|
5: begin
|
||||||
div_num <= div_res;
|
div_num <= div_res;
|
||||||
div_den <= hsize;
|
div_den <= hsize;
|
||||||
div_start <= 1;
|
div_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
5: begin
|
6: begin
|
||||||
mul_arg1 <= hsize;
|
mul_arg1 <= hsize;
|
||||||
mul_arg2 <= div_res[11:0] ? div_res[11:0] : 12'd1;
|
mul_arg2 <= div_res[11:0] ? div_res[11:0] : 12'd1;
|
||||||
mul_start <= 1;
|
mul_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
6: if(mul_res <= HDMI_WIDTH) cnt <= 8;
|
7: if(mul_res <= HDMI_WIDTH) begin
|
||||||
else begin
|
cnt <= 10;
|
||||||
|
end
|
||||||
|
|
||||||
|
8: begin
|
||||||
div_num <= HDMI_WIDTH;
|
div_num <= HDMI_WIDTH;
|
||||||
div_den <= hsize;
|
div_den <= hsize;
|
||||||
div_start <= 1;
|
div_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
7: begin
|
9: begin
|
||||||
mul_arg1 <= hsize;
|
mul_arg1 <= hsize;
|
||||||
mul_arg2 <= div_res[11:0] ? div_res[11:0] : 12'd1;
|
mul_arg2 <= div_res[11:0] ? div_res[11:0] : 12'd1;
|
||||||
mul_start <= 1;
|
mul_start <= 1;
|
||||||
end
|
end
|
||||||
|
|
||||||
8: begin
|
10: begin
|
||||||
narrow <= ((div_num[11:0] - mul_res[11:0]) <= (wideres - div_num[11:0])) || (wideres > HDMI_WIDTH);
|
narrow <= ((div_num[11:0] - mul_res[11:0]) <= (wideres - div_num[11:0])) || (wideres > HDMI_WIDTH);
|
||||||
wres <= wideres;
|
wres <= wideres;
|
||||||
end
|
end
|
||||||
|
|
||||||
9: begin
|
11: begin
|
||||||
case(SCALE)
|
case(SCALE)
|
||||||
2: arxf <= {1'b1, mul_res[11:0]};
|
2: arxf <= {1'b1, mul_res[11:0]};
|
||||||
3: arxf <= {1'b1, (wres > HDMI_WIDTH) ? mul_res[11:0] : wres};
|
3: arxf <= {1'b1, (wres > HDMI_WIDTH) ? mul_res[11:0] : wres};
|
||||||
|
|
Loading…
Reference in New Issue