Implemented modes 640x480, 1024x768, 1280x1024

This commit is contained in:
Bruno Levy
2021-04-26 16:44:18 +02:00
parent 2a1df3c714
commit 3265cd4f62
2 changed files with 42 additions and 3 deletions

View File

@@ -11,6 +11,13 @@ module HDMI_test_hires(
/******** Video mode constants **************************************************/
// Select mode by uncommenting one of the lines below
`define MODE_640x480
//`define MODE_1024x768
//`define MODE_1280x1024
`ifdef MODE_640x480
// 640x480, pixclk=25 MHz
localparam GFX_width = 640;
localparam GFX_height = 480;
localparam GFX_h_front_porch = 16;
@@ -19,13 +26,45 @@ localparam GFX_h_back_porch = 48;
localparam GFX_v_front_porch = 10;
localparam GFX_v_sync_width = 2;
localparam GFX_v_back_porch = 32;
localparam CLKFB_DIV = 10;
localparam CLKI_DIV = 1;
localparam CLKOP_DIV = 2;
localparam CLKOS_DIV = 4;
localparam CLKOS2_DIV = 20;
`endif
`ifdef MODE_1024x768
// 1024x768, pixel clock=65Mhz
localparam GFX_width = 1024;
localparam GFX_height = 768;
localparam GFX_h_front_porch = 24;
localparam GFX_h_sync_width = 136;
localparam GFX_h_back_porch = 160;
localparam GFX_v_front_porch = 3;
localparam GFX_v_sync_width = 6;
localparam GFX_v_back_porch = 29;
localparam CLKI_DIV = 1;
localparam CLKFB_DIV = 26;
localparam CLKOP_DIV = 2;
localparam CLKOS_DIV = 4;
localparam CLKOS2_DIV = 20;
`endif
`ifdef MODE_1280x1024
localparam GFX_width = 1280;
localparam GFX_height = 1024;
localparam GFX_h_front_porch = 48;
localparam GFX_h_sync_width = 112;
localparam GFX_h_back_porch = 248;
localparam GFX_v_front_porch = 1;
localparam GFX_v_sync_width = 3;
localparam GFX_v_back_porch = 38;
localparam CLKI_DIV = 1;
localparam CLKFB_DIV = 43;
localparam CLKOP_DIV = 2;
localparam CLKOS_DIV = 4;
localparam CLKOS2_DIV = 20;
`endif
localparam GFX_line_width = GFX_width + GFX_h_front_porch + GFX_h_sync_width + GFX_h_back_porch;
localparam GFX_lines = GFX_height + GFX_v_front_porch + GFX_v_sync_width + GFX_v_back_porch;

View File

@@ -9,7 +9,7 @@ if [ $1 == "clean" ]; then
fi
yosys -p "synth_ecp5 -abc9 -top $PROJECTNAME -json $PROJECTNAME.json" $VERILOGS || exit
nextpnr-ecp5 --json $PROJECTNAME.json --lpf ulx3s.lpf --textcfg $PROJECTNAME.config --85k --freq 25 --package CABGA381 || exit
nextpnr-ecp5 --force --timing-allow-fail --json $PROJECTNAME.json --lpf ulx3s.lpf --textcfg $PROJECTNAME.config --85k --freq 25 --package CABGA381 || exit
ecppack --compress --svf-rowsize 100000 --svf $PROJECTNAME.svf $PROJECTNAME.config $PROJECTNAME.bit || exit
ujprog $PROJECTNAME.bit || exit
# To flash permanently, use instead: