5 // Users to add parameters here
7 // User parameters ends
8 // Do not modify the parameters beyond this line
11 // Parameters of Axi Slave Bus Interface S00_AXI
12 parameter integer C_S00_AXI_DATA_WIDTH = 32,
13 parameter integer C_S00_AXI_ADDR_WIDTH = 8
15 // Parameters of Axi Slave Bus Interface S_AXI_INTR
17 parameter integer C_S_AXI_INTR_DATA_WIDTH = 32,
18 parameter integer C_S_AXI_INTR_ADDR_WIDTH = 5,
19 parameter integer C_NUM_OF_INTR = 1,
20 parameter C_INTR_SENSITIVITY = 32'hFFFFFFFF,
21 parameter C_INTR_ACTIVE_STATE = 32'hFFFFFFFF,
22 parameter integer C_IRQ_SENSITIVITY = 1,
23 parameter integer C_IRQ_ACTIVE_STATE = 1
27 // Users to add ports here
31 output wire bus_off_on,
33 // Do not modify the ports beyond this line
36 // Ports of Axi Slave Bus Interface S00_AXI
37 input wire s00_axi_aclk,
38 input wire s00_axi_aresetn,
39 input wire [C_S00_AXI_ADDR_WIDTH-1 : 0] s00_axi_awaddr,
40 input wire [2 : 0] s00_axi_awprot,
41 input wire s00_axi_awvalid,
42 output wire s00_axi_awready,
43 input wire [C_S00_AXI_DATA_WIDTH-1 : 0] s00_axi_wdata,
44 input wire [(C_S00_AXI_DATA_WIDTH/8)-1 : 0] s00_axi_wstrb,
45 input wire s00_axi_wvalid,
46 output wire s00_axi_wready,
47 output wire [1 : 0] s00_axi_bresp,
48 output wire s00_axi_bvalid,
49 input wire s00_axi_bready,
50 input wire [C_S00_AXI_ADDR_WIDTH-1 : 0] s00_axi_araddr,
51 input wire [2 : 0] s00_axi_arprot,
52 input wire s00_axi_arvalid,
53 output wire s00_axi_arready,
54 output wire [C_S00_AXI_DATA_WIDTH-1 : 0] s00_axi_rdata,
55 output wire [1 : 0] s00_axi_rresp,
56 output wire s00_axi_rvalid,
57 input wire s00_axi_rready,
64 wire [7:0] reg_data_in;
65 wire [7:0] reg_data_out;
66 wire [7:0] reg_addr_read;
67 wire [7:0] reg_addr_write;
72 // Instantiation of Axi Bus Interface S00_AXI
73 can_ifc_axi_sync_duplex # (
74 .C_S_AXI_DATA_WIDTH(C_S00_AXI_DATA_WIDTH),
75 .C_S_AXI_ADDR_WIDTH(C_S00_AXI_ADDR_WIDTH)
77 .S_AXI_ACLK(s00_axi_aclk),
78 .S_AXI_ARESETN(s00_axi_aresetn),
79 .S_AXI_AWADDR(s00_axi_awaddr),
80 .S_AXI_AWPROT(s00_axi_awprot),
81 .S_AXI_AWVALID(s00_axi_awvalid),
82 .S_AXI_AWREADY(s00_axi_awready),
83 .S_AXI_WDATA(s00_axi_wdata),
84 .S_AXI_WSTRB(s00_axi_wstrb),
85 .S_AXI_WVALID(s00_axi_wvalid),
86 .S_AXI_WREADY(s00_axi_wready),
87 .S_AXI_BRESP(s00_axi_bresp),
88 .S_AXI_BVALID(s00_axi_bvalid),
89 .S_AXI_BREADY(s00_axi_bready),
90 .S_AXI_ARADDR(s00_axi_araddr),
91 .S_AXI_ARPROT(s00_axi_arprot),
92 .S_AXI_ARVALID(s00_axi_arvalid),
93 .S_AXI_ARREADY(s00_axi_arready),
94 .S_AXI_RDATA(s00_axi_rdata),
95 .S_AXI_RRESP(s00_axi_rresp),
96 .S_AXI_RVALID(s00_axi_rvalid),
97 .S_AXI_RREADY(s00_axi_rready),
103 .reg_addr_read_o(reg_addr_read),
104 .reg_addr_write_o(reg_addr_write),
105 .reg_data_in_o(reg_data_in),
106 .reg_data_out_i(reg_data_out)
109 can_top_raw can_top_raw_inst (
112 .reg_data_in(reg_data_in),
113 .reg_data_out(reg_data_out),
114 .reg_addr_read_i(reg_addr_read),
115 .reg_addr_write_i(reg_addr_write),
121 .bus_off_on(bus_off_on),
126 // Add user logic here