FPGA Reconfiguration Politecnico di Milano Seminar Room, Bld 20 4 - - PowerPoint PPT Presentation

fpga reconfiguration
SMART_READER_LITE
LIVE PREVIEW

FPGA Reconfiguration Politecnico di Milano Seminar Room, Bld 20 4 - - PowerPoint PPT Presentation

Advanced Topics on Heterogeneous System Architectures FPGA Reconfiguration Politecnico di Milano Seminar Room, Bld 20 4 December, 2017 Antonio R. Antonio R. Miele Miele Marco D. Santambrogio Marco D. Santambrogio


slide-1
SLIDE 1

Advanced Topics on Heterogeneous System Architectures

Politecnico di Milano Seminar Room, Bld 20 4 December, 2017 Antonio R. Antonio R. Miele Miele Marco D. Santambrogio Marco D. Santambrogio Politecnico di Milano

FPGA Reconfiguration

slide-2
SLIDE 2

Reconfiguration in everyday life

2

slide-3
SLIDE 3

Reconfiguration in everyday life

Soccer

(Par%al – Sta%c)

3

slide-4
SLIDE 4

Reconfiguration in everyday life

Soccer

Football

(Complete – Sta%c) (Par%al – Sta%c)

4

slide-5
SLIDE 5

Reconfiguration in everyday life

Soccer

Football

(Complete – Sta%c)

Hockey

( P a r % a l – D y n a m i c ) (Par%al – Sta%c)

5

slide-6
SLIDE 6

SoC Reconfiguration

6

slide-7
SLIDE 7

SoC Reconfiguration

7

slide-8
SLIDE 8

SoC Reconfiguration

8

slide-9
SLIDE 9

SoC Reconfiguration

9

slide-10
SLIDE 10

SoC Reconfiguration

10

slide-11
SLIDE 11

SoC Reconfiguration

11

"MANAGER"

slide-12
SLIDE 12

SoC Reconfiguration

12

"MANAGER"

slide-13
SLIDE 13

SoC Reconfiguration

13

"MANAGER"

slide-14
SLIDE 14

SoC Reconfiguration

14

"MANAGER"

slide-15
SLIDE 15

" M A N A G E R "

SoC Reconfiguration

15

slide-16
SLIDE 16

" M A N A G E R "

SoC Reconfiguration

16

slide-17
SLIDE 17

" M A N A G E R "

SoC Reconfiguration

17

slide-18
SLIDE 18

SoC Reconfiguration

18

"MANAGER"

slide-19
SLIDE 19

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

19

slide-20
SLIDE 20

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

20

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-21
SLIDE 21

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

21

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

WHO

slide-22
SLIDE 22

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

22

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

WHO

slide-23
SLIDE 23

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

23

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-24
SLIDE 24

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

24

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM GA

slide-25
SLIDE 25

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

25

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-26
SLIDE 26

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

26

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-27
SLIDE 27

SoMC Reconfiguration Scenario

  • Embedded VS External
  • Complete VS Partial
  • Dynamic VS Static

27

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-28
SLIDE 28

SoMC Reconfiguration Scenario

28

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM

slide-29
SLIDE 29

FPGA FPGA FPGA

BOARD/FPGAs CARD

HOST

(e.g., PC)

SYSTEM GA

SoMC Reconfiguration Scenario

29

slide-30
SLIDE 30

30

slide-31
SLIDE 31

Some Definitions

  • Object Code

Object Code: the executable active physical (either HW or SW) implementation of a given functionality

  • Core

Core: a specific representation of a functionality. It is possible, for example, to have a core described in VHDL, in C or in an intermediate representation (e.g. a DFG)

31

slide-32
SLIDE 32

Some Definitions

  • Object Code

Object Code: the executable active physical (either HW or SW) implementation of a given functionality

  • Core

Core: a specific representation of a functionality. It is possible, for example, to have a core described in VHDL, in C or in an intermediate representation (e.g. a DFG)

32

slide-33
SLIDE 33

Some Definitions

  • Object Code

Object Code: the executable active physical (either HW or SW) implementation of a given functionality

  • Core

Core: a specific representation of a functionality. It is possible, for example, to have a core described in VHDL, in C or in an intermediate representation (e.g. a DFG)

  • IP-Core

IP-Core: a core described using a HD Language combined with its communication infrastructure (i.e. the bus interface)

  • 33
slide-34
SLIDE 34

Some Definitions

  • Object Code

Object Code: the executable active physical (either HW or SW) implementation of a given functionality

  • Core

Core: a specific representation of a functionality. It is possible, for example, to have a core described in VHDL, in C or in an intermediate representation (e.g. a DFG)

  • IP-Core

