[CST-2] VLSI Design

Anthony Jones amj30@cam.ac.uk
Mon, 27 May 2002 19:41:06 +0100


On Mon, May 27, 2002 at 07:06:53PM +0100, Jamie Shotton wrote:
> Can anyone please briefly explain what he's going on about on page 31
> (Function Generators) of the notes; specifically, where do those
> seemingly arbitrary numbers come from in the table?

It's a bit obscure the way it's presented, but basically it works as
follows: by setting the f(1,1)...f(0,0) wires at the bottom to certain
values, you make the output Q behave as a certain arbitrary function of A
and B. 

For instance, if the control values are 14d = 1110b (as in the case of ~K
for the operation A+B in the table), then f(1,1) = 1, f(1,0) = 1, f(0,1) =
1, f(0,0) = 0. Which is the function f(A,B) = A+B, as required for ~K (see
page 30 -- K = ~(A+B)). Similarly, on the same line, ~P has 16 = 1001b,
meaning ~(A XOR B), giving P = A XOR B as required...

HTH,

Ant