53
AT94KAL Series FPSLIC
Rev. 1138G–FPSLI–11/03
FPGA Cache Logic
FPGA Cache Data Register – FPGAD
The FPGAD I/O Register address is
not
supported by a physical register; it is simply the I/O
address that, if written to, generates the FPGA Cache I/O write strobe. The CACHEIOWE sig-
nal is a qualified version of the AVR IOWE signal. It will only be active if an OUT or ST (store
to) instruction references the FPGAD I/O address. The FPGAD I/O address is write-sensitive-
only; an I/O read to this location is ignored. If the AVR Cache Interface bit in the SCR [BIT62]
is set (one), the data being “written” to this address is cached to the FPGA address specified
by the FPGAX..Z registers (see below) during the active CACHEIOWE strobe.
FPGA Cache Z Address Registers – FPGAX..Z
The three FPGA Cache address registers combine to form the 24-bit address, CAC-
HEADDR[23:0], delivered to the FPGA cache logic outside the AVR block during a write to the
FPGAD I/O Register (see above).
FPGA I/O
Selection by AVR
Sixteen select signals are sent to the FPGA for I/O addressing. These signals are decoded
from four I/O registry addresses (FISUA...D) and extended to sixteen with two bits from the
FPGA I/O Select Control Register (FISCR). In addition, the FPGAIORE and FPGAIOWE sig-
nals are qualified versions of the IORE and IOWE signals. Each will only be active if one of the
four base I/O addresses are referenced. It is necessary for the FPGA design to implement any
required registers for each select line; each qualified with either the FPGAIORE or
FPGAIOWE strobe. Refer to the FPGA/AVR Interface section for more details
.
Only the
FISCR registers physically exist. The FISUA...D I/O addresses for the purpose of FPGA I/O
selection are NOT supported by AVR Core I/O space registers; they are simply I/O addresses
(available to 1 cycle IN/OUT instructions) which trigger appropriate enabling of the FPGA
select lines and the FPGA IORE/IOWE strobes (see Figure 18 on page 21).
FPGA I/O Select Control Register – FISCR
• Bit 7 - FIADR: FPGA Interrupt Addressing Enable
When FIADR is set (one), the four dual-purpose I/O addresses, FISUA..D, are mapped to four
physical registers that provide memory space for FPGA interrupt masking and interrupt flag
status. When FIADR is cleared (zero), and I/O read or write to one of the four dual-purpose I/O
addresses, FISUA..D, will access its associated group of four FPGA I/O select lines. The
XFIS1 and XFIS0 bits (see Table 13) further determine which one select line in the accessed
group is set (one). A read will assign the FPGA I/O read enable to the AVR I/O read enable
(FPGAIORE
←
IORE) and a write, the FPGA I/O write enable to the AVR I/O write enable
Bit
7
6
5
4
3
2
1
0
$1B ($3B)
MSB
LSB
FPGAD
Read/Write
W
W
W
W
W
W
W
W
Initial Value
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
Bit
7
6
5
4
3
2
1
0
$18 ($38)
FCX7
FCX6
FCX5
FCX4
FCX3
FCX2
FCX1
FCX0
FPGAX
$19 ($39)
FCY7
FCY6
FCY5
FCY4
FCY3
FCY2
FCY1
FCY0
FPGAY
$1A ($3A)
FCT3
FCT2
FCT1
FCT0
FCZ3
FCZ2
FCZ1
FCZ0
FPGAZ
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial Value
0
0
0
0
0
0
0
0
Bit
7
6
5
4
3
2
1
0
$13 ($33)
FIADR
-
-
-
-
-
XFIS1
XFIS0
FISCR
Read/Write
R/W
R
R
R
R
R
R/W
R/W
Initial Value
0
0
0
0
0
0
0
0