sequential circuit design:sequential circuit design: practice

82
Sequential Circuit Design: Sequential Circuit Design: Practice RTL Hardware Design by P. Chu Chapter 9 1

Upload: others

Post on 21-Oct-2021

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sequential Circuit Design:Sequential Circuit Design: Practice

Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 1

Page 2: Sequential Circuit Design:Sequential Circuit Design: Practice

OutlineOutline

1. Poor design practice and remedy2 More counters2. More counters3. Register as fast temporary storage4. Pipelined circuit

RTL Hardware Design by P. Chu

Chapter 9 2

Page 3: Sequential Circuit Design:Sequential Circuit Design: Practice

1. Poor design practice and remedy

• Synchronous design is the most• Synchronous design is the most important methodology

• Poor practice in the past (to save chips)– Misuse of asynchronous resetMisuse of asynchronous reset– Misuse of gated clock

Mi f d i d l k– Misuse of derived clock

RTL Hardware Design by P. Chu

Chapter 9 3

Page 4: Sequential Circuit Design:Sequential Circuit Design: Practice

Misuse of asynchronous reset• Poor design: use reset to clear register in

normal operationnormal operation. • e.g., a poorly mod-10 counter

– Clear register immediately after the counter reaches 1010

RTL Hardware Design by P. Chu

Chapter 9 4

Page 5: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 5

Page 6: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 6

Page 7: Sequential Circuit Design:Sequential Circuit Design: Practice

• Problem– Glitches in transition 1001 (9) => 0000 (0)– Glitches in aync clr can reset the counterGlitches in aync_clr can reset the counter– How about timing analysis? (maximal clock

rate)rate)• Asynchronous reset should only be used

for power-on initialization

RTL Hardware Design by P. Chu

Chapter 9 7

Page 8: Sequential Circuit Design:Sequential Circuit Design: Practice

• Remedy: load “0000” synchronously

RTL Hardware Design by P. Chu

Chapter 9 8

Page 9: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 9

Page 10: Sequential Circuit Design:Sequential Circuit Design: Practice

Misuse of gated clockMisuse of gated clock• Poor design: use a and gate to disable thePoor design: use a and gate to disable the

clock to stop the register to get new value E t ith bl i l• E.g., a counter with an enable signal

RTL Hardware Design by P. Chu

Chapter 9 10

Page 11: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 11

Page 12: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 12

Page 13: Sequential Circuit Design:Sequential Circuit Design: Practice

• Problem– Gated clock width can be narrow– Gated clock may pass glitches of enGated clock may pass glitches of en– Difficult to design the clock distribution

networknetwork

RTL Hardware Design by P. Chu

Chapter 9 13

Page 14: Sequential Circuit Design:Sequential Circuit Design: Practice

• Remedy: use a synchronous enable

RTL Hardware Design by P. Chu

Chapter 9 14

Page 15: Sequential Circuit Design:Sequential Circuit Design: Practice

Misuse of derived clock• Subsystems may run at different clock rate• Poor design: use a derived slow clock for slow

subsystem y

RTL Hardware Design by P. Chu

Chapter 9 15

Page 16: Sequential Circuit Design:Sequential Circuit Design: Practice

• Problem– Multiple clock distribution networkp– How about timing analysis? (maximal clock

rate)rate)

RTL Hardware Design by P. Chu

Chapter 9 16

Page 17: Sequential Circuit Design:Sequential Circuit Design: Practice

• Better use a synchronous one-clock enable pulse

RTL Hardware Design by P. Chu

Chapter 9 17

Page 18: Sequential Circuit Design:Sequential Circuit Design: Practice

• E g second and minutes counter• E.g., second and minutes counter– Input: 1 MHz clock – Poor design:

RTL Hardware Design by P. Chu

Chapter 9 18

Page 19: Sequential Circuit Design:Sequential Circuit Design: Practice

– Better designBetter design

RTL Hardware Design by P. Chu

Chapter 9 19

Page 20: Sequential Circuit Design:Sequential Circuit Design: Practice

• VHDL code of poor design

RTL Hardware Design by P. Chu

Chapter 9 20

Page 21: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 21

Page 22: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 22

Page 23: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 23

