FD1. Adders, shifters and PLAs: the exam way
This is the exam way of FD1: each part as you would write it on the paper, with what to recognize, the lines to write, the trap to watch and the answer. Every part keeps the anchor it has on FD1, so the switch at the top of the page takes you to the same part’s full solution. The methods are three cards of the playbook: parallel-prefix adders for FN17-8, logarithmic shifters for FN12-6, and PLAs for FN12-10a and FN19-6, whose replica clocks also use the clock-generation card. FD1’s seven harder variations stay on FD1 only, at the end of each family: adders, shifters and PLAs. Work them there, against the budgets their titles give.
The clock. The past finals gave 180 minutes. FN12 had 200 points, 0.9 min a point, so its 15-point shifter has about 14 minutes and its 9-point PLA about 8; FN17 and FN19 had 250, 0.72 min a point, so FN17-8’s 15 points have about 11 minutes and FN19-6’s 10 and 8 points about 7 and 6. (The past midterms gave 75 minutes for 150 points, 0.5 min a point: a final part has more time, and more steps.)
Three conventions run through every line below. The adder’s carry-in is position 0, entered as the pair , and the bits are 1 to 8; a span is positions to , high index first. Delays in are Chapter 17’s example values, , (one radix-2 element), , with fan-out ignored. A PLA’s literal lines run , ground, ; a device whose gate sits on a line pulls its row low when that line is 1. Input rows are written .
FN17-8: an 8-bit parallel-prefix adder and its critical path (15 points)
FN17-8, p18. Draw the block schematic diagram of an 8-bit parallel adder composed of an interconnection of three logic building blocks: a PG generator with the equations: , , a radix-two lookahead element with the equations: , , and sum generator with the equation: . Draw the critical path through your network. (15 points)
FN17-8 prints no figure. This is the network its adder is built on: the 8-bit Kogge–Stone network (Chapter 17 §3; Lecture16 @ 10:41, redrawn). Row ends in ; 21 elements in 4 levels. Turned a quarter turn anticlockwise, its rows are the key’s bit columns, bit 8 at the left.
The adder and its critical path (15 points)
FN17-8, p18. Draw the block schematic diagram of an 8-bit parallel adder composed of an interconnection of three logic building blocks: a PG generator with the equations: , , a radix-two lookahead element with the equations: , , and sum generator with the equation: . Draw the critical path through your network. (15 points)
Hint
Recognize. Parallel-prefix adders: three rows of blocks, “radix-two” means a tree of two-input merges, “critical path” means the deepest chain. About 11 minutes, all of it drawing: lay out the nine columns first, then the levels.
On the paper.
- Positions: at 0, bits 1–8; bit 8 at the left
- Bottom: 8 PG blocks, ,
- Network: Kogge–Stone; level merges a row with the one below
- Levels: 1:0 … 8:7 (8); 2:0, 3:0, 4:1 … 8:5 (7); 4:0 … 7:0, 8:1 (5); 8:0 (1): 21 elements
- Element: , higher span on the left
- Carries: ;
- Top: ; , the carry from the column to its right
- Depths: 3 levels (), 4 ()
- Path to : PG → 7:6 → 7:4 → 7:0 → XOR:
- Path to : PG → 8:7 → 8:5 → 8:1 → 8:0:
- e.g. and (fan-out ignored): mark both
- Check , : , , → 2 ✓
Watch out. Each sum takes the carry into its bit, , not its own column’s . The key wires every sum one position too high: comes out 1. The board’s Brent–Kung is smaller (13 elements), not faster: its is 4 levels deep, so comes at 22 .
Answer: Eight PG generators feed a Kogge–Stone network of 21 radix-2 elements in 4 levels over and bits 1–8, making ; eight sum generators make and , and . Critical path: PG → three elements → (), or PG → four elements → (); 18 each with the example delays.
FN12-6: an 8-bit arithmetic right shifter from 2:1 muxes (15 points)
FN12-6, p7. Draw the (block-level) schematic of an 8-bit arithmetic right shifter using the basic multiplexer building block shown below. The shift amount should be determined by a three-bit control signal. (15 points)
FN12-6’s building block (Final 2012, p7, redrawn): a 2:1 multiplexer with , so when and when .
The shifter (15 points)
FN12-6, p7. Draw the (block-level) schematic of an 8-bit arithmetic right shifter using the basic multiplexer building block shown below. The shift amount should be determined by a three-bit control signal. (15 points)
Hint
Recognize. Logarithmic shifters: a mux block with its equation, “shift amount”, “three-bit control signal”, “arithmetic right”. About 14 minutes: the drawing is 24 boxes, so draw one row whole and repeat it.
On the paper.
- : passes when
- : three rows, shifting by 1, 2, 4
- Row , mux : , (diagonal from the left), (straight down)
- Row : mux 7’s =
- Row : muxes 7, 6 take
- Row : muxes 7–4 take
- All pads straight from the input : an arithmetic right shift never changes the MSB
- muxes; pads
- Check: (),
- : ; : ; :
- ✓
Watch out. Pad with , not 0: with 0 pads the same word comes out , a logical shift. Put the shifted bit on , the input that passes on a 1; swapped, shifts by 7.
Answer: A logarithmic shifter: three rows of eight muxes, 24 in all. Row () is controlled by and shifts by : mux has , = the row input’s bit , = its bit . The seven inputs with (mux 7 in row ; 7, 6 in row ; 7–4 in row ) are tied to , the sign bit.
FN12-10a: reading a static PLA (9 points)
FN12-10, p14. In this problem, we consider some of the combinational logic circuit styles we studied in the course.
FN12-10a’s circuit (Final 2012, p14, redrawn). Dashed lines are ground lines. The row names , , are the key’s (its p0, p1, p2); the paper prints none.
Part (a): f0 and f1 (9 points)
FN12-10a, p14. In the following circuit, find f0 and f1 (Boolean equations) as a function of x0, x1, and x2. (9 points)
Hint
Recognize. PLAs, reading one: rows of devices on literal lines, columns at the right, inverters under them. About 8 minutes: rows, columns, simplify, one trace.
On the paper.
- Row = NOR of its device lines = AND of their complements
- : devices on , →
- : on →
- : on , , →
- Columns + inverters: each output is the OR of its column’s rows
- Since ():
- Trace : pulls , low; pulls low
- No row high → both columns high → ; formula ✓
- on 000, 010, 100, 110, 111
Watch out. A device on a line puts the complement of that line’s literal in the product: a device on means the row needs . Simplify before you stop; it is the same function as .
Answer: , , ; ; , the same function as .
FN19-6: a dynamic PLA and its replica clocks (18 points)
FN19-6, p13. Consider the following dynamic PLA structure.
FN19-6’s dynamic PLA (Final 2019, p13, redrawn; dashed lines are virtual-ground lines). clocks the rows, the columns. The columns are the outputs , : there are no output inverters.
Part (a): the logic function (10 points)
FN19-6a, p13. We discussed in class how it is necessary to derive the clocks and in such a manner that the OR plane does not being (sic) to evaluate until after the AND plane has evaluated. Furthermore, both and must allow for adequate precharge time. If the clocks satisfy this relationship, what is the logic function of this PLA (i. e, what are and as a function of , , and )? (10 points)
Hint
Recognize. PLAs, reading one: the long preamble is a condition (the clocks are right), so read it as a static PLA. About 7 minutes; look for output inverters before you write anything.
On the paper.
- Clocks right → each row and column settles to its NOR, as in a static PLA
- : , → ; : →
- : , , → ; : , →
- No output inverters:
- : needs ; then
- Trace : , stay high → both columns fall → ✓
- Trace : every row pulled low → both stay precharged → ✓
Watch out. This paper draws no output inverters: , the FN12-10a habit, is the complement of the right answer on every one of the 8 input rows. A device on (row ) means in the product.
Answer: ; .
Part (b): a replica AND row for both clocks (8 points)
FN19-6b, p14. Design a replica AND row, two instance (sic) of which can be used in the circuits below to generate and to meet the timing constraints described in (a). (8 points)
FN19-6b’s clock generators (Final 2019, p14, redrawn; each box is the paper’s “replica AND row”). Upper: is the NAND of and the inverted output of a replica row clocked by . Lower: is the inverted output of a replica row clocked by .
Hint
Recognize. PLAs, clocking a dynamic one, with the clock-generation card’s replica delay: “replica AND row, two instance of which” means one design used twice. About 6 minutes: a transistor sketch and two edge equations.
On the paper.
- Upper box (clocked by ): its precharge sets how long stays low
- Lower box (clocked by ): its evaluate sets
- Copy a real row: precharge PFET and NFET foot, both on the box’s clock input
- Slowest precharge = most capacitance: 3 NFETs, the most on any row ()
- Slowest evaluate = one device on: gates , 0, 0
- Load like the most loaded row: 2 OR-plane gates ( feeds and ) + the full row wire
- Same layout, same array: it tracks the real rows at every corner
- low ;
- e.g. Chapter 18’s example: , , , ps
- low 30–220 ps: ✓
- at ps, after the slowest row ends at 420 ✓
Watch out. All devices on is the fastest evaluate: would rise before the slowest real row has fallen. The lecture’s two different dummy rows work, but the paper asks for one design used twice. A typical row’s load is not enough: copy the worst.
Answer: One replica row, used in both boxes: a copy of a real AND row (precharge PFET and foot on its clock input) with three NFETs, the widest product, one gated by and two by ground, loaded like the heaviest real row (two OR-plane gates, as , plus the full row wire). One device on gives the slowest evaluate, which times ; a full row gives at least the slowest precharge, which times ‘s low pulse.