/*************************************************************************** * Module: top_object_drawer * * Author: Jeff Goeders * Date: May 13, 2019 * * Description: Top-level module for drawing Pong objects on Nexys4DDR board. ****************************************************************************/ `default_nettype none module top_object_drawer( input wire logic clk, input wire logic CPU_RESETN, output logic [3:0] VGA_R, output logic [3:0] VGA_G, output logic [3:0] VGA_B, output logic VGA_HS, output logic VGA_VS, input wire logic btnc ); logic clk_100; logic clk_25; logic reset; logic [2:0] vga_color; logic [8:0] vga_x; logic [7:0] vga_y; logic vga_wr_en; assign reset = ~CPU_RESETN; BallDrawer BallDrawer_inst( .clk(clk_100), .reset(reset), .start(btnc), .draw(vga_wr_en), .done(), .x_in(50), .y_in(50), .x_out(vga_x), .y_out(vga_y) ); clk_generator clk_generator_inst ( .clk_100(clk_100), .clk_25(clk_25), .clk_in_100(clk) ); BitmapToVga BitmapToVga_inst( .VGA_R(VGA_R), .VGA_G(VGA_G), .VGA_B(VGA_B), .clk(clk_100), .clk_vga(clk_25), .VGA_hsync(VGA_HS), .VGA_vsync(VGA_VS), .reset(reset), .wr_en(vga_wr_en), .x(vga_x), .y(vga_y), .color(3'b111) ); endmodule