Page 24: Sequential Circuit Design:Sequential Circuit Design: Practice

• Remedy: use a synchronous 1-clock pulse

RTL Hardware Design by P. Chu

Chapter 9 24

Page 25: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 25

Page 26: Sequential Circuit Design:Sequential Circuit Design: Practice

A word about power• Power is a major design criteria now• In CMOS technology

– Dynamic power is proportional to the switchingDynamic power is proportional to the switching frequency of transistors High clock rate implies high switching freq– High clock rate implies high switching freq

• Clock manipulation– Can reduce switching frequency– But should not be done at RT levelBut should not be done at RT level

RTL Hardware Design by P. Chu

Chapter 9 26

Page 27: Sequential Circuit Design:Sequential Circuit Design: Practice

• Development flow: 1 D i / th i / if l1. Design/synthesize/verify a regular

synchronous subsystems 2(a). Derived clock: use special circuit (PLL etc.)

to obtain derived clocks2(b). Gated clock: use “power optimization”

software tool to convert some register into ggated clock

RTL Hardware Design by P. Chu

Chapter 9 27

Page 28: Sequential Circuit Design:Sequential Circuit Design: Practice

2. More counters• Counter circulates a set of specific patterns • Counter:• Counter:

– BinaryG t– Gray counter

– Ring counter– Linear Feedback Shift Register (LFSR)– BCD counter

RTL Hardware Design by P. Chu

Chapter 9 28

Page 29: Sequential Circuit Design:Sequential Circuit Design: Practice

Bi t• Binary counter:– State follows binary counting sequence y g q– Use an incrementor for the next-state logic

r regr next d

clk

q+1r_regr_next q

reset

reset

clk

RTL Hardware Design by P. Chu

Chapter 9 29

Page 30: Sequential Circuit Design:Sequential Circuit Design: Practice

G t• Gray counter:– State changes one-g

bit at a time – Use a GrayUse a Gray

incrementor

RTL Hardware Design by P. Chu

Chapter 9 30

Page 31: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 31

Page 32: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 32

Page 33: Sequential Circuit Design:Sequential Circuit Design: Practice

Ring counterRing counter• Circulate a single 1g• E.g., 4-bit ring counter:

1000 0100 0010 00011000, 0100, 0010, 0001• n patterns for n-bit register• Output appears as an n-phase signal• Non self-correcting designg g

– Insert “0001” at initialization and circulate the pattern in normal operationcirculate the pattern in normal operation

– Fastest counter

RTL Hardware Design by P. Chu

Chapter 9 33

Page 34: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 34

Page 35: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 35

Page 36: Sequential Circuit Design:Sequential Circuit Design: Practice

• Self-correcting design:shifting in a ‘1’ only when 3 MSBs are 000

RTL Hardware Design by P. Chu

Chapter 9 36

Page 37: Sequential Circuit Design:Sequential Circuit Design: Practice

LFSR (Linear Feedback Shift Reg)LFSR (Linear Feedback Shift Reg)

• A sifter reg with a special feedback circuit to generate the serial inputg p

• The feedback circuit performs xor operation over specific bitsoperation over specific bits

• Can circulate through 2n-1 states for an n-bit register

RTL Hardware Design by P. Chu

Chapter 9 37

Page 38: Sequential Circuit Design:Sequential Circuit Design: Practice

• E g 4-bit LFSRE.g, 4 bit LFSR

RTL Hardware Design by P. Chu

Chapter 9 38

Page 39: Sequential Circuit Design:Sequential Circuit Design: Practice

• Property of LFSR– N-bit LFSR can cycle through 2n-1 states– The feedback circuit always exists – The sequence is pseudorandom

RTL Hardware Design by P. Chu

Chapter 9 39

Page 40: Sequential Circuit Design:Sequential Circuit Design: Practice

• Application of LFSR– Pseudorandom: used in testing, data

encryption/decryptionyp yp– A counter with simple next-state logic

e g 128-bit LFSR using 3 xor gates to circulatee.g., 128 bit LFSR using 3 xor gates to circulate 2128-1 patterns (takes 1012 years for a 100 GHz system)system)

RTL Hardware Design by P. Chu

Chapter 9 40

Page 41: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 41

