2 use ieee.std_logic_1164.all;
3 use ieee.numeric_std.all;
5 entity display_16bit_cmd_data_bus_v1_0 is
7 -- Users to add parameters here
9 -- User parameters ends
10 -- Do not modify the parameters beyond this line
13 -- Parameters of Axi Slave Bus Interface S00_AXI
14 C_S00_AXI_DATA_WIDTH : integer := 32;
15 C_S00_AXI_ADDR_WIDTH : integer := 6;
17 -- Parameters of Axi Master Bus Interface M00_AXI
18 C_M00_AXI_START_DATA_VALUE : std_logic_vector := x"AA000000";
19 C_M00_AXI_TARGET_SLAVE_BASE_ADDR : std_logic_vector := x"40000000";
20 C_M00_AXI_ADDR_WIDTH : integer := 32;
21 C_M00_AXI_DATA_WIDTH : integer := 32;
22 C_M00_AXI_TRANSACTIONS_NUM : integer := 4
25 -- Users to add ports here
26 lcd_res_n : out std_logic;
27 lcd_cs_n : out std_logic;
28 lcd_wr_n : out std_logic;
29 lcd_rd_n : out std_logic;
30 lcd_dc : out std_logic;
31 lcd_data : inout std_logic_vector(15 downto 0);
33 irq_rq_out : out std_logic;
35 -- Do not modify the ports beyond this line
38 -- Ports of Axi Slave Bus Interface S00_AXI
39 s00_axi_aclk : in std_logic;
40 s00_axi_aresetn : in std_logic;
41 s00_axi_awaddr : in std_logic_vector(C_S00_AXI_ADDR_WIDTH-1 downto 0);
42 s00_axi_awprot : in std_logic_vector(2 downto 0);
43 s00_axi_awvalid : in std_logic;
44 s00_axi_awready : out std_logic;
45 s00_axi_wdata : in std_logic_vector(C_S00_AXI_DATA_WIDTH-1 downto 0);
46 s00_axi_wstrb : in std_logic_vector((C_S00_AXI_DATA_WIDTH/8)-1 downto 0);
47 s00_axi_wvalid : in std_logic;
48 s00_axi_wready : out std_logic;
49 s00_axi_bresp : out std_logic_vector(1 downto 0);
50 s00_axi_bvalid : out std_logic;
51 s00_axi_bready : in std_logic;
52 s00_axi_araddr : in std_logic_vector(C_S00_AXI_ADDR_WIDTH-1 downto 0);
53 s00_axi_arprot : in std_logic_vector(2 downto 0);
54 s00_axi_arvalid : in std_logic;
55 s00_axi_arready : out std_logic;
56 s00_axi_rdata : out std_logic_vector(C_S00_AXI_DATA_WIDTH-1 downto 0);
57 s00_axi_rresp : out std_logic_vector(1 downto 0);
58 s00_axi_rvalid : out std_logic;
59 s00_axi_rready : in std_logic;
61 -- Ports of Axi Master Bus Interface M00_AXI
62 m00_axi_aclk : in std_logic;
63 m00_axi_aresetn : in std_logic;
64 m00_axi_awaddr : out std_logic_vector(C_M00_AXI_ADDR_WIDTH-1 downto 0);
65 m00_axi_awprot : out std_logic_vector(2 downto 0);
66 m00_axi_awvalid : out std_logic;
67 m00_axi_awready : in std_logic;
68 m00_axi_wdata : out std_logic_vector(C_M00_AXI_DATA_WIDTH-1 downto 0);
69 m00_axi_wstrb : out std_logic_vector(C_M00_AXI_DATA_WIDTH/8-1 downto 0);
70 m00_axi_wvalid : out std_logic;
71 m00_axi_wready : in std_logic;
72 m00_axi_bresp : in std_logic_vector(1 downto 0);
73 m00_axi_bvalid : in std_logic;
74 m00_axi_bready : out std_logic;
75 m00_axi_araddr : out std_logic_vector(C_M00_AXI_ADDR_WIDTH-1 downto 0);
76 m00_axi_arprot : out std_logic_vector(2 downto 0);
77 m00_axi_arvalid : out std_logic;
78 m00_axi_arready : in std_logic;
79 m00_axi_rdata : in std_logic_vector(C_M00_AXI_DATA_WIDTH-1 downto 0);
80 m00_axi_rresp : in std_logic_vector(1 downto 0);
81 m00_axi_rvalid : in std_logic;
82 m00_axi_rready : out std_logic
84 end display_16bit_cmd_data_bus_v1_0;
86 architecture arch_imp of display_16bit_cmd_data_bus_v1_0 is
88 -- component declaration
89 component display_16bit_cmd_data_bus_v1_0_S00_AXI is
91 C_S_AXI_DATA_WIDTH : integer := 32;
92 C_S_AXI_ADDR_WIDTH : integer := 6
95 S_AXI_ACLK : in std_logic;
96 S_AXI_ARESETN : in std_logic;
97 S_AXI_AWADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
98 S_AXI_AWPROT : in std_logic_vector(2 downto 0);
99 S_AXI_AWVALID : in std_logic;
100 S_AXI_AWREADY : out std_logic;
101 S_AXI_WDATA : in std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
102 S_AXI_WSTRB : in std_logic_vector((C_S_AXI_DATA_WIDTH/8)-1 downto 0);
103 S_AXI_WVALID : in std_logic;
104 S_AXI_WREADY : out std_logic;
105 S_AXI_BRESP : out std_logic_vector(1 downto 0);
106 S_AXI_BVALID : out std_logic;
107 S_AXI_BREADY : in std_logic;
108 S_AXI_ARADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
109 S_AXI_ARPROT : in std_logic_vector(2 downto 0);
110 S_AXI_ARVALID : in std_logic;
111 S_AXI_ARREADY : out std_logic;
112 S_AXI_RDATA : out std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
113 S_AXI_RRESP : out std_logic_vector(1 downto 0);
114 S_AXI_RVALID : out std_logic;
115 S_AXI_RREADY : in std_logic
117 end component display_16bit_cmd_data_bus_v1_0_S00_AXI;
119 component display_16bit_cmd_data_bus_v1_0_M00_AXI is
121 C_M_START_DATA_VALUE : std_logic_vector := x"AA000000";
122 C_M_TARGET_SLAVE_BASE_ADDR : std_logic_vector := x"40000000";
123 C_M_AXI_ADDR_WIDTH : integer := 32;
124 C_M_AXI_DATA_WIDTH : integer := 32;
125 C_M_TRANSACTIONS_NUM : integer := 4
128 INIT_AXI_TXN : in std_logic;
129 ERROR : out std_logic;
130 TXN_DONE : out std_logic;
131 M_AXI_ACLK : in std_logic;
132 M_AXI_ARESETN : in std_logic;
133 M_AXI_AWADDR : out std_logic_vector(C_M_AXI_ADDR_WIDTH-1 downto 0);
134 M_AXI_AWPROT : out std_logic_vector(2 downto 0);
135 M_AXI_AWVALID : out std_logic;
136 M_AXI_AWREADY : in std_logic;
137 M_AXI_WDATA : out std_logic_vector(C_M_AXI_DATA_WIDTH-1 downto 0);
138 M_AXI_WSTRB : out std_logic_vector(C_M_AXI_DATA_WIDTH/8-1 downto 0);
139 M_AXI_WVALID : out std_logic;
140 M_AXI_WREADY : in std_logic;
141 M_AXI_BRESP : in std_logic_vector(1 downto 0);
142 M_AXI_BVALID : in std_logic;
143 M_AXI_BREADY : out std_logic;
144 M_AXI_ARADDR : out std_logic_vector(C_M_AXI_ADDR_WIDTH-1 downto 0);
145 M_AXI_ARPROT : out std_logic_vector(2 downto 0);
146 M_AXI_ARVALID : out std_logic;
147 M_AXI_ARREADY : in std_logic;
148 M_AXI_RDATA : in std_logic_vector(C_M_AXI_DATA_WIDTH-1 downto 0);
149 M_AXI_RRESP : in std_logic_vector(1 downto 0);
150 M_AXI_RVALID : in std_logic;
151 M_AXI_RREADY : out std_logic
153 end component display_16bit_cmd_data_bus_v1_0_M00_AXI;
155 signal m00_axi_init_axi_txn : std_logic;
156 signal m00_axi_error : std_logic;
157 signal m00_axi_txn_done : std_logic;
161 -- Instantiation of Axi Bus Interface S00_AXI
162 display_16bit_cmd_data_bus_v1_0_S00_AXI_inst : display_16bit_cmd_data_bus_v1_0_S00_AXI
164 C_S_AXI_DATA_WIDTH => C_S00_AXI_DATA_WIDTH,
165 C_S_AXI_ADDR_WIDTH => C_S00_AXI_ADDR_WIDTH
168 S_AXI_ACLK => s00_axi_aclk,
169 S_AXI_ARESETN => s00_axi_aresetn,
170 S_AXI_AWADDR => s00_axi_awaddr,
171 S_AXI_AWPROT => s00_axi_awprot,
172 S_AXI_AWVALID => s00_axi_awvalid,
173 S_AXI_AWREADY => s00_axi_awready,
174 S_AXI_WDATA => s00_axi_wdata,
175 S_AXI_WSTRB => s00_axi_wstrb,
176 S_AXI_WVALID => s00_axi_wvalid,
177 S_AXI_WREADY => s00_axi_wready,
178 S_AXI_BRESP => s00_axi_bresp,
179 S_AXI_BVALID => s00_axi_bvalid,
180 S_AXI_BREADY => s00_axi_bready,
181 S_AXI_ARADDR => s00_axi_araddr,
182 S_AXI_ARPROT => s00_axi_arprot,
183 S_AXI_ARVALID => s00_axi_arvalid,
184 S_AXI_ARREADY => s00_axi_arready,
185 S_AXI_RDATA => s00_axi_rdata,
186 S_AXI_RRESP => s00_axi_rresp,
187 S_AXI_RVALID => s00_axi_rvalid,
188 S_AXI_RREADY => s00_axi_rready
191 -- Instantiation of Axi Bus Interface M00_AXI
192 display_16bit_cmd_data_bus_v1_0_M00_AXI_inst : display_16bit_cmd_data_bus_v1_0_M00_AXI
194 C_M_START_DATA_VALUE => C_M00_AXI_START_DATA_VALUE,
195 C_M_TARGET_SLAVE_BASE_ADDR => C_M00_AXI_TARGET_SLAVE_BASE_ADDR,
196 C_M_AXI_ADDR_WIDTH => C_M00_AXI_ADDR_WIDTH,
197 C_M_AXI_DATA_WIDTH => C_M00_AXI_DATA_WIDTH,
198 C_M_TRANSACTIONS_NUM => C_M00_AXI_TRANSACTIONS_NUM
201 INIT_AXI_TXN => m00_axi_init_axi_txn,
202 ERROR => m00_axi_error,
203 TXN_DONE => m00_axi_txn_done,
204 M_AXI_ACLK => m00_axi_aclk,
205 M_AXI_ARESETN => m00_axi_aresetn,
206 M_AXI_AWADDR => m00_axi_awaddr,
207 M_AXI_AWPROT => m00_axi_awprot,
208 M_AXI_AWVALID => m00_axi_awvalid,
209 M_AXI_AWREADY => m00_axi_awready,
210 M_AXI_WDATA => m00_axi_wdata,
211 M_AXI_WSTRB => m00_axi_wstrb,
212 M_AXI_WVALID => m00_axi_wvalid,
213 M_AXI_WREADY => m00_axi_wready,
214 M_AXI_BRESP => m00_axi_bresp,
215 M_AXI_BVALID => m00_axi_bvalid,
216 M_AXI_BREADY => m00_axi_bready,
217 M_AXI_ARADDR => m00_axi_araddr,
218 M_AXI_ARPROT => m00_axi_arprot,
219 M_AXI_ARVALID => m00_axi_arvalid,
220 M_AXI_ARREADY => m00_axi_arready,
221 M_AXI_RDATA => m00_axi_rdata,
222 M_AXI_RRESP => m00_axi_rresp,
223 M_AXI_RVALID => m00_axi_rvalid,
224 M_AXI_RREADY => m00_axi_rready
227 -- Add user logic here
228 m00_axi_init_axi_txn <= '0';