Title: Avalon interface AvalonMubus
1Avalon interfaceAvalon-Mubus
- Goal
- Understanding of a synchronous bus Avalon
- Understanding of an asynchronous bus Mubus
- by a simple Avalon to Mubus bridge
- functional timing analysis
2Avalon switch fabric
3Avalon slave signals
4Avalon Bus
5Avalon slaveread, 0 wait, asynchronous peripheral
6Avalon slave read, 1 wait
Wait cycle specified by design
7Avalon readslave, 2 wait
8Avalon readslave, wait request generated by
slave device
9Avalon readslave, 1 set up and 1 wait
10Avalon writeslave, 0 wait
11Avalon write slave, 1 wait
12Avalon writeslave, wait request generated by
slave
13Avalon writeslave, 1 set up, 1 hold, 0 wait
1 su
1 hold
14Bus avalon
15Avalonmaster signals (1)
16Avalonmaster signals (2)
17Avalon readmaster, 0 wait
18Master Avalon readwait generated by slave or
Avalon bus
19Master Avalon write0 wait
20Master Avalon writewait generated by slave or
Avalon bus
21Avalon interfaceAvalon-Mubus
- Design of the Avalon-Mubus interface
- Global view
- Timing to generate
- Read/Write transfers equations
22Avalon-Mubus General system view
A5..0
Avalon_Mubus Interface
P_n
Avalon Master
R_Wn
Clk
Clk
D7..0
Av_ReadData7..0
Av_WriteData7..0
ReadData31..0
ByteEnable3..0
WriteData31..0
Address31..0
WaitRequest
Av_Add5..0
Av_Read
Av_Write
Av_Write
Av_CS
Write
Read
Avalon Bus Switch
dec
23Mubus external Interface
Read Cycle
Write Cycle
Data read
Data Write
24Avalon timing
Write Cycle
Read cycle
25Timing
- Mubus Address stable
- Before P_n activated (at '0')
- After P_n desactivated
- ? delayed from Avalon address by 1 clk
- Mub_A5..0 lt Av_Ad5..0 when rising_edge(clk)
26Timing
- Mubus R_Wn stable for write cycle
- Before P_n activated (at '0')
- After P_n desactivated
- ? delayed from Avalon Write signal by 1 clk
- WrRet lt Av_Write when rising_edge(clk)
- With
- Av_Write 1 set_up, 1 hold time, 1..xx wait
- Mub_R_Wn lt Av_Write OR WrRet
27Timing
- Mubus P_n stable
- Addresses stable
- R_Wn stable
- Write cycle DataWrite stable
- P_n lt Not (Av_CS AND ((Av_Wr AND WrRet) OR
- (Av_Rd AND RdRet)))