combinational circuit design: practice

64
Combinational Circuit Design: Practice RTL Hardware Design by P. Chu Chapter 7 1

Upload: kineta

Post on 23-Feb-2016

69 views

Category:

Documents


0 download

DESCRIPTION

Combinational Circuit Design: Practice. Outline. Derivation of efficient HDL description Operator sharing Functionality sharing Layout-related circuits General circuits. Derivation of efficient HDL description. Think “H”, not “L”, of HDL Right way: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Combinational Circuit Design:  Practice

Chapter 7 1

Combinational Circuit Design: Practice

RTL Hardware Design by P. Chu

Page 2: Combinational Circuit Design:  Practice

Chapter 7 2

1. Derivation of efficient HDL description2. Operator sharing3. Functionality sharing4. Layout-related circuits5. General circuits

RTL Hardware Design by P. Chu

Outline

Page 3: Combinational Circuit Design:  Practice

Chapter 7 3

Think “H”, not “L”, of HDL Right way:

◦ Research to find an efficient design (“domain knowledge”)

◦ Develop VHDL code that accurately describes the design

Wrong way:◦ Write a C program and covert it to HDL

RTL Hardware Design by P. Chu

1. Derivation of efficient HDL description

Page 4: Combinational Circuit Design:  Practice

Chapter 7 4

Circuit complexity of VHDL operators varies Arith operators

◦ Large implementation◦ Limited optimization by synthesis software

“Optimization” can be achieved by “sharing” in RT level coding◦ Operator sharing◦ Functionality sharing

RTL Hardware Design by P. Chu

Sharing

Page 5: Combinational Circuit Design:  Practice

Chapter 7 5RTL Hardware Design by P. Chu

An example 0.55 um standard-cell CMOS implementation

Page 6: Combinational Circuit Design:  Practice

Chapter 7 6

◦ “value expressions” in priority network and multiplexing network are mutually exclusively:

◦ Only one result is routed to output ◦ Conditional sig assignment (if statement)

sig_name <= value_expr_1 when boolean_expr_1 else value_expr_2 when boolean_expr_2 else value_expr_3 when boolean_expr_3 else . . . value_expr_n;

RTL Hardware Design by P. Chu

2. Operator sharing

Page 7: Combinational Circuit Design:  Practice

Chapter 7 7

◦ Selected sig assignment (case statement)with select_expression select sig_name <= value_expr_1 when choice_1, value_expr_2 when choice_2, value_expr_3 when choice_3, . . . value_expr_n when choice_n;

RTL Hardware Design by P. Chu

Page 8: Combinational Circuit Design:  Practice

Chapter 7 8

Original code:r <= a+b when boolean_exp else a+c;

Revised code:src0 <= b when boolean_exp else c;r <= a + src0;

RTL Hardware Design by P. Chu

Example 1

Page 9: Combinational Circuit Design:  Practice

Chapter 7 9RTL Hardware Design by P. Chu

Area: 2 adders, 1 muxDelay:

Area: 1 adder, 1 muxDelay:

Page 10: Combinational Circuit Design:  Practice

Chapter 7 10

Original code:process(a,b,c,d,...)begin if boolean_exp_1 then r <= a+b; elsif boolean_exp_2 then r <= a+c; else r <= d+1; end ifend process;

RTL Hardware Design by P. Chu

Example 2

Page 11: Combinational Circuit Design:  Practice

Chapter 7 11

Revised code:process(a,b,c,d,...)begin if boolean_exp_1 then src0 <= a; src1 <= b; elsif boolean_exp_2 then src0 <= a; src1 <= c; else src0 <= d; src1 <= "00000001"; end if;end process;r <= src0 + src1;

RTL Hardware Design by P. Chu

Page 12: Combinational Circuit Design:  Practice

Chapter 7 12RTL Hardware Design by P. Chu

Area:2 adders, 1 inc, 2 mux

Area: 1 adder, 4 mux

Page 13: Combinational Circuit Design:  Practice

Chapter 7 13

Original code:with sel select r <= a+b when "00", a+c when "01", d+1 when others;

Revised code:with sel_exp select src0 <= a when "00"|"01", d when others;with sel_exp select src1 <= b when "00", c when "01", "00000001" when others;r <= src0 + src1;

RTL Hardware Design by P. Chu

Example 3

Page 14: Combinational Circuit Design:  Practice

Chapter 7 14RTL Hardware Design by P. Chu

Area:2 adders, 1 inc, 1 mux

Area: 1 adder, 2 mux

Page 15: Combinational Circuit Design:  Practice

Chapter 7 15

Original code:process(a,b,c,d,...)begin if boolean_exp then x <= a + b; y <= (others=>'0'); else x <= (others=>'1'); y <= c + d; end if;end process;

