Datasheet
Section 6 Bus Controller (BSC)
Rev.6.00 Mar. 18, 2009 Page 194 of 980
REJ09B0050-0600
Write after Read: If an external write occurs after an external read while the ICIS0 bit is set to 1
in BCR, an idle cycle is inserted at the start of the write cycle.
Figure 6.45 shows an example of the operation in this case. In this example, bus cycle A is a read
cycle for ROM with a long output floating time, and bus cycle B is a CPU write cycle. In (a), an
idle cycle is not inserted, and a collision occurs in bus cycle B between the read data from ROM
and the CPU write data. In (b), an idle cycle is inserted, and a data collision is prevented.
T
1
Address bus
φ
RD
Bus cycle A
Data bus
T
2
T
3
T
1
T
2
Bus cycle B
Long output floating time
Data collision
(a) No idle cycle insertion
(ICIS0 = 0)
T
1
Address bus
φ
RD
Bus cycle A
Data bus
T
2
T
3
T
1
Bus cycle B
(b) Idle cycle insertion
(ICIS0 = 1, initial value)
T
2
HWR
HWR
CS (area A)
CS (area B)
CS (area A)
CS (area B)
Idle cycle
T
i
Figure 6.45 Example of Idle Cycle Operation (Write after Read)
Read after Write: If an external read occurs after an external write while the ICIS2 bit is set to 1
in BCR, an idle cycle is inserted at the start of the read cycle.
Figure 6.46 shows an example of the operation in this case. In this example, bus cycle A is a CPU
write cycle and bus cycle B is a read cycle from an external device. In (a), an idle cycle is not
inserted, and a collision occurs in bus cycle B between the CPU write data and read data from an
external device. In (b), an idle cycle is inserted, and a data collision is prevented.