23:49
Адаптер 640x480 версия 1 — Лисья нора
§ Верхний уровень
Ниже представлен код простой генерации видеосигнала для D-Sub 640x480 (показывается белый экран)Топ-уровень для 4-х битного цвета
adapter AdapterUnit
(
.clock_25 (clock_25),
.vga_hs (VGA_HS),
.vga_vs (VGA_VS),
.vga_r (VGA_R),
.vga_g (VGA_G),
.vga_b (VGA_B),
);§ Разрешение 640x480
module adapter ( input wire clock_25, output wire vga_hs, output wire vga_vs, output wire [3:0] vga_r, output wire [3:0] vga_g, output wire [3:0] vga_b ); reg [9:0] X; // 0..799 reg [9:0] Y; // 0..524 wire xmax = X == 10'h31f; wire ymax = Y == 10'h20c; assign vga_hs = X < 10'h2C0; // Негативная полярность assign vga_vs = Y > 10'h20A; // Позитивная полярность // Видимая область рисования wire visible = (X > 10'h02F) && (X < 10'h2B0) && (Y > 10'h020) && (Y < 10'h201); // ----------------------------------------------------------------------------- assign vga_r = {4{visible}}; assign vga_g = {4{visible}}; assign vga_b = {4{visible}}; // ----------------------------------------------------------------------------- always @(posedge clock_25) begin X <= xmax ? 0 : (X + 1); Y <= xmax ? (ymax ? 0 : Y + 1) : Y; end endmodule