Product-Term Based Synthesizable Embedded Programmable Logic Cores - - PDF document

product term based synthesizable embedded programmable
SMART_READER_LITE
LIVE PREVIEW

Product-Term Based Synthesizable Embedded Programmable Logic Cores - - PDF document

Product-Term Based Synthesizable Embedded Programmable Logic Cores Andy Yan, Dr. Steven Wilton SoC Research Lab, University of British Columbia Vancouver, BC Canada Programmable IP in SoC Design Processor: Functionality specified


slide-1
SLIDE 1

1

Product-Term Based Synthesizable Embedded Programmable Logic Cores

Andy Yan,

  • Dr. Steven Wilton

SoC Research Lab, University of British Columbia Vancouver, BC Canada

2

Programmable IP in SoC Design

Fixed Logic:

  • Functionality

fixed at design time

  • Little post-fab

flexibility Embedded Programmable Logic:

  • Functionality specified through

hardware configuration Processor:

  • Functionality

specified using software

slide-2
SLIDE 2

2

3

“Hard” Programmable IP Flow

4

Soft Programmable Logic Cores

  • Conventional approach

– “Hard” FPGA layout provided by vendors

  • Our approach

– Synthesizable Programmable Logic Core (PLC) – “Soft”: HDL used to describe a PLC architecture, NOT to describe a particular user circuit – Synthesis required to translate RTL to gates

slide-3
SLIDE 3

3

5

Soft Programmable Logic Cores

  • Advantages

– Easy to integrate, reduces design time – Very flexible, can create the exact required core – Easy to migrate to smaller technologies

  • Disadvantages

– Inefficient compared to hard cores

  • Our thought

– Makes sense if you only want a small core (a few hundred gates, perhaps) e.g. next state logic in state machine

6

“Soft” Programmable IP Flow

slide-4
SLIDE 4

4

7

Our Contribution

  • Previous architecture design

– Gradual Architecture [Kafafi et al., FPGA `03] – Basic logic element: Lookup-tables (LUT)

  • Propose new architectural family

– Basic logic element: Product-term array block – 35% density improvement – 72% speed improvement

8

Basic Logic Elements

Product-term Block (PTB) Lookup-Table (LUT)

. . . . . . . . . . . . . . . . . . . . . . . . . . .

i inputs p product-terms

  • outputs

. . . . . . . . . . . . . . . . . . . . . . . .

. . . k Select Single Output

slide-5
SLIDE 5

5

9

Architectural Requirements

  • Area and delay minimization

– Large capacity product-term blocks (PTB) and shallow core depth

  • Simple placement and routing

– “Full connectivity” routing fabric

  • Flexible and scalable architecture

– Architecture parameter definitions and optimizations

10

Synthesizable PTB Architecture

  • Product-term blocks (PTBs) arranged in several levels
  • Unidirectional signal flow to avoid combinational loops

in un-programmed fabric

  • Outputs of PTBs in one level can only be connected to

inputs in subsequent levels

  • 2 interconnect strategies:

Rectangular and Triangular PTB architecture

slide-6
SLIDE 6

6

11

Rectangular PTB Architecture

12

Triangular PTB Architecture

slide-7
SLIDE 7

7

13

Detailed View of Interconnect Fabric

  • Very flexible,

not restrictive

  • Easy P&R

tools

  • We can do

better though

PTB PTB PTB PTB INPUTS OUTPUTS PTB PTB

14

Parameter Optimization

Two Parameter Classes:

  • High-Level Parameters

– Specified by SoC core user / VLSI designer – Used to identify a specific core in a programmable library

  • Low-Level Parameters

– Not specified by SoC core user / VLSI designer – Used to describe specific characteristics of library – Determined through architectural experimentation

slide-8
SLIDE 8

8

15

Architectural Parameters

Ratio of PTBs in Neighboring Levels (r, α) Number of Outputs per PTB (o) Number of Product-term blocks (PTBs) Number of Product-terms per PTB (p) Number of Primary Output Pins Number of Inputs per PTB (I) Number of Primary Inputs Pins

Low-Level Parameters High-Level Parameters

16

Low-Level Parameter Optimization

r = ratio of width to height Rectangular PTB Architecture

slide-9
SLIDE 9

9

17

Rectangular PTB Architecture Area

r (ratio of width to height) Area (m2 x1000)

600 700 800 900 1000 1100 0.0 0.2 0.4 0.6 0.8 1.0

18

Rectangular PTB Architecture Depth

Depth of Circuit r (ratio of width to height)

2.0 2.5 3.0 3.5 4.0 4.5 0.0 0.2 0.4 0.6 0.8 1.0

slide-10
SLIDE 10

10

19

Rectangular PTB Architecture

Area * Depth r (ratio of width to height)

1500 2000 2500 3000 0.0 0.2 0.4 0.6 0.8 1.0

20

Low-Level Parameter Optimization

= number of PTB drop-off factor Triangular PTB Architecture

= 0.33 0.5 0.66 0.75

  • 19% improvement in area-delay
slide-11
SLIDE 11

11

21

Other Low-Level Parameters

Product-Term Block Parameters:

  • input i = 12
  • product-term p =

9 or 18 depending

  • n size of circuit
  • output o = 3

. . . . . . . . . . . . . . . . . . . . . . . . . . .

i inputs p product-terms

  • outputs

. . . . . . . . . . . . . . . . . . . . . . . .

22

Comparison to LUT-based Architecture

  • 35% area improvement, 72% delay improvement
  • Gains mainly from larger circuits (more than 50

equivalent 4-LUTs)

  • Factors:

– PTB-based architecture has larger and fewer logic blocks – PTB-based architecture routing fabric simpler and depth of core shallower

slide-12
SLIDE 12

12

23

Comparison to LUT-based Architecture

Area (m2 x1000) # of LUTs per side # of PTBs

500 1000 1500 2000 2500 5 10 15 20 25 10 20 30 40

LUT Architecture PTB Architecture 24

Comparison to LUT-based Architecture

Delay (ns) # of LUTs per side

LUT Architecture PTB Architecture

# of PTBs

20 40 60 80 100 120 5 10 15 20 25 10 20 30 40

slide-13
SLIDE 13

13

25

Summary

  • Presented a product-term based synthesizable

programmable logic device

  • Investigated effects of various architectural

parameters

  • Optimal product-term block (PTB) parameters:

– input i = 10 – product-term p = 9 or 18 depending on size of circuit –

  • utput o = 3

26

Summary

  • Compared product-term architecture to lookup-

table based device

  • Overall, 35% smaller and 72% faster
  • Primarily due to reduction in amount of circuitry

needed to route signals