avalon tristate slave address

Hi,

I try to connect my off-chip 16 bits wide SRAM to a Nios 2 system by using a tristate bus. In the documentation of the avalon interface:

For Avalon tristate slave ports, the address signal represents a byte address. This is different behavior than non-tristate slave ports, which use word addresses. For tristate slave ports, the address signal can be shared among multiple off-chip devices, and these devices might have differing data widths. If the Avalon tristate slave port data width is greater than one byte, then it is necessary to correctly map the address signals from the Avalon switch fabric to the address lines on the slave device.

Table 5: Connecting External Device AO to Avalon address Data Width AO connects to

1-8 avalon_address[0] 9-16 avalon_address[1] 17-32 avalon_address[3] 33-64 avalon_address[3] 65-128 avalon_address[4]

How should I connect my 16 bits wide sram address to the avalon interface?

I tried the next line:

avalon_address : in std_logic_vector(17 downto 0); sram_address : out std_logic_vector(16 downto 0);

sram_address to real avalon tristate address(16) . . avalon_address 1 => to real avalon tristate address(0)

Who has experience with this?

TIA, Frank

Reply to
Frank van Eijkelenburg
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.