summaryrefslogtreecommitdiff
path: root/rtl/axi_timer/axi_timer_top.sv
blob: 6bd0e2a7738da2fd8780cd94a237da27635889ba (plain)
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
module axi_timer_top
(
	input  logic       clk,
	                   rst_n,

	input  logic[31:0] addr,
	input  logic       avalid,
	input  logic       awrite,
	output logic       aready,

	input  logic       wvalid,
	input  logic[31:0] wdata,
	output logic       wready,

	input  logic       rready,
	output logic[31:0] rdata,
	output logic       rvalid,

	output logic       irq
);

	axi_bus axi();

	assign axi.Master.ADDR = addr;
	assign axi.Master.AVALID = avalid;
	assign axi.Master.AWRITE = awrite;
	assign aready = axi.Master.AREADY;

	assign axi.Master.WVALID = wvalid;
	assign axi.Master.WDATA = wdata;
	assign wready = axi.Master.WREADY;

	assign axi.Master.RREADY = rready;
	assign rdata = axi.Master.RDATA;
	assign rvalid = axi.Master.RVALID;

	axi_timer timer
	(
		.i_clk(clk),
		.i_rst_n(rst_n),
		.o_IRQ(irq),
		.axi_slave(axi.Slave)
	);

endmodule