Forum Discussion
Altera_Forum
Honored Contributor
12 years agoMaking Qsys Components and Fixing Memory Problem
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.3 Replies
- Altera_Forum
Honored Contributor
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. - Altera_Forum
Honored Contributor
Thank you for reply.
how can i change Avalon Interface to 16bit? - Altera_Forum
Honored Contributor
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.