+ All Categories
Home > Documents > INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most...

INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most...

Date post: 24-Jan-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
76
Outline 1. Poor design practice and remedy 2. More counters 3. Register as fast temporary storage 4. KDA application examples RTL Hardware Design by P. Chu Chapter 9.1-3 and 9.5 1 4. KDA application examples
Transcript
Page 1: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

Outline

1. Poor design practice and remedy2. More counters3. Register as fast temporary storage4. KDA application examples

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 1

4. KDA application examples

Page 2: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

1. Poor design practice and remedy

• Synchronous design is the most important methodology

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 2

– Misuse of asynchronous reset– Misuse of gated clock – Misuse of derived clock

Page 3: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

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

– Clear register immediately after the counter reaches 1010

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 3

Page 4: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 4

Page 5: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 5

Page 6: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

rate)

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 6

rate)

• Asynchronous reset should only be used for power-on initialization

Page 7: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Remedy: load “0000” synchronously

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 7

Page 8: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 8

Page 9: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

clock to stop the register to get new value • E.g., a counter with an enable signal

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 9

Page 10: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 10

Page 11: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 11

Page 12: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

network

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 12

network

Page 13: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Remedy: use a synchronous enable

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 13

Page 14: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

subsystem

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 14

Page 15: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

rate)

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 15

rate)

Page 16: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Better use a synchronous one-clock enable pulse

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 16

Page 17: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 17

Page 18: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

– Better design

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 18

Page 19: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• VHDL code of poor design

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 19

Page 20: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 20

Page 21: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 21

Page 22: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 22

Page 23: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Remedy: use a synchronous 1-clock pulse

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 23

Page 24: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 24

Page 25: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

A word about power

• Power is a major design criteria now• In CMOS technology

– Dynamic power is proportional to the switching frequency of transistors

– High clock rate implies high switching freq

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 25

– High clock rate implies high switching freq

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

Page 26: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Development flow: 1. Design/synthesize/verify a regular

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 26

2(a). Derived clock: use special circuit (PLL etc.) to obtain derived clocks

2(b). Gated clock: use “power optimization” software tool to convert some register into gated clock

Page 27: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

– Binary– Gray counter– Ring counter– Linear Feedback Shift Register (LFSR)

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 27

– Linear Feedback Shift Register (LFSR)– BCD counter

Page 28: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Binary counter:– State follows binary counting sequence – Use an incrementor for the next-state logic

d qr_reg r_next

q

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 28

d

clk

q

reset

+1r_reg r_next

reset

clk

q

Page 29: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Gray counter:– State changes one-

bit at a time – Use a Gray

incrementor

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 29

Page 30: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

Gray code counter (section 7.5.1)

RTL Hardware Design by P. Chu

Chapter 7 30

Page 31: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Direct implementation

RTL Hardware Design by P. Chu

Chapter 7 31

Page 32: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Observation– Require 2n rows– No simple algorithm for gray code increment– One possible method

• Gray to binary• Increment the binary number

RTL Hardware Design by P. Chu

Chapter 7 32

• Increment the binary number• Binary to gray

Page 33: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• binary to gray

• gray to binary

RTL Hardware Design by P. Chu

Chapter 7 33

• gray to binary

Page 34: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 34

Page 35: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 35

Page 36: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

1000, 0100, 0010, 0001• n patterns for n-bit register• Output appears as an n-phase signal

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 36

• Output appears as an n-phase signal• Non self-correcting design

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

– Fastest counter

Page 37: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 37

Page 38: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 38

Page 39: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 39

Page 40: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

LFSR (Linear Feedback Shift Reg)

• A shifter reg with a special feedback circuit to generate the serial input

• The feedback circuit performs xor operation over specific bits

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 40

operation over specific bits• Can circulate through 2n-1 states for an n-

bit register

Page 41: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• E.g, 4-bit LFSR

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 41

Page 42: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• 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.1-3 and 9.5 42

Page 43: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

encryption/decryption– A counter with simple next-state logic

e.g., 128-bit LFSR using 3 xor gates to circulate

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 43

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

Page 44: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 44

Page 45: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 45

Page 46: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Read remaining of Section 9.2.3 (design to including 00..00 state)

• Read Section 9.2.4 (BCD counter, design similar to the second/minute counter in Section 9.1.3

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 46

Section 9.1.3

Page 47: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

PWM (pulse width modulation)

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

• PWM: use a signal, w, to specify the duty cycle

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 47

cycle– 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 a special output circuit

Page 48: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 48

Page 49: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 49

Page 50: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 50

Page 51: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

3. Register as fast temporary storage• RAM

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 51

– Need a special interface logic

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

addressable memory)

Page 52: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

Register file

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

enable signal)

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 52

enable signal)• Can has multiple read ports

Page 53: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 53

Page 54: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 54

– 1 bit asserted according to w_addr if wr_en is 1

• Read circuit:– A mux for each read port

Page 55: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• 2-d data type needed

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 55

Page 56: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 56

Page 57: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 57

Page 58: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 58

Page 59: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

FIFO Buffer

• “Elastic” storage between two subsystems

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 59

Page 60: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

– 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.1-3 and 9.5 60

Page 61: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 61

Page 62: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

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

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 62

– LSFR as counter

Page 63: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 63

Page 64: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• Augmented binary counter: – increase the counter by 1 bits– Use LSB bits (in this case 3 bits) as register address– Use MSB bit to distinguish full or empty

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 64

Page 65: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 65

Page 66: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 66

Page 67: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 67

Page 68: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

• 2 extra status FFs– Full_reg/empty_reg memorize the current staus– Initialized as 0 and 1– Modified according to wr and rd signals

(i.e. wr&rd):• 00: no change• 11: advance read pointer/write pointer; full/empty no

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 68

• 11: advance read pointer/write pointer; full/empty no change due to both read and write operations

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

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

Page 69: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 69

Page 70: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 70

Page 71: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 71

Page 72: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

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

write pointer and read pointer follow the same pattern

– Other counters can be used for the second scheme

– E.g, use LFSR

RTL Hardware Design by P. Chu

Chapter 9.1-3 and 9.5 72

– E.g, use LFSR

Page 73: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

KDA application: FPGA modem overview

• Modem datapath functionality (i.e. TXD and RXD) created in System Generator Xilinx tool.

• Interfaces and high level control hand coded in VHDL• Implemented using Xilinx Virtex4 lx60

RW_IFIRQ

73

MCUPIFCRU

MBIF ADIF

TXD

RXD

TX_AGC

I/Q TX_DATA

RX_RSSI

RX_DATA

PA

MCLK

ARST_N

TX_CTRLTX_TDM

TX_EOW

RX_CTRLRX_TDM

RX_EOW RFIF

CLK_7M37

RF

Page 74: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

KDA application: Top level TXD and RXD design

20.16 MHz

20.16 MHz

FIFO

FIFO

53.76 MHz

53.76 MHz

DAC

ADRX

TX

74

• Multiple rate and multiple clock domain System Generator design• 4+2 .ngc netlist files from System Generator integrated in top level VHDL

design• Timing constraints

– Multi-cycle timing constraints included in .ngc files (NB! ChipScope Pro)– All clock nets, clock domain crossings and other known paths constrained

leaving the number of unconstrained paths to a minimum.– ISE Timing Analyzer reports all unconstrained paths

Page 75: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

KDA application: Packet DMA; the PTX module

• Packed DMA in transmission direction (i.e. from CPU).

/ 75 /INF5430

• Payload data first written to 32/64 kbyte Xilinx Block RAM (BRAM), and then two 16-bit words withpacked data start address in BRAM and number of bytes in packed are written to the cntrl packed FIFO.

• BUFRAM Finite State Machine (FSM) first reads the two control words and then reads payload data from BRAM.

• CTRL packed FIFO must be rather large (i.e. 1 kbyte) to be able to store many small packets.

• PCIe-PIF BRAM write interface and BUFRAM FSM read interface in different clock domains!

• For design verification during implementation data may be routed back (i.e. to the CPU) via the receiving PRX module (see next slide) in data loopback mode.

Page 76: INF5430 PPCHU chap09 · 1. Poor design practice and remedy • Synchronous design is the most important methodology • Poor practice in the past (to save chips) – Misuse of asynchronous

KDA application: Packet DMA; the PRX module

• Packet DMA in receiver direction (i.e. to the CPU).

/ 76 /INF5430

• Packet DMA in receiver direction (i.e. to the CPU).

• Payload data first stored in 32/64 kbyte BRAM, and then two 16-bit words with packed data startaddress in BRAM and number of bytes in packed are written to the cntrl packed FIFO

• The CPU first reads the two control words from the cntrl packet FIFO and then reads payload data from BRAM.

• CTRL packed FIFO must be rather large (i.e. 1 kbyte) to be able to store many small packets.

• PCIe-PIF BRAM read interface and BUFRAM FSM write interface in different clock domains!

• Payload data may be received from the PTX module in loopback mode.


Recommended