§ Верхний уровень

Ниже представлен код простой генерации видеосигнала для D-Sub 640x480 (показывается белый экран)
Топ-уровень для 4-х битного цвета
1adapter AdapterUnit
2(
3    .clock_25   (clock_25),
4    .vga_hs     (VGA_HS),
5    .vga_vs     (VGA_VS),
6    .vga_r      (VGA_R),
7    .vga_g      (VGA_G),
8    .vga_b      (VGA_B),
9);

§ Разрешение 640x480

1module adapter
2(
3    input  wire       clock_25,
4    output wire       vga_hs,
5    output wire       vga_vs,
6    output wire [3:0] vga_r,
7    output wire [3:0] vga_g,
8    output wire [3:0] vga_b
9);
10
11reg [9:0] X; // 0..799
12reg [9:0] Y; // 0..524
13
14wire xmax = X == 10'h31f;
15wire ymax = Y == 10'h20c;
16
17assign vga_hs = X < 10'h2C0; // Негативная полярность
18assign vga_vs = Y > 10'h20A; // Позитивная полярность
19
20// Видимая область рисования
21wire visible = (X > 10'h02F) && (X < 10'h2B0) && (Y > 10'h020) && (Y < 10'h201);
22
23// -----------------------------------------------------------------------------
24assign vga_r = {4{visible}};
25assign vga_g = {4{visible}};
26assign vga_b = {4{visible}};
27// -----------------------------------------------------------------------------
28
29always @(posedge clock_25) begin
30
31    X <= xmax ? 0 : (X + 1);
32    Y <= xmax ? (ymax ? 0 : Y + 1) : Y;
33
34end
35
36endmodule