IP-Core: a core described using a HD Language combined with its communication infrastructure (i.e. the bus interface)

  • Reconfigurable Functional Unit

Reconfigurable Functional Unit: an IP-Core that can be plugged and/or unplugged at runtime in an already working architecture

34

slide-35
SLIDE 35

Some Definitions

  • Object Code

Object Code: the executable active physical (either HW or SW) implementation of a given functionality

  • Core

Core: a specific representation of a functionality. It is possible, for example, to have a core described in VHDL, in C or in an intermediate representation (e.g. a DFG)

  • IP-Core

IP-Core: a core described using a HD Language combined with its communication infrastructure (i.e. the bus interface)

  • Reconfigurable Functional Unit

Reconfigurable Functional Unit: an IP-Core that can be plugged and/or unplugged at runtime in an already working architecture

  • Reconfigurable Region

Reconfigurable Region: a portion of the device area used to implement a reconfigurable core

35

slide-36
SLIDE 36

36

slide-37
SLIDE 37

5 W

  • who

who controls the reconfiguration

37

slide-38
SLIDE 38

5 W

  • who

who controls the reconfiguration

  • where

where the reconfiguration cotroller is located

38

slide-39
SLIDE 39

5 W

  • who

who controls the reconfiguration

  • where

where the reconfiguration cotroller is located

  • when

when the configurations are generated

39

slide-40
SLIDE 40

5 W

  • who

who controls the reconfiguration

  • where

where the reconfiguration cotroller is located

  • when

when the configurations are generated

  • which

which is the granularity of the reconfiguration

40

slide-41
SLIDE 41

5 W

  • who

who controls the reconfiguration

  • where

where the reconfiguration cotroller is located

  • when

when the configurations are generated

  • which

which is the granularity of the reconfiguration

  • in what

what dimension the reconfiguration operates

41

slide-42
SLIDE 42

5 W

  • who

who controls the reconfiguration

  • where

where the reconfiguration cotroller is located

  • when

when the configurations are generated

  • which

which is the granularity of the reconfiguration

  • in what

what dimension the reconfiguration operates

42

slide-43
SLIDE 43

Physical Coordinates

43

4-Slice VIIP CLB

slide-44
SLIDE 44

Physical Coordinates

44

4-Slice VIIP CLB

SLICE

slide-45
SLIDE 45

Physical Coordinates

Y X

45

4-Slice VIIP CLB

SLICE

slide-46
SLIDE 46

Physical Coordinates

Y X

67 66

46

4-Slice VIIP CLB

SLICE

slide-47
SLIDE 47

Physical Coordinates

Y X

67 66 75 74

47

4-Slice VIIP CLB

SLICE_X67Y75

slide-48
SLIDE 48

Physical Coordinates

SLICE_X67Y75

Y X

67 66 75 74 SLICE_X66Y74

48

4-Slice VIIP CLB

slide-49
SLIDE 49

Physical Coordinates

Switch Box SLICE

Y X

67 66 75 74 SLICE_X66Y74

49

4-Slice VIIP CLB

slide-50
SLIDE 50

Reconfigurable Region Definition

50

The flows require constraints to be satisfied when defining RRs in the UCF (User Constraints File) file

50

slide-51
SLIDE 51

Reconfigurable Region Definition

51

The flows require constraints to be satisfied when defining RRs in the UCF (User Constraints File) file

AREA_GROUP "RR1" RANGE = SLICE_X28Y64:SLICE_X41Y127;

51

slide-52
SLIDE 52

Reconfigurable Region Definition

52

The flows require constraints to be satisfied when defining RRs in the UCF (User Constraints File) file

AREA_GROUP "RR1" RANGE = SLICE_X28Y64:SLICE_X41Y127; AREA_GROUP "RR1" RANGE = RAMB16_X2Y9:RAMB16_X2Y15;

52

slide-53
SLIDE 53

RR Area Constraints

53

slide-54
SLIDE 54

RR Area Constraints

54

Xilinx VIIP Xilinx S3

slide-55
SLIDE 55

RR Area Constraints

55

Xilinx VIIP Xilinx S3

slide-56
SLIDE 56

RR Area Constraints

Xilinx VIIP Xilinx S3

56

slide-57
SLIDE 57

RR Area Constraints

Xilinx VIIP Xilinx S3 Xilinx V4

57

slide-58
SLIDE 58

Advanced Topics on Heterogeneous System Architectures

Politecnico di Milano Seminari Room, Bld 20 4 December, 2017 Antonio R. Antonio R. Miele Miele Marco D. Santambrogio Marco D. Santambrogio Politecnico di Milano

FPGA Reconfiguration Questions…