-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtesting.v
72 lines (56 loc) · 971 Bytes
/
testing.v
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
`timescale 1ps/1ps
module testing();
reg base_clk = 1 ;
wire hlt;
always #1 if(!hlt) base_clk = ~base_clk;
wire cpu_clk, mem_clk;
wire [31:0] GPIO = 33;
ClockGenerator cgen(
.base_clk(base_clk),
.rst(0),
.cpu_clk(cpu_clk),
.mem_clk(mem_clk)
);
wire [31:0] mem_addr, mem_data;
wire mem_rw;
wire [1:0] mem_size;
wire [31:0] a, b, c;
wire [9:0] SW, LEDR;
RiscVCore cpu(
.mem_addr(mem_addr),
.mem_data(mem_data),
.mem_rw(mem_rw),
.mem_size(mem_size),
.debug_a(a),
.debug_b(b),
.debug_c(c),
.hlt(hlt),
.clk(cpu_clk),
.rst(0)
);
MemoryController mem(
.addr(mem_addr),
.data(mem_data),
.rw(mem_rw),
.size(mem_size),
.clk(mem_clk)
);
IOController ioctrl(
.addr(mem_addr),
.data(mem_data),
.rw(mem_rw),
.size(mem_size),
.clk(mem_clk),
.SW(SW),
.LEDR(LEDR)
);
GPIOController #(.ADDR(32'h8000_0010)) gpio (
.addr(mem_addr),
.data(mem_data),
.rw(mem_rw),
.size(mem_size),
.clk(mem_clk),
.gpio(GPIO)
);
assign SW = 32;
endmodule