T.I.M | Hardware Documentation
 All Classes Namespaces Files Functions Variables
bus_master.vhdl
Go to the documentation of this file.
1 
7 
8 
9 library ieee;
10 use ieee.std_logic_1164.ALL;
11 use ieee.numeric_std.ALL;
12 
14 use work.tim_bus.tim_bus_data_width;
15 
17 entity tim_bus_master is
18  generic(
20  data_width : integer := tim_bus_data_width
21  );
22  port(
24  clk : in std_logic;
26  reset : in std_logic;
27 
29  bus_lines : inout std_logic_vector(data_width-1 downto 0);
30 
32  bus_valid : out std_logic;
33 
35  bus_enable : in std_logic;
36 
38  bus_read_write : out std_logic;
39 
41  req_data_lines : inout std_logic_vector(data_width-1 downto 0);
42 
44  req_read_write : in std_logic;
45 
47  req_address_lines : in std_logic_vector(data_width-1 downto 0);
48 
50  req_pending : in std_logic;
51 
54  req_acknowledge : out std_logic
55  );
56 end entity tim_bus_master;
out bus_read_writestd_logic
High if this transaction is a write, low if it is a read.
Definition: bus_master.vhdl:38
in req_read_writestd_logic
Tells the controller if this is a read or write transaction. High == write, low == read...
Definition: bus_master.vhdl:44
in req_address_linesstd_logic_vector (data_width - 1 downto 0)
Addresses for read and write operations are placed on these lines.
Definition: bus_master.vhdl:47
in req_pendingstd_logic
This is put high to tell the controller a request is pending.
Definition: bus_master.vhdl:50
in resetstd_logic
Asynchonous reset signal.
Definition: bus_master.vhdl:26
inout bus_linesstd_logic_vector (data_width - 1 downto 0)
The lines which carry data and addresses;.
Definition: bus_master.vhdl:29
in clkstd_logic
The main system clock.
Definition: bus_master.vhdl:24
out bus_validstd_logic
Used to assert data written by the bus master to bus_lines is valid.
Definition: bus_master.vhdl:32
out req_acknowledgestd_logic
Definition: bus_master.vhdl:54
inout req_data_linesstd_logic_vector (data_width - 1 downto 0)
Request write data is placed on these lines.
Definition: bus_master.vhdl:41
data_widthinteger :=tim_bus_data_width
The number of data and address lines.
Definition: bus_master.vhdl:20
The bus master controller module which arbitrates bus requests and responses.
Definition: bus_master.vhdl:17
This package contains entity declarations and shared constant values for the bus logic modules...
Definition: bus_common.vhdl:11
in bus_enablestd_logic
Used to assert that the slave has read the bus lines and they can be updated.
Definition: bus_master.vhdl:35