
PRELIMINARY FullFlex
Document #: 38-06072 Rev. *E Page 15 of 48
Counter Reset Operation
All unmasked bits of the counter are reset to “0”. All masked
bits remain unchanged. The new burst counter value is loaded
into the mirror registers. A mask reset followed by a counter
reset will reset the counter and mirror registers to 00000.
Mask Reset Operation
The mask register is reset to all “1s”, which unmasks every bit
of the burst counter.
Increment Operation[1]
Once the address counter is initially loaded with an external
address, the counter can internally increment the address
value and address the entire memory array. Only the
unmasked bits of the counter register are incremented. In
order for a counter bit to change, the corresponding bit in the
mask register must be “1”. If the two least significant bits of the
mask register are “11”, the burst counter will increment by one.
If the two least significant bits are “10”, the burst counter will
increment by two, and if they are “00”, the burst counter will
increment by four. If all unmasked counter bits are incre-
mented to “1” and WRP is deasserted, the next increment will
wrap the counter back to the initially loaded value. The cycle
before an increment will result in the unmasked counter bits
being “1s”, a counter interrupt flag (CNTINT) is asserted if the
counter is continuously incrementing. The next increment will
cause the counter to reach its maximum value and the second
increment will return the counter register to its initial value
which was stored in the mirror register when WRP is
deasserted. When WRP is asserted, the second increment
after CNTINT is asserted will load the unmasked counter bits
with “0”. The example shown in Figure 5 shows an example of
the CYDD36S18V18 device with the mask register loaded with
a mask value of 0007F unmasking the seven least significant
bits. Setting the mask register to this value allows the counter
to access the entire memory space. The address counter is
then loaded with an initial value of 00005 assuming WRP is
deasserted. The base address bits (in this case, the seventh
address through the twentieth address) do not increment once
the counter is configured for increment operation. The counter
address will start at address 00005 and will increment its
internal address value until it reaches the mask register value
of 0007F. The counter wraps around the memory block to
location 00005 at the next count. CNTINT is issued when the
counter reaches the maximum –1 count.
Hold Operation
The value of all three registers can be constantly maintained
unchanged for an unlimited number of clock cycles. Such
operation is useful in applications where wait states are
needed, or when address is available a few cycles ahead of
data in a shared bus interface.
Retransmit
Retransmit allows repeated access to the same block of
memory without the need to reload the initial address. An
internal mirror register stores the address counter value last
loaded. When the burst counter reaches its maximum value
set by the mask register, it wraps back to the initial value stored
in the mirror register as long as WRP is deasserted. The
unmasked counter bits will be loaded with “0” if WRP is
asserted. If the counter is configured to continuously be in
increment mode, it increments once again to the maximum
value and wraps back to the value initially stored in the mirror
register as long as WRP is deasserted. While RET is asserted
low, the counter will continue to wrap back to the value in the
mirror register independent of the state of WRP
.
Counter Interrupt
The counter interrupt (CNTINT) is asserted LOW one clock
cycle before an increment operation that results in the
unmasked portion of the counter register being all “1s”. It is
deasserted by counter reset, counter load, mask reset, mask
load, counter increment, re-transmit, and MRST.
Counting by Two
When the two least significant bits of the mask register are
“10,” the counter increments by two.
Counting by Four
When the two least significant bits of the mask register are
“00,” the counter increments by four.
Mailbox Interrupts
The upper two memory locations can be used for message
passing and permit communications between ports. Tabl e 10
shows the interrupt operation for both ports. The highest
memory location is the mailbox for the right port and the
maximum address–1 is the mailbox for the left port.
When one port Writes to the other ports mailbox, the INT flag
of the port that the mailbox belongs to is asserted LOW. The
INT flag remains asserted until the mailbox location is read by
the other port. When a port reads it’s mailbox, the INT flag is
H H L H H L Busy Address
Readback
Read out first busy address after last busy
address readback
HH L LHXReserved
HH L HLLReserved
HH L HHHReserved
HH H HLLReserved
HH H HHLReserved
Table 9. Burst Counter and Mask Register Control Operation (Any Port) (continued)[21,22]
CMRSTCNTRST CNT/MSK CNTEN ADS RET Operation Description