RTL Hardware Design by P. Chu

Example 4

Page 16: Combinational Circuit Design:  Practice

Chapter 7 16RTL Hardware Design by P. Chu

Area:2 adders, 2 mux

Page 17: Combinational Circuit Design:  Practice

Chapter 7 17

Revised code:begin if boolean_exp then src0 <= a; src1 <= b; x <= sum; y <= (others=>'0'); else src0 <= c; src1 <= d; x <= (others=>'1'); y <= sum; end if;end process;sum <= src0 + src1;

RTL Hardware Design by P. Chu

Page 18: Combinational Circuit Design:  Practice

Chapter 7 18RTL Hardware Design by P. Chu

• Area: 1 adder, 4 mux• Is the sharing worthwhile?

– 1 adder vs 2 mux– It depends . . .

Page 19: Combinational Circuit Design:  Practice

Chapter 7 19

Sharing is done by additional routing circuit Merit of sharing depends on the complexity

of the operator and the routing circuit Ideally, synthesis software should do this

RTL Hardware Design by P. Chu

Summary

Page 20: Combinational Circuit Design:  Practice

Chapter 7 20

◦ A large circuit involves lots of functions◦ Several functions may be related and have common

characteristics◦ Several functions can share the same circuit.◦ Done in an “ad hoc” basis, based on the

understanding and insight of the designer (i.e., “domain knowledge”)

◦ Difficult for software it since it does not know the “meaning” of functions

RTL Hardware Design by P. Chu

3. Functionality sharing

Page 21: Combinational Circuit Design:  Practice

Chapter 7 21RTL Hardware Design by P. Chu

e.g., add-sub circuit

Page 22: Combinational Circuit Design:  Practice

Chapter 7 22RTL Hardware Design by P. Chu

Observation: a – b can be done by a + b’ + 1

Page 23: Combinational Circuit Design:  Practice

Chapter 7 23RTL Hardware Design by P. Chu

Manual injection of carry-in: Append an additional bit in right (LSB):

Page 24: Combinational Circuit Design:  Practice

Chapter 7 24RTL Hardware Design by P. Chu

Page 25: Combinational Circuit Design:  Practice

Chapter 7 25RTL Hardware Design by P. Chu

e.g., sign-unsigned comparator

Page 26: Combinational Circuit Design:  Practice

Chapter 7 26RTL Hardware Design by P. Chu

Binary wheel

Page 27: Combinational Circuit Design:  Practice

Chapter 7 27

Observation:◦ Unsigned: normal comparator◦ Signed:

Different sign bit: positive number is larger Same sign: compare remaining 3 LSBs

This works for negative number, too!E.g., 1111 (-1), 1100 (-4), 1001(-7) 111 > 100 > 001

◦ The comparison of 3 LSBs can be shared

RTL Hardware Design by P. Chu

Page 28: Combinational Circuit Design:  Practice

Chapter 7 28RTL Hardware Design by P. Chu

Page 29: Combinational Circuit Design:  Practice

Chapter 7 29RTL Hardware Design by P. Chu

e.g., Full comparator

Page 30: Combinational Circuit Design:  Practice

Chapter 7 30RTL Hardware Design by P. Chu

Page 31: Combinational Circuit Design:  Practice

Chapter 7 31RTL Hardware Design by P. Chu

Page 32: Combinational Circuit Design:  Practice

Chapter 7 32

Read 7.3.3 and 7.3.5

RTL Hardware Design by P. Chu

Page 33: Combinational Circuit Design:  Practice

Chapter 7 33

◦ After synthesis, placement and routing will derive the actual physical layout of a digital circuit on a silicon chip.

◦ VHDL cannot specify the exact layout◦ VHDL can outline the general “shape”

RTL Hardware Design by P. Chu

4. Layout-related circuits

Page 34: Combinational Circuit Design:  Practice

Chapter 7 34

◦ Silicon chip is a “square” ◦ “Two-dimensional” shape (tree or rectangular) is

better than one-dimensional shape (cascading-chain)

◦ Conditional signal assignment/if statement form a single “horizontal” cascading chain

◦ Selected signal assignment/case statement form a large “vertical” mux

◦ Neither is ideal

RTL Hardware Design by P. Chu

Page 35: Combinational Circuit Design:  Practice

Chapter 7 35RTL Hardware Design by P. Chu

Page 36: Combinational Circuit Design:  Practice

Chapter 7 36RTL Hardware Design by P. Chu

Page 37: Combinational Circuit Design:  Practice

Chapter 7 37RTL Hardware Design by P. Chu

e.g., Reduced-xor circuit

Page 38: Combinational Circuit Design:  Practice

Chapter 7 38RTL Hardware Design by P. Chu

