Amphithéâtre Maurice Halbwachs, Site Marcelin Berthelot
Open to all
-

Abstract

Sequential circuits

In synchronous circuits, operations follow one another in discrete time steps. A synchronous circuit is made up of two conceptually distinct but physically intertwined parts: the Combinatorics part, on which the computation is based at each instant, and the registers, which store the values from one instant to the next. The registers are governed by a clock, which produces square-wave signals of which only the rising edges are of interest here. At each rising edge, the registers simultaneously sample and store the values of their inputs [1], then propagate these values to their outputs for the entire next cycle. A register is therefore a shifter with respect to discrete time. For simplicity's sake, we'll assume that the registers are initialized to 0 at the first cycle. For the calculation to run smoothly, it must be guaranteed that the time distance between successive rising edges of the clock is greater than the sum of the critical delay of the Combinatorics part and the register changeover time (usually much less): a synchronous circuit can therefore only operate at 1 gigahertz if this sum is less than 1 nanosecond. In the figures, a register will be drawn as a square.

References

[1] Except for micro-time shifts due to small differences in the length of the clock wires reaching them - the design of clock signal distribution trees being a subject in itself.

[2] J. Vuillemin, "On circuits and numbers", IEEE Trans. on Computers, 43(8), 1994, 868-79.