This section provides information on the ICACHE Module Instance within this product. Each of the registers within the Module Instance is described separately below.
|
Register Name |
Type |
Register Width (Bits) |
Register Reset |
Address Offset |
|
RO |
32 |
0x6880 0800 |
0x0000 0000 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0004 |
|
|
RO |
32 |
0x0000 0000 |
0x0000 0008 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0010 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0018 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0020 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0040 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0044 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0080 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0084 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 0088 |
|
|
RW |
32 |
0x0000 0000 |
0x0000 008C |
|
Address offset |
0x0000 0000 |
||
|
Description |
The Module and Version Register identifies the module identifier and revision of the icache module. |
||
|
Type |
RO |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:30 |
SCHEME |
Module Scheme |
RO |
0x1 |
||
|
29:28 |
BU |
Module Business Unit |
RO |
0x2 |
||
|
27:16 |
MODULE_ID |
Module ID |
RO |
0x880 |
||
|
15:11 |
RTL_VERSION |
RTL version |
RO |
0x01 |
||
|
10:8 |
MAJOR_REVISION |
Major Revision |
RO |
0x0 |
||
|
7:6 |
CUSTOM_REVISION |
Custom Revision |
RO |
0x0 |
||
|
5:0 |
MINOR_REVISION |
Minor revision |
RO |
0x00 |
||
|
Address offset |
0x0000 0004 |
||
|
Description |
The control register defines the size of the remote cache data storage memory to use and whether the icache controller is enabled. |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31 |
MEM_CENABLE |
. |
RW |
0 |
||
|
30 |
MEM_RENABLE |
. |
RW |
0 |
||
|
29:0 |
Reserved |
|
RO |
0x0000 0000 |
||
|
Address offset |
0x0000 0008 |
||
|
Description |
The Status register displays the state of the icache controller. |
||
|
Type |
RO |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31 |
OK_TO_GO |
The ok_to_go status bit indicates the Tag/LRU Ram has been initialized and the cache is in an operable state. |
RO |
0 |
||
|
30:0 |
Reserved |
|
RO |
0x0000 0000 |
||
|
Address offset |
0x0000 0010 |
||
|
Description |
The Cache Address Low Register defines start of the cacheable space. The icache controller can cache up to a range of 8MB of of the target Flash as defined by CAL gt= CachedRange lt= CAH. This register is write protected when cenable is set. |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:12 |
MEM_ADDR_LOW |
The addr_lo defines the cache low address[31:12] for the icache controller to cache. The remaining bits 10:0 are assumed to be zero |
RW |
0x0 0000 |
||
|
11:0 |
Reserved |
|
RO |
0x000 |
||
|
Address offset |
0x0000 0018 |
||
|
Description |
The L1 Cache Address High Register defines end of the L1 cacheable space. The L1 cache can cache up to a range of 8MB of of the target Flash as defined by CAL >= CachedRange <= CAH. This register is write protected when cenable is set. |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:12 |
MEM_ADDR_HIGH |
The addr_hi defines the L1 high address[31:12] for the L1 to cache. The remaining bits 10:0 are assumed to be ones. |
RW |
0x0 0000 |
||
|
11:0 |
Reserved |
|
RO |
0x000 |
||
|
Address offset |
0x0000 0020 |
||
|
Description |
The RAM Address register defines the upper 17 bits of address for the RAM when renable is set. This register is write protected when renable is set |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:15 |
MEM_SEG_ADDR |
The seg_addr defines RAM address[31:15] value for RAM access . |
RW |
0x0 0000 |
||
|
14:0 |
Reserved |
|
RO |
0x0000 |
||
|
Address offset |
0x0000 0040 |
||
|
Description |
The HIT Counter register holds the number of cache Hits to the internal cache |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:0 |
MEM_HIT_COUNTER |
The hit Counts the number of hits to the L1 cache. Writing zero to this register will clear its contents. |
RW |
0x0000 0000 |
||
|
Address offset |
0x0000 0044 |
||
|
Description |
The MISS Counter register holds the number of cache misses to the internal cache . |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:0 |
MEM_MISS_COUNTER |
The miss Counts the number of misses to the L1 cache. Writing zero to this register will clear its contents. |
RW |
0x0000 0000 |
||
|
Address offset |
0x0000 0080 |
||
|
Description |
The Interrupt Raw Status Register holds the raw status of the icache error interrupts . |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:2 |
Reserved |
|
RO |
0x0000 0000 |
||
|
1 |
WR_HIT |
The wr_hit bit indicates a write to the cacheable range has occured potentially causing a coherency issue and the L1 is logically disabled while this bit is a '1'. Write 1 to set the wr_hit status for diagnostic purposes. Writing a 0 has no effect. |
RW |
0 |
||
|
0 |
WR_ERR |
The wr_err bit indicates a write error has occured to the remote cache data storage memory and the L1 is logically disabled while this bit is a '1'. Write 1 to set the wr_err status for diagnostic purposes. Writing a 0 has no effect. |
RW |
0 |
||
|
Address offset |
0x0000 0084 |
||
|
Description |
The Interrupt Masked Status Register holds the masked status for the icache error interrupts. Writing to this register will EOI the interrupt, that is if another interrupt is pending, a new pulse interrupt will be generated . |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:2 |
Reserved |
|
RO |
0x0000 0000 |
||
|
1 |
MEM_HIT |
The wr_hit bit indicates a write to the cacheable range has occured potentially causing a coherency issue and the L1 is logically disabled while this bit is a '1'. Write 1 to clear the wr_hit status after interrupt has been serviced (raw status gets cleared, i.e. even if not enabled). Writing a 0 has no effect to this field. |
RW |
0 |
||
|
0 |
MEM_ERR |
The wr_err bit indicates a write error has occured to the remote cache data storage memory and the L1 is logically disabled while this bit is a '1'. Write 1 to clear the wr_err status after interrupt has been serviced (raw status gets cleared, i.e. even if not enabled). Writing a 0 has no effect to this field. |
RW |
0 |
||
|
Address offset |
0x0000 0088 |
||
|
Description |
The Interrupt Enable Set Register holds the interrupt enable status of the icache error interrupts . |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:2 |
Reserved |
|
RO |
0x0000 0000 |
||
|
1 |
EN_WR_HIT |
Interrupt Enable Set for wr_hit error bit. Writing a 1 will enable the interrupt, and set this bit as well as the corresponding Interrupt Enable Clear Register. Writing a 0 has no effect. |
RW |
0 |
||
|
0 |
EN_WR_ERR |
Interrupt Enable Set for wr_err error bit. Writing a 1 will enable the interrupt, and set this bit as well as the corresponding Interrupt Enable Clear Register. Writing a 0 has no effect. |
RW |
0 |
||
|
Address offset |
0x0000 008C |
||
|
Description |
The Interrupt Enable Clear Register holds the interrupt enable status of the icache error interrupts. |
||
|
Type |
RW |
||
|
Bits |
Field Name |
Description |
Type |
Reset |
||
|
31:2 |
Reserved |
|
RO |
0x0000 0000 |
||
|
1 |
EN_WR_HIT |
Interrupt Enable Clear for wr_hit error bit. Writing a 1 will disable the interrupt, and clear this bit as well as the corresponding Interrupt Enable Set Register. Writing a 0 has no effect |
RW |
0 |
||
|
0 |
EN_WR_ERR |
Interrupt Enable Clear for wr_err error bit. Writing a 1 will disable the interrupt, and clear this bit as well as the corresponding Interrupt Enable Set Register. Writing a 0 has no effect. |
RW |
0 |
||