6.5.1 Registered Inputs
Some FPGAs provide a flip-flop or latch that you can use as part of the I/O circuit (registered I/O). For other FPGAs you have to use a flip-flop or latch using the basic logic cell in the core. In either case the important parameter is the input setup time. We can measure the setup with respect to the clock signal at the flip-flop or the clock signal at the clock input pad. The difference between these two parameters is the clock delay.
|
|
|
FIGURE 6.18
Clock input. (a) Timing model with values for a Xilinx XC4005-6. (b) A simplified view of clock distribution. (c) Timing diagram. Xilinx eliminates the variable internal delay
t
PG
, by specifying a pin-to-pin setup time, t
PSUFmin
= 2 ns.
|
Figure 6.18
shows part of the I/O timing model for a Xilinx XC40005-6.
-
t
PICK
is the fixed setup time for a flip-flop relative to the flip-flop clock.
-
t
skew
is the variable
clock skew
, the signed delay between two clock edges.
-
t
PG
is the variable clock delay or
latency
.
To calculate the flip-flop setup time (
t
PSUFmin
) relative to the clock pad (which is the parameter system designers need to know), we subtract the clock delay, so that
|
t
PSUF
=
t
PICK
–
t
PG
.
|
(6.6)
|
The problem is that we cannot easily calculate
t
PG
, since it depends on the clock distribution scheme and where the flip-flop is on the chip. Instead Xilinx specifies
t
PSUFmin
directly, measured from the data pad to the clock pad; this time is called a
pin-to-pin timing parameter
. Notice
t
PSUF
min
= 2 ns ≠
t
PICK
–
t
PG
max
= –1 ns.
Figure 6.19
shows that the hold time for a XC4005-6 flip-flop (
t
CKI
) with respect to the flip-flop clock is zero. However, the pin-to-pin hold time including the clock delay is t
PHF
= 5.5 ns. We can remove this inconvenient hold-time restriction by delaying the input signal. Including a programmable delay allows Xilinx to guarantee the pin-to-pin hold time (
t
PH
) as zero. The penalty is an increase in the pin-to-pin setup time (
t
PSU
) to 21 ns (from 2 ns) for the XC4005-6, for example.
|
|
|
FIGURE 6.19
Programmable input delay. (a) Pin-to-pin timing model with values from an XC4005-6. (b) Timing diagrams with and without programmable delay.
|
We also have to account for clock delay when we register an output.
Figure 6.20
shows the timing model diagram for the clock-to-output delay.
|
FIGURE 6.20
Registered output. (a) Timing model with values for an XC4005-6 programmed with the fast slew-rate option. (b) Timing diagram.
|
|