- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for reply.
how can i change Avalon Interface to 16bit?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page