Advertisement
nightmodeapiarchive

vga.v

Jul 18th, 2024 (edited)
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module vga
  2. (
  3.     input [2:0]D,
  4.     input CLK,
  5.     output [14:0]mem_addr,
  6.     output mem_clk,
  7.     output mem_CE,
  8.     output VSYNC,
  9.     output HSYNC,
  10.     output R,
  11.     output G,
  12.     output B
  13. );
  14. reg [2:0]freq_div_counter;
  15. reg [9:0] vcounter;
  16. reg [9:0] hcounter;
  17. wire RED;
  18. wire GREEN;
  19. wire BLUE;
  20. wire DISPLAY;
  21. assign R = RED & DISPLAY;
  22. assign G = GREEN & DISPLAY;
  23. assign B = BLUE & DISPLAY;
  24. assign RED = 1;
  25. assign DISPLAY = (hcounter <= 639 && vcounter <= 479) ? 1'b1 : 1'b0;
  26. assign HSYNC = (hcounter >= 656 && hcounter <= 752) ? 1'b0 : 1'b1;
  27. assign VSYNC = (vcounter >= 490 && vcounter <= 492) ? 1'b0 : 1'b1;
  28. always @(posedge CLK) begin
  29.     if(freq_div_counter == 7) begin
  30.         if(hcounter == 800) begin
  31.             hcounter <= 0;
  32.             if(vcounter == 525) begin
  33.                 vcounter <= 0;
  34.             end else begin
  35.                 vcounter <= vcounter + 1;
  36.             end;
  37.         end else begin
  38.             hcounter <= hcounter + 1;
  39.         end;
  40.     end;
  41.     freq_div_counter <= freq_div_counter + 1;
  42. end
  43. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement