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

Making Qsys Components and Fixing Memory Problem

Altera_Forum
Honored Contributor II
1,125 Views

Dear Sir, 

 

 

I practiced the tutorial named Making Qsys Components, and have a question. 

 

(linked it following line) 

ftp://ftp.altera.com/up/pub/altera_material/12.0/tutorials/making_qsys_components.pdf 

 

like 31pages and figure 33, 34 of it, i fixed the memory from 0x00000000 to 0x00000001. 

 

It was fixed, but the memory of 0x00000002 to 0x00000003 also changed same values. 

 

(for example: i fixed 0x0000~0x0001 : FFFF, and also changed 0x0002~0x0003 : FFFF) 

 

why does it changed same values? 

 

 

 

(I think it does something to do with Avalon Interface, especially master interface.) 

 

 

 

Thank you.
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
273 Views

That's because Avalon Interface is 32bit wide and has 4 byte enables. Read at page 6 for details. 

I guess the tutorial uses a very basic interface, so you get those aliases.
0 Kudos
Altera_Forum
Honored Contributor II
273 Views

Thank you for reply. 

 

how can i change Avalon Interface to 16bit?
0 Kudos
Altera_Forum
Honored Contributor II
273 Views

You can't change it, but you don't need to. 

You only need to implement 16bit access in the complete way. As I wrote above, the sample component in the tutorial only implements a minimal interface, without taking into account all 4 byte enable lines. 

So, if you want 2 16bit registers at memory addresses 0 and 2 (please note we are still using byte addressing) you access the first one when addr=0 

and only byteenable lines 0 and 1 are asserted; the second one shall be accessed when addr=0 with byteenable 2 and 3 asserted.
0 Kudos
Reply