Architecture
LatticeECP2/M Family Data Sheet
Lattice Semiconductor
Figure 2-30. Input Register Block Top Edge
INCK*
INDD
DI
(from sysIO
buffer)
Fixed Delay
Dynamic Delay
IPOS0
D
Q
D-Type
/LATCH
DEL[3:0]
CLK0
(from
routing)
Note: Simplified version does not show CE and SET/RESET details.
*On selected blocks.
Output Register Block
The output register block provides the ability to register signals from the core of the device before they are passed
to the sysI/O buffers. The blocks on the PIOs on the left, right and bottom contain a register for SDR operation that
is combined with an additional latch for DDR operation. Figure 2-31 shows the diagram of the Output Register
Block for PIOs on the left, right and the bottom edges. Figure 2-32 shows the diagram of the Output Register Block
for PIOs on the top edge of the device.
In SDR mode, ONEG0 feeds one of the flip-flops that then feeds the output. The flip-flop can be configured as a D-
type or latch. In DDR mode, ONEG0 and OPOS0 are fed into registers on the positive edge of the clock. Then at
the next clock cycle this registered OPOS0 is latched. A multiplexer running off the same clock selects the correct
register for feeding to the output (D0).
By combining the output blocks of the complementary PIOs and sharing some registers from input blocks, a gear-
box function can be implemented, that takes four data streams: ONEG0A, ONEG1A, ONEG1B and ONEG1B.
Figure 2-32 shows the diagram using this gearbox function. For more information about this topic, please see infor-
mation regarding additional documentation at the end of this data sheet.
2-33