i4000 - Quad |
|
User Manual | Version: 1.2 |
5.1.2.ADDRESS MAPPING
As mentioned before the address space occupied by the i4000 board is 0x800 bytes
Using this method of address decoding provides an identical address map of each module on the i4000 board. This makes writing the software easier since just the base address of the module, not the base address of the i4000 has to be known. Every module has its own
Address map of the i4000
0x000..0x0ff | Module |
|
0x101 | Control register (CR0) | Module 0 |
0x103 | Vector register (VR0 |
|
|
|
|
0x200..0x2ff | Module |
|
0x301 | Control register (CR1) | Module 1 |
0x303 | Vector register (VR1) |
|
0x400..0x4ff | Module |
|
0x501 | Control register (CR2) | Module 2 |
0x503 | Vector register (VR2) |
|
|
|
|
0x600..0x6ff | Module |
|
0x701 | Control register (CR3) | Module 3 |
0x703 | Vector register (VR3) |
|
|
|
|
The base address of a module can be calculated using the following formula:
ModuleBaseAddress = i4000BaseAddress + ModuleNumber * 0x200
EXAMPLE:
The installed base address of the i4000 is 0x800000. A module is fitted into slot 2. The module base address is then 0x800000 + 2 * 0x200 = 0x800400. When using a 32 bit master, which accesses the standard address space at address 0xff??????, the module will be accessed at address 0xff800400. The corresponding interrupt control register address is then 0xff800501.
| AcQuisition Technology bv |
| P.O. Box 627, 5340 AP |
Page 20 of 25 | Oss, The Netherlands |