XC3000 | XC4000E | XC4000X | XC5200 | XC9000 | Spartan | SpartanXL | Spartan2 | Virtex |
---|---|---|---|---|---|---|---|---|
N/A | N/A | N/A | N/A | Macro | N/A | N/A | N/A | N/A |
CB2RLE, CB4RLE, CB8RLE, and CB16RLE are, respectively, 2-, 4-, 8-, and 16-bit (stage), synchronous, loadable, resettable, cascadable binary counter. The synchronous reset (R) is the highest priority input. The synchronous R, when High, overrides all other inputs and resets the Q outputs, terminal count (TC), and clock enable out (CEO) outputs to Low on the Low-to-High clock (C) transition.
The data on the D inputs is loaded into the counter when the load enable input (L) is High during the Low-to-High clock (C) transition, independent of the state of CE. The Q outputs increment when CE is High during the Low-to-High clock transition. The counter ignores clock transitions when CE is Low. The TC output is High when all Q outputs are High. The CEO output is High when all Q outputs and CE are High to allow direct cascading of counters.
Larger counters are created by connecting the CEO output of the first stage to the CE input of the next stage and by connecting the C, L, and R inputs in parallel. The maximum length of the counter is determined by the accumulated CE-to-CEO propagation delays versus the clock period. When cascading counters, use the CEO output if the counter uses the CE input; use the TC output if it does not.
The counter is asynchronously cleared, output Low, when power is applied. For CPLDs, the power-on condition can be simulated by applying a High-level pulse on the PRLD global net.
Inputs | Outputs | ||||||
---|---|---|---|---|---|---|---|
R | L | CE | C | Dz - D0 | Qz - Q0 | TC | CEO |
1 | X | X | X | 0 | 0 | 0 | |
0 | 1 | X | Dn | dn | TC | CEO | |
0 | 0 | 0 | X | X | No Chg | No Chg | 0 |
0 | 0 | 1 | X | Inc | TC | CEO | |
z = 1 for CB2RLE; z = 3 for CB4RLE; z = 7 for CB8RLE; z = 15 for CB16RLE dn = state of referenced input (Dn) one setup time prior to active clock transition TC = QzQ(z-1)Q(z-2)...Q0 CEO = TCCE |