Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20707 Discussions

MUltiple Avalon Buses in a single FPGA

Altera_Forum
Honored Contributor II
2,429 Views

Hi, 

Is there a way to have two avalon buses on a single FPGA. I understand that there is avalon interconnection fabic and there can be multiple masters on the bus with multiple slave units with slave side arbitration.  

 

Needed your comments on this.. 

 

Thanks 

Sheshi
0 Kudos
8 Replies
Altera_Forum
Honored Contributor II
496 Views

Yes. You can create multiple avalon buses within a single SOPC builder system. Or you can create multiple SOPC systems. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

Thanks! 

 

How can we do this? Assuming that i have multiple Avalon masters and multiple slaves, i understand that, all these masters & slaves are connected on a common avalon bus. If iam going with a point-to-point communication b'n masters & slaves, can the configuration mentioned below is possible? 

 

Avalon bus 1 -- datawidth(32) Address_bus1 - Master 1 -- Slave1 

Avalon bus 2 -- datawidth(128) Address_bus2- Master 2 -- Slave2 

Avalon bus 3 -- datawidth(16) Address_bus3- Master 3 -- Slave3 

 

There is no mention of multiple avalon busses in the avalon specification document. hopefully there can be multiple data buses on the same avalon switch fabric, but not the bus as whole {i mean address, data and control planes}. 

 

Correct me if i am wrong. 

 

-sheshi
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

I know for a fact that you can have independent sections in a single SOPC with different datawidth's. In our system, we have a NIOS processor with a dedicated data/instruction ram, then we also have a couple of other masters that only access a 128 bit wide ram. 

 

The two systems are not directly connected to each other, and have overlapping address space, so I'm pretty sure the address and control buses are independent. But I haven't looked inside to verify. 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

To answer the question how: By default, when you add a new slave it the SOPC system tends to hook it up to the primary master (NIOS) data bus.  

 

We added all masters and slaves in the system, then disconnected and isolated the masters and databuses by clicking on the interconnect diagrams and manually hooking them up the way we wanted. (IE only having the masters talk to the slaves we wanted them to talk to.) 

 

Once the connections were complete, we could then change the different sections address ranges where we wanted them to be. 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

Thanks for the reply pete.. Yup you are right. I could check it myself in SOPC Builder

0 Kudos
Altera_Forum
Honored Contributor II
496 Views

Hi anakha,  

 

It seems that, in your system, multiple Avalon Buses reside in the same SOPC system. Can we decouple them into different systems?
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

Yes. 

 

You can use the "MegaWizard" to generate a second SOPC system then have the top call both systems. (make sure to call them different names) 

 

Pete
0 Kudos
Altera_Forum
Honored Contributor II
496 Views

Yeah, that's what I am looking for. Thanks, Pete.

0 Kudos
Reply