Page 39: Combinational Circuit Design:  Practice

Chapter 7 39RTL Hardware Design by P. Chu

Page 40: Combinational Circuit Design:  Practice

Chapter 7 40RTL Hardware Design by P. Chu

Page 41: Combinational Circuit Design:  Practice

Chapter 7 41

Comparison of n-input reduced xor ◦ Cascading chain : Area: (n-1) xor gates Delay: (n-1) Coding: easy to modify (scale)

◦Tree: Area: (n-1) xor gates Delay: log2n Coding: not so easy to modify

◦Software should able to do the conversion automatically

RTL Hardware Design by P. Chu

Page 42: Combinational Circuit Design:  Practice

Chapter 7 42RTL Hardware Design by P. Chu

e.g., Reduced-xor-vector circuit

Page 43: Combinational Circuit Design:  Practice

Chapter 7 43

Direct implementation

RTL Hardware Design by P. Chu

Page 44: Combinational Circuit Design:  Practice

Chapter 7 44RTL Hardware Design by P. Chu

Functionality Sharing

Page 45: Combinational Circuit Design:  Practice

Chapter 7 45RTL Hardware Design by P. Chu

Direct tree implementation

Page 46: Combinational Circuit Design:  Practice

Chapter 7 46RTL Hardware Design by P. Chu

“Parallel-prefix” implementation

Page 47: Combinational Circuit Design:  Practice

Chapter 7 47RTL Hardware Design by P. Chu

Page 48: Combinational Circuit Design:  Practice

Chapter 7 48

Comparison of n-input reduced-xor-vector ◦ Cascading chain

Area: (n-1) xor gates Delay: (n-1) Coding: easy to modify (scale)

◦ Multiple trees Area: O(n2) xor gates Delay: log2n Coding: not so easy to modify

◦ Parallel-prefix Area: O(nlog2n) xor gates Delay: log2n Coding: difficult to modify

◦ Software is not able to convert cascading chain to parallel-prefix

RTL Hardware Design by P. Chu

Page 49: Combinational Circuit Design:  Practice

Chapter 7 49RTL Hardware Design by P. Chu

e.g., Shifter (rotating right)• Direct implementation

Page 50: Combinational Circuit Design:  Practice

Chapter 7 50RTL Hardware Design by P. Chu

Page 51: Combinational Circuit Design:  Practice

Chapter 7 51RTL Hardware Design by P. Chu

• Better implementation

Page 52: Combinational Circuit Design:  Practice

Chapter 7 52RTL Hardware Design by P. Chu

Page 53: Combinational Circuit Design:  Practice

Chapter 7 53

Comparison for n-bit shifter◦ Direct implementation

n n-to-1 mux vertical strip with O(n2) input wiring Code not so easy to modify

◦ Staged implementation n*log2n 2-to-1 mux Rectangular shaped Code easier to modify

RTL Hardware Design by P. Chu

Page 54: Combinational Circuit Design:  Practice

Chapter 7 54

◦ Gray code counter◦ Signed addition with status◦ Simple combinational multiplier

RTL Hardware Design by P. Chu

5. General examples

Page 55: Combinational Circuit Design:  Practice

Chapter 7 55RTL Hardware Design by P. Chu

e.g., Gray code counter

Page 56: Combinational Circuit Design:  Practice

Chapter 7 56RTL Hardware Design by P. Chu

• Direct implementation

Page 57: Combinational Circuit Design:  Practice

Chapter 7 57

Observation◦ Require 2n rows◦ No simple algorithm for gray code increment◦ One possible method Gray to binary Increment the binary number Binary to gray

RTL Hardware Design by P. Chu

Page 58: Combinational Circuit Design:  Practice

Chapter 7 58RTL Hardware Design by P. Chu

• binary to gray

• gray to binary

Page 59: Combinational Circuit Design:  Practice

Chapter 7 59RTL Hardware Design by P. Chu

Page 60: Combinational Circuit Design:  Practice

Chapter 7 60RTL Hardware Design by P. Chu

e.g., signed addition with status Adder with

◦ Carry-in: need an extra bit (LSB)◦ Carry-out: need an extra bit (MSB)◦ Overflow:

two operands has the same sign but the sum has a different sign

◦ Zero◦ Sign (of the addition result)

Page 61: Combinational Circuit Design:  Practice

Chapter 7 61RTL Hardware Design by P. Chu

Page 62: Combinational Circuit Design:  Practice

Chapter 7 62RTL Hardware Design by P. Chu

e.g., simple combinational multiplier

Page 63: Combinational Circuit Design:  Practice

Chapter 7 63RTL Hardware Design by P. Chu

Page 64: Combinational Circuit Design:  Practice

Chapter 7 64RTL Hardware Design by P. Chu