1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
module task3(CLOCK_50, KEY, SW, LEDR, HEX0, HEX1, HEX2, HEX3, HEX4, HEX5,
VGA_R, VGA_G, VGA_B, VGA_HS, VGA_VS, VGA_CLK, VGA_X, VGA_Y,
VGA_COLOUR, VGA_PLOT);
input logic CLOCK_50;
input logic [3:0] KEY;
input logic [9:0] SW;
output logic VGA_HS, VGA_VS, VGA_CLK, VGA_PLOT;
output logic [2:0] VGA_COLOUR;
output logic [6:0] VGA_Y, HEX0, HEX1, HEX2, HEX3, HEX4, HEX5;
output logic [7:0] VGA_X, VGA_R, VGA_G, VGA_B;
output logic [9:0] LEDR;
logic resetn, start, done;
logic [2:0] colour;
logic [6:0] center_y;
logic [7:0] center_x, radius;
assign resetn = KEY[3];
assign start = ~KEY[0];
assign colour = 3'b010;
assign LEDR[0] = done;
assign center_x = 8'd80;
assign center_y = 7'd60;
assign radius = SW[7:0];
vga_adapter #(.RESOLUTION("160x120")) U0(resetn, CLOCK_50,
VGA_COLOUR, VGA_X, VGA_Y, VGA_PLOT,
{VGA_R, 2'b00}, {VGA_G, 2'b00}, {VGA_B, 2'b00},
VGA_HS, VGA_VS, VGA_BLANK, VGA_SYNC, VGA_CLK);
circle U1(CLOCK_50, resetn, colour, center_x, center_y, radius,
start, done, VGA_X, VGA_Y, VGA_COLOUR, VGA_PLOT);
endmodule: task3
|