diff --git a/sys/sys_top.v b/sys/sys_top.v index d0e7a0c..1d63de1 100644 --- a/sys/sys_top.v +++ b/sys/sys_top.v @@ -437,6 +437,35 @@ wire vbuf_read; wire [127:0] vbuf_writedata; wire [15:0] vbuf_byteenable; wire vbuf_write; +reg [5:0] FB_FMTX; + +/* + +OLD_FORMAT NEW FORMAT + "000" 16bits 1555 RGB => 01100 + "001" 24bpp RGB => 00101 + "010" 32bpp RGB => 00110 + "011" 16bits 565 RGB => 00100 + "100" 16bits 1555 BGR => 11100 + "101" 24bpp BGR => 10101 + "110" 32bpp BGR => 10110 + "111" 16bits 565 BGR => 10100 + 8bits palette => x0011 +*/ + +always @(posedge clk_sys) begin + FB_FMTX <=6'b010101; + case(FB_FMT[2:0]) + 0: FB_FMTX <=6'b001100; + 1: FB_FMTX <=6'b000101; + 2: FB_FMTX <=6'b000110; + 3: FB_FMTX <=6'b000100; + 4: FB_FMTX <=6'b011100; + 5: FB_FMTX <=6'b010101; + 6: FB_FMTX <=6'b010110; + 7: FB_FMTX <=6'b010100; + endcase +end ascal #( @@ -496,7 +525,7 @@ ascal .o_fb_ena (FB_EN), .o_fb_hsize (FB_WIDTH), .o_fb_vsize (FB_HEIGHT), - .o_fb_format (FB_FMT), + .o_fb_format (FB_FMTX), .o_fb_base (FB_BASE), .avl_clk (clk_100m),