From 130548145dbc7b8bbaed30de4344ec3a1d215213 Mon Sep 17 00:00:00 2001 From: shylie Date: Mon, 28 Apr 2025 12:22:43 -0400 Subject: [PATCH] First working revision? --- cmake/FileEmbed.cmake | 1 - dvi-dynamic/rtl/source/impl_1/top.sv | 9 +++++++-- dvi-dynamic/src/main.cpp | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/cmake/FileEmbed.cmake b/cmake/FileEmbed.cmake index 957fdd8..0ad5fbb 100644 --- a/cmake/FileEmbed.cmake +++ b/cmake/FileEmbed.cmake @@ -33,7 +33,6 @@ function(FileEmbedGenerate file generated_c) set(output_filename "${base_filename}.c") string(MAKE_C_IDENTIFIER ${base_filename} c_name) file(READ ${file} content HEX) - message(${content}) # Separate into individual bytes. string(REGEX MATCHALL "([A-Fa-f0-9][A-Fa-f0-9])" SEPARATED_HEX ${content}) diff --git a/dvi-dynamic/rtl/source/impl_1/top.sv b/dvi-dynamic/rtl/source/impl_1/top.sv index d86d779..0a05df7 100644 --- a/dvi-dynamic/rtl/source/impl_1/top.sv +++ b/dvi-dynamic/rtl/source/impl_1/top.sv @@ -8,17 +8,22 @@ module top ); localparam N = 25; +localparam PIXEL_COUNT = 640 * 480; reg [N:0] counter; always_ff @(posedge clk) begin - counter <= counter + 1; + if (counter < PIXEL_COUNT) begin + counter <= counter + 1; + end else begin + counter <= counter + 1; + end end assign led_r = 1'b1; assign led_g = counter[N]; assign led_b = 1'b1; -assign data = counter[N:N-8]; +assign data = counter[7:0]; endmodule \ No newline at end of file diff --git a/dvi-dynamic/src/main.cpp b/dvi-dynamic/src/main.cpp index e028ec6..dcc7a12 100644 --- a/dvi-dynamic/src/main.cpp +++ b/dvi-dynamic/src/main.cpp @@ -158,7 +158,7 @@ void __scratch_x("") dma_irq0_handler() void dma_irq1_handler() { - uint ch_num = dma_fb_pong ? DMACH_FBPI : DMACH_FBPO; + uint ch_num = dma_fb_pong ? DMACH_FBPO : DMACH_FBPI; dma_channel_hw_t* ch = &dma_hw->ch[ch_num]; dma_hw->intr = 1u << ch_num; dma_fb_pong = !dma_fb_pong; @@ -171,7 +171,7 @@ void dma_irq1_handler() int main(void) { - ice_fpga_init(FPGA_DATA, 48); + ice_fpga_init(FPGA_DATA, 16); ice_fpga_start(FPGA_DATA); ice_cram_open(FPGA_DATA);