Page 42: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 42

Page 43: Sequential Circuit Design:Sequential Circuit Design: Practice

• Read remaining of Section 9 2 3 (design toRead remaining of Section 9.2.3 (design to including 00..00 state)

• Read Section 9.2.4 (BCD counter, design ( , gsimilar to the second/minute counter in Section 9 1 3Section 9.1.3

RTL Hardware Design by P. Chu

Chapter 9 43

Page 44: Sequential Circuit Design:Sequential Circuit Design: Practice

PWM (pulse width modulation)PWM (pulse width modulation)

• Duty cycle: percentage of time that the signal is assertedg

• PWM: use a signal, w, to specify the duty cyclecycle– Duty cycle is w/16 if w is not “0000”– Duty cycle is 16/16 if w is “0000”

• Implemented by a binary counter with aImplemented by a binary counter with a special output circuit

RTL Hardware Design by P. Chu

Chapter 9 44

Page 45: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 45

Page 46: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 46

Page 47: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 47

Page 48: Sequential Circuit Design:Sequential Circuit Design: Practice

3. Register as fast temporary storageg p y g• RAM

RAM cell designed at transistor level– RAM cell designed at transistor level– Cell use minimal area– Behave like a latchBehave like a latch– For mass storage– Need a special interface logicNeed a special interface logic

• Register– D FF requires much larger areaD FF requires much larger area– Synchronous – For small, fast storage, g– E.g., register file, fast FIFO, Fast CAM (content

addressable memory)

RTL Hardware Design by P. Chu

Chapter 9 48

Page 49: Sequential Circuit Design:Sequential Circuit Design: Practice

Register fileRegister file

• Registers arranged as an 1-d array• Each register is identified with an addressEach register is identified with an address• Normally has 1 write port (with write

bl i l)enable signal)• Can has multiple read portsCa as u t p e ead po ts

RTL Hardware Design by P. Chu

Chapter 9 49

Page 50: Sequential Circuit Design:Sequential Circuit Design: Practice

• E.g., 4-word register file w/ 1 write port and two read portsand two read ports

RTL Hardware Design by P. Chu

Chapter 9 50

Page 51: Sequential Circuit Design:Sequential Circuit Design: Practice

Register array:• Register array:– 4 registers– Each register has an enable signal

• Write decoding circuit:Write decoding circuit:– 0000 if wr_en is 0 – 1 bit asserted according to w_addr if wr_en is 1

• Read circuit:– A mux for each read por

RTL Hardware Design by P. Chu

Chapter 9 51

Page 52: Sequential Circuit Design:Sequential Circuit Design: Practice

• 2-d data type needed

RTL Hardware Design by P. Chu

Chapter 9 52

Page 53: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 53

Page 54: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 54

Page 55: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 55

Page 56: Sequential Circuit Design:Sequential Circuit Design: Practice

FIFO BufferFIFO Buffer“El ti ” t b t t b t• “Elastic” storage between two subsystems

RTL Hardware Design by P. Chu

Chapter 9 56

Page 57: Sequential Circuit Design:Sequential Circuit Design: Practice

• Circular queue implementationq p• Use two pointers and a “generic storage”

W it i t i t t th t l t b f– Write pointer: point to the empty slot before the head of the queue

– Read pointer: point to the tail of the queue

RTL Hardware Design by P. Chu

Chapter 9 57

Page 58: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 58

Page 59: Sequential Circuit Design:Sequential Circuit Design: Practice

• FIFO controller• FIFO controller– Read and write pointers: 2 counters– Status circuit:

• Difficult• Design 1: Augmented binary counter• Design 2: with status FFs

– LSFR as counter

RTL Hardware Design by P. Chu

Chapter 9 59

Page 60: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 60

Page 61: Sequential Circuit Design:Sequential Circuit Design: Practice

• Augmented binary counter: increase the counter by 1 bits– increase the counter by 1 bits

– Use LSBs for as register address– Use MSB to distinguish full or empty– Use MSB to distinguish full or empty

RTL Hardware Design by P. Chu

Chapter 9 61

Page 62: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 62

Page 63: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 63

Page 64: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 64

Page 65: Sequential Circuit Design:Sequential Circuit Design: Practice

• 2 extra status FFs– Full_erg/empty_reg memorize the current staus

Initialized as 0 and 1– Initialized as 0 and 1– Modified according to wr and rd signals:

• 00: no change• 11: advance read pointer/write pointer; full/empty no

hchange• 10: advance write pointer; de-assert empty; assert full if

needed (when write pointer=read pointer)needed (when write pointer=read pointer)• 01: advance read pointer; de-assert full; asserted empty

if needed (when write pointer=read pointer)if needed (when write pointer=read pointer)

RTL Hardware Design by P. Chu

Chapter 9 65

Page 66: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 66

Page 67: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 67

Page 68: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 68

Page 69: Sequential Circuit Design:Sequential Circuit Design: Practice

• Non-binary counter for the pointery p– Exact location does not matter as long as the

write pointer and read pointer follow the samewrite pointer and read pointer follow the same patternOther counters can be used for the second– Other counters can be used for the second schemeE LFSR– E.g, use LFSR

RTL Hardware Design by P. Chu

Chapter 9 69

Page 70: Sequential Circuit Design:Sequential Circuit Design: Practice

4. Pipelined circuit• Two performance criteria:

– Delay: required time to complete one taskDelay: required time to complete one task– Throughput: number of tasks completed per unit time.

• E g ATM machine• E.g., ATM machine– Original: 3 minutes to process a transaction

delay: 3 min; throughput: 20 trans per hourdelay: 3 min; throughput: 20 trans per hour– Option 1: faster machine 1.5 min to process

delay: 1.5 min; throughput: 40 trans per hourdelay: 1.5 min; throughput: 40 trans per hour– Option 2: two machines

delay: 3 min; throughput: 40 trans per houry ; g p p• Pipelined circuit: increase throughput

RTL Hardware Design by P. Chu

Chapter 9 70

Page 71: Sequential Circuit Design:Sequential Circuit Design: Practice

• Pipeline: overlap certain operation• E.g., pipelined laundry:

RTL Hardware Design by P. Chu

Chapter 9 71

Page 72: Sequential Circuit Design:Sequential Circuit Design: Practice

• Non-pipelined:– Delay: 60 min– Delay: 60 min– Throughput 1/60 load per min

• Pipelined:– Delay: 60 miny– Throughput k/(40+k*20) load per min

about 1/20 when k is largeabout 1/20 when k is large – Throughput 3 times better than non-pipelined

RTL Hardware Design by P. Chu

Chapter 9 72

Page 73: Sequential Circuit Design:Sequential Circuit Design: Practice

Pipelined combinational circuitPipelined combinational circuit

RTL Hardware Design by P. Chu

Chapter 9 73

Page 74: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 74

Page 75: Sequential Circuit Design:Sequential Circuit Design: Practice

Adding pipeline to a comb circuitAdding pipeline to a comb circuit

• Candidate circuit for pipeline:– enough input data to feed the pipelined circuitg p p p– throughput is a main performance criterion

comb circuit can be divided into stages with– comb circuit can be divided into stages with similar propagation delays

ti d l f t i h l– propagation delay of a stage is much larger than the setup time and the clock-to-q delay

f th i tof the register.

RTL Hardware Design by P. Chu

Chapter 9 75

Page 76: Sequential Circuit Design:Sequential Circuit Design: Practice

• ProcedureProcedure– Derive the block diagram of the original

combinational circuit and arrange the circuit as acombinational circuit and arrange the circuit as a cascading chainId tif th j t d ti t th– Identify the major components and estimate the relative propagation delays of these components

– Divide the chain into stages of similar propagation delays

– Identify the signals that cross the boundary of the chain

– Insert registers for these signals in the boundary.

RTL Hardware Design by P. Chu

Chapter 9 76

Page 77: Sequential Circuit Design:Sequential Circuit Design: Practice

Pipelined comb multiplierPipelined comb multiplier

RTL Hardware Design by P. Chu

Chapter 9 77

Page 78: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 78

Page 79: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 79

Page 80: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 80

Page 81: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 81

Page 82: Sequential Circuit Design:Sequential Circuit Design: Practice

RTL Hardware Design by P. Chu

Chapter 9 82