10 use ieee.std_logic_1164.
ALL;
11 use ieee.numeric_std.
ALL;
40 elsif(clk'event and clk = '1') then
164 end architecture tim_bus_slave_rtl;
state_machine_progressclk,reset
Responsible for the synchronous state transitions and asynchronous resets.
state_machine_next_stateclk,bus_valid,bus_lines,bus_read_write
Responsible for determining the next state of the statemachine.
address_range_bottominteger :=0
The bottomof the range of addresses to which this slave controller will respond to requests...
The bus slave controller module which responds to requests from the master.
in bus_read_writestd_logic
High if this transaction is a write, low if it is a read.
tim_bus_master_state :=BUS_RESET current_state
The current state of the controller.
out req_address_linesstd_logic_vector (data_width - 1 downto 0)
The address the bus transaction is targeting within the device.
data_widthinteger :=tim_bus_data_width
The number of data and address lines.
in bus_validstd_logic
Used to assert data written by the bus master to bus_lines is valid.
in resetstd_logic
Asynchonous reset signal.
bus_outputscurrent_state,req_data_lines
Responsible for driving the bus outputs based on the current state of the controller.
address_range_topinteger :=1023
The top of the range of addresses to which this slave controller will respond to requests.
device_outputscurrent_state,bus_lines,internal_address_lines
Responsible for driving the bus device outputs based on the current state of the controller.
std_logic_vector (data_width - 1 downto 0) internal_data_lines
Internal storage for the data of a transaction.
std_logic_vector (data_width - 1 downto 0) internal_address_lines
Internal storage for the address of a transaction.
out req_read_writestd_logic
Whether this is a read or write transaction the device must respond to.
out bus_enablestd_logic
Used to assert that the slave has read the bus lines and they can be updated.
in clkstd_logic
The main system clock.
in req_donestd_logic
Tells the controller the device has written/read all values from the address and data lines and can f...
inout req_data_linesstd_logic_vector (data_width - 1 downto 0)
The data the transaction needs. Either read data is put onto this or write data is taken off it...
tim_bus_master_state :=IDLE next_state
The next state of the controller.
out req_pendingstd_logic
Tells the host device a bus request needs dealing with.
inout bus_linesstd_logic_vector (data_width - 1 downto 0)
The lines which carry data and addresses;.
This package contains entity declarations and shared constant values for the bus logic modules...