Hi Daixiwen,
Thank you for your reply, I appreciate it.
--- Quote Start ---
When you do IOWR(ONCHIP_MEMORY2_1_BASE, 0x3fe, "THIS IS TO TEST HOW MUCH DATA CAN A MEMORY SPACE CONTAIN") you don't write the string to the onchip memory, you just write its address, which is a 32-bit word. The size of the string doesn't matter
--- Quote End ---
So where is the string stored in memory then? Is it the same case in writing bit streams? Where will the DATA be stored in the on-chip memory?
You said that I just write the 32-bit word address to the onchip memory, then what happens to the DATA?
--- Quote Start ---
The IORD/IOWR macros read and write 32 bit words only, and it isn't an address that you give them, but a register number.
--- Quote End ---
It means that I have 1024 registers, each accessing 4 address spaces in the physical memory? Okay, then how many bits of data is stored in each byte address? it isn't 32bits I assume because FFF (4096) addressable spaces at 32 bits each would give 16,380 bytes of data, whereas the memory module is only 4096 bytes big.
--- Quote Start ---
When you do IORD(ONCHIP_MEMORY2_1_BASE, 0x3fe), the actual addresses accessed are the 4 bytes at ONCHIP_MEMORY2_1_BASE+4*0x3fe to ONCHIP_MEMORY2_1_BASE+4*0x3fe+3 (0x00011ff8 - 0x00011ffb).
--- Quote End ---
What is the significance of this? Can you point me to what literature this is found?
Thank you very much.
Regards,