FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP

Pipeline Bridge

Altera_Forum
Honored Contributor II
1,747 Views

Hi, 

 

i have a problem with the address calculation of the pipeline bridge. 

I'am using Quartus 10.0 Sp1 and SOPC Builder. 

 

To increase the system frequency, i want to use a pipeline bridge 

tha is connected to a tristate bridge. 

the tristate bridge is connected to three memories. 

( See attachment ) 

 

Flash : 0x00000000 .. 0x03ffffff (64 MByte) 

SRAM : 0x04000000 .. 0x040fffff ( 1 MByte ) 

FE-RAM : 0x04100000 .. 0x04101fff ( 8 KByte ) 

 

The "Base Address" from the Pipeline Bridge is 0x00000000 ! 

 

SOPC Calculates the "End Address" 0x07ffffff. Why ? 

 

I expect that the "End Address" must have 0x04101fff. 

 

Can anyone explain the address calculation of the pipeline bridge ? 

 

Thanks,
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
793 Views

Because the address decode will always ignore low order bits - or, equiv, all items are 2^n bits wide.

0 Kudos
Altera_Forum
Honored Contributor II
793 Views

This is from chapter 11 of Quartus Handbook (Avalon Memory-Mapped Bridges): 

"The address span of an Avalon-MM bridge is the smallest power-of-two size that 

encompasses all of its slave’s ranges."
0 Kudos
Altera_Forum
Honored Contributor II
793 Views

Thank you for your answers. 

 

Ok. Any Bridge, (Clock Crossing or Pipeline) delivers a new Master Port to the Components that are enclosed from the Bridge. 

 

If i want to Address (64 MByte + 1 MByte + 8KByte), the Master Port needs 27 Address lines to access all slave addresses. 

 

2^27 = 128 MByte = 0x07FFFFFF 

 

Result:  

The Address Range for my Pipeline Bridge is 0x00000000..0x07FFFFFF 

 

I have to think better soon ;-)
0 Kudos
Reply