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
|
module w3d_top
(
input logic clk,
rst_n,
input logic jtag_tck,
jtag_tms,
jtag_tdi,
output logic jtag_tdo
);
if_tap host_jtag();
if_axib dram(), host_dbus(), host_ibus();
if_axil external_io(), gfx_ctrl();
logic srst_n;
assign jtag_tdo = host_jtag.m.tdo;
assign host_jtag.m.tck = jtag_tck;
assign host_jtag.m.tms = jtag_tms;
assign host_jtag.m.tdi = jtag_tdi;
if_rst_sync rst_sync
(
.clk,
.rst_n,
.srst_n
);
gfx_top gfx
(
.clk,
.rst_n,
.srst_n,
.host_ctrl(gfx_ctrl.s)
);
w3d_host host
(
.clk,
.rst_n,
.dbus(host_dbus.m),
.ibus(host_ibus.m),
.jtag(host_jtag.s)
);
w3d_interconnect inter
(
.clk,
.srst_n,
.dram(dram.m),
.gfx_ctrl(gfx_ctrl.m),
.host_dbus(host_dbus.s),
.host_ibus(host_ibus.s),
.external_io(external_io.m)
);
endmodule
|