functionality 3 2. the functionality of the block and the effectiveness of the use of the chip area

13
Functionality Functionality – the num ber ofdifferent Boolean function thatthe logicalblock can realise . Forexam ple:. 1. 2N A N D realises5 functions: f= a b f= a f= b f= 0 f= 1 2. LU T 2 w ith three inputs=256 functions 3 Chip Area) Speed Perform ance Routing Resources. Routing resources takes70-90% ofthechip area. depend upon thearchitectureoftheblock (functionality). 2

Upload: alice-walton

Post on 03-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Functionality

Functionality – the number of different Boolean function that the logical block can realise. For example:. 1. 2NAND realises 5 functions:

f = a b f = a f = b f = 0 f = 1

2. LUT 2 with three inputs =256 functions 3

Chip Area) Speed Performance Routing Resources. Routing resources

takes 70-90% of the chip area. depend upon the architecture of the block (functionality).

2

Page 2: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

The functionality of the block and the effectiveness of the use of the chip area

If functionality increases: The number of logical blocks decreases

(more and more of logic is realised within a single block)

The block area increases ( it is more complicated)

The impact of the increase in functionality on routing:

The number of outputs of a logical block is likely to increase;

The number of connections between the logical blocks is likely to decrease;

Due to the smaller number of logical blocks the length of lines increases

The overall impact of the complexity of the logical block on routing is very important as routing takes most of the chip area.

Page 3: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Example.

Two-input LUT-s – 32 memory bits and 17 connections

Let us realise the function f = abc + bcd + a b c

AND

AND

AND

AND

AND

AND OR

OR

a

b

cb

c

c

da

Three-input LUT-s - 32 s memory bits and 13 connections

OR

AND

AND

AND

abc

b

c

c

d

a

b

b

Four input LUT-s - 16 memory bits and 5 connections

a

cb

d

Page 4: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Logical blocks based on LUT-s

LUT

LUT

S

MUX

0

1

S

MUX

0

1

T

T

Area of the logical block LBA = FA + (M BA 2 )

LBA –area of the logical blockFA – fixee areaM – number of LUT-sBA – area of the bit

xxk

Page 5: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Geometrical model

Logicalblock

CL

CL

W RPX

W RPX

CL + ( ) W RPX

RP – Routing Piich

Symmetrical FPGA.

RALB = 2(CL W RP) + (W RP) 2

x xx

RALB – Routing Area per LB

Row Based FPGA.

RALB = CL W RPx x

Total area

Total Area = Nblock (LBArea + RALB)

Page 6: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

.

The number of LUT bits is constantly 5 .

M=1

LUT

IN1

IN5

.

.

.

OUT

M=2

LUT

IN1

IN4

.

.

.

LUT

IN10

IN5

IN9

.

.

.

MUX0

1 s

OUT

Logical blocks with decomposable LUT-s

Page 7: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

M=4LUT

IN1

IN3

LUT

IN13

IN2

MUX00

01

s0 s1

OUT

Logical blocks with decomposable LUT-s II

10

11LUT

LUTIN10

IN12IN11

IN7

IN9IN8

IN4

IN6IN5

IN14

Page 8: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

M=8

LUTIN1

LUT

IN19

IN2

MUX000

001

s0 s1 s2

OUT

Logical blocks with decomposable LUT-s III

010

011LUT

LUTIN7IN8

IN5IN6

IN3IN4

LUTIN9

LUT

IN10

LUT

LUTIN15IN16

IN13IN14

IN11IN12

100

101

110

111

IN17IN18

Page 9: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Experimental results:

Summary of the functionality and area-effectiveness of the logical block:

1. One-output LUT is the best while K=42. Pins waste area. The best solution is large functionality per pin. 3. LUT with several outputs is not effectual.4. The best block based on PLA has 8-10 inputs, 12-13 terms and 3-4

outputs.5. In case of decomposable LUT-s the best solution is M=46. Adding trigger to the logical block is effectual

Page 10: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Functionality of the logical block and its performance

Dtot = Nl (Dlb + Dr)

Dtot –total delayDlb – delay of the logical blockDlb –delay of routingNl – number of logical blocks at the critical path

x

If functionality increases:1. 1.    the number of levels (logical blocks) decreases at the path of

the signals;2. 2. the delay of the logical blocks increases (bigger and more

complex);3. 3.    the total routing delay decreases;4. 4.    total delay ?

Page 11: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Example.

&

&

&

&

&

&

&

&

&

&

a

b

c

d

a

c

d

a

b

c

d

a

a

b

c

d

The logical blocks contain NAND elements with two outputs

The logical blocks contain three-input LUT-s

2NAND delay 0,7 ns3-LUT delay 1,4 nsRouting delay >0

LUT is swifter

Two different realisations of the function f = a d b + a b c + a c d

Page 12: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

1. LUT with 5-6 inputs is good in case of a medium-sized routing delay

2. Low functional logical blocks (such as 2NAND) are not swift;

3. It is effectual to add the inversion possibility in case of simple logical blocks.

4. It is effectual to increase the number of terms from three to five in case of large AND-OR blocks

Summary concerning the functionality and speed of the logical block

Page 13: Functionality 3 2. The functionality of the block and the effectiveness of the use of the chip area

Summary

1. Logical blocks with a very low level of functionality are not good both from the point of view of speed and functionality;

2. Large functionality per output is good (e.g LUT-s)

3. The best LUT is with 4 inputs;

4. The best logical block from the point of view of area is the one where PLA structures are used;

5. Decomposable LUT-s can be effectual in solving some type of tasks;

6. Non-homogenuous structures can be more useful than homogenuous;

7. Hierarchical FPGA organisation may be more effective than a single-level organisation