Combinatorial logic with loops 4 th November 2009 Denis A Nicole

Preview:

Citation preview

Combinatorial logic with loops4th November 2009

Denis A Nicole

2

A quick note of solidarity

Scientists should be on tap and not on top

Patrick Cormack MP (C South Staffordshire)commenting in the House on Prof Nutt’s sacking

3

Some History

Suppose you live in a world in which positive logic (AND, OR) is cheap but inverters (NOT) are very expensive.

It was once rather like that. You can make AND and OR gates out of diodes but inverters need transistors:

OR AND NOT

4

You can make a diode

You just need a little fool’s gold

5

Transistors are harder

6

Some simple stuff

• Boolean functions take a vector of {0,1} inputs and return a vector of outputs:

Y = f(X)

• There is an obvious partial order on the Boolean vectors

• Give-or take the availability of constants 0 and 1, we can clearly implement any monotonic function with just AND and OR gates using disjunctive normal form

• If we invert all inputs, we can easily generate any function

31211 | XXXXY

431211 || XXXXXY

ii XYi :XY

7

Modern implementation

• Generic functions are implemented in ROM.

• Fast, semi-structured, functions are implemented in PLAs; The DNF is created by programming the Xs in the AND array to connect (or not) to the horizontal OR inputs. The OR array is fixed.

• Transistors are now very cheap.

• Wire is often not cheap.

8

What can go wrong?

Glitches

• In a real circuit, there are delays everywhere; much of the delay in a modern system is in the wires. These delays can also be very different for 0→1 and 1 → 0 transitions.

• In the “selector” circuit,

What happens if X2 = 1, X3 = 1 when X1 makes a transition? There might be a short 0 pulse on the output. This might not matter; if the output is to be latched on a later clock transition, we can ignore the glitch. If, however, the circuit connected to Y is counting transitions, something will go wrong.

• If necessary, we prevent glitches with additional terms:

3121 | XXXXY

323121 || XXXXXXY

9

Fan-in, fan-out and depth

• In most logic families, gates are designed with a fixed number of inputs; they can also drive only a bounded number of outputs.

• In all families, signal delay, which is usually an important performance metric, increases with the number of gate layers through which the signal flows.

• In modern CMOS, power consumption and RFI are roughly proportional to both the number of gates which switch and their switching frequency.

• Laying out the wires can be difficult if there is a complex topology; these are embeddings into 2D which are very non-planar (requiring many “vias” which increase cost and reduce reliability) or have poor locality (delay from long wires).

What can go wrong?

10

Lets minimise NOTsWe’ll introduce a threshold gate:

the output is high if enough inputs are high. For example, a 7 input gate with a threshold of 4 is just the OR of all 7!/(4!3!) permutations of four ANDed inputs. A threshold gate is monotonic; it needs no inverters: you could use 4-input AND gates and one big OR.

We can easily binary encode 7 inputs using three threshold gates and two inverters

Markov, 1957

11

Minimising inverters• Now we have the binary encoding, we can uniquely

select each term in the disjunction by ANDing the required positive inputs and also ANDing the correct count. For example, we can invert three inputs with two inverters:

12

So you only need two inverters

• The construction makes three inverters from two.

• Apply it recursively.

• You only need two inverters for any logic circuit.

• So optimising inverters is not, on its own, sensible.

13

Combinatorial logic with loops

What can go wrong?

• State: the output may depend on history

• Metastability: the output may take a long time in a non-logic state, between 1 and 0.

• Oscillation: the output may make many transitions. Note that the oscillation may be infinite, or may take place within a glitch.

14

Modern work is by Marc Riedel

15

16

Invert two signals with one inverter?

Circuits with feedback

17

Halving total logic with feedback

18Marc Riedel

Heritage• AA Markov

• DA Huffman

• Best Caltech thesis 2004

19

20

Vin

GND

Vref

D1

D4

Sign

ENB

A/D Converter

Vin

GND

Vref

D1

D4

Sign

ENB

A/D Converter

Recommended