La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

FPGA and more Marco D. Santambrogio: Politecnico di Milano EG7 – 21 Aprile 2016 Ver. 0 del 21 Aprile.

Presentazioni simili


Presentazione sul tema: "FPGA and more Marco D. Santambrogio: Politecnico di Milano EG7 – 21 Aprile 2016 Ver. 0 del 21 Aprile."— Transcript della presentazione:

1 FPGA and more Marco D. Santambrogio: marco.santambrogio@polimi.it Politecnico di Milano EG7 – 21 Aprile 2016 Ver. 0 del 21 Aprile

2 Logistica: introduzione 31 Marzo – 7 Aprile –Impariamo a parlare del nostro progetto: presentazioni e pitch 14 Aprile –Impariamo a scrivere del nostro progetto: LaTeX 21 Aprile –Impariamo a realizzare il nostro progetto: FPGA, queste sconosciute! 28 Aprile –Impariamo a condividere il nostro progetto: git e repository condivisi 2

3 Logistica: C/Python 3 Dal 5 Maggio al 30 Giugno –8 incontri da 2h cad: apprendimenti strumenti nuovi Luglio –3 (7/14/21) Incontri da 4h cad: per mettere tutto insieme –23-24 Luglio: Xilinx Hackathon

4 Team C Riccardo Cavadini, Marta Bracco Stephen Bono Manuela Legnardi, Federica Ioli Tommaso Ciceri, Bianca Falcone Matteo Arlotti, Carlo Casalini Davide Berretta, Paola Bahiti Nicolò Grassi, Matteo Greco Marina Gnocco, Federica Loizzo Elisa Forzinetti, Denise Fumagalli Elena Balzan, Rossella Damiano Angela Colella, Chiara Alberti 4

5 5 TUTTI GLI ALTRI TEAM PYTHON

6 Logistica: Maggio/Giugno 6 5 Maggio 12 Maggio 19 Maggio 26 Maggio 10 Giugno 16 Giugno 23 Giugno 30 Giugno

7 Logistica: Maggio/Giugno 7 5 Maggio 12 Maggio 19 Maggio 26 Maggio 10 Giugno 16 Giugno 23 Giugno 30 Giugno PRENDERE LE MISURE

8 Logistica: Maggio/Giugno 8 5 Maggio 12 Maggio 19 Maggio 26 Maggio 10 Giugno 16 Giugno 23 Giugno 30 Giugno 27 /5/16 CONTINUE OR NOT?

9 Logistica: Maggio/Giugno 9 5 Maggio 12 Maggio 19 Maggio 26 Maggio 10 Giugno 16 Giugno 23 Giugno 30 Giugno CHALLENGE ACCEPTED DEAL!

10 Xilinx Hackathon Hack –Evento per approfondire/sfidarsi su specifiche tecnologie tramite 10

11 Xilinx Hackathon Hackathon –Evento per approfondire/sfidarsi su specifiche tecnologie tramite –più giorni (marathon) di coding su idee/problemi interessanti 11

12 Xilinx Hackathon Hackathon –Evento per approfondire/sfidarsi su specifiche tecnologie tramite –più giorni (marathon) di coding su idee/problemi interessanti Oggi 23-24 Luglio… potremmo spostarto al: –15-16 Luglio? –16-17 Luglio? –17-18 Luglio? 12

13 Gantt Chart Grafico a barre che rappresenta le attività per blocchi nel tempo. – L'inizio e la fine del blocco corrispondono all'inizio ed alla fine dell'attività. 13

14 Gantt Chart: esempio 14

15 Analisi SWOT Aiutare ad identificare le Forze (Strengths), Debolezze (Weaknesses), Opportunità (Opportunities) e Minacce (Threats) –I punti di forza e di debolezza sono fattori interni che possono creare o distruggere valore. –Le opportunità e le minacce sono fattori esterni incontrollabili che possono comportare la creazione o la distruzione del valore. 15

16 Analisi SWOT: esempio 16

17 Reconfigurable Computing FPGA based systems exascale computing infrastructure CAD tools Physical design High-level analysis and PLs http://hplusmagazine.com/2009/04/07/brain-chip/

18 Reconfigurable Hardware “Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much higher performance than software, while maintaining a higher level of flexibility than hardware” (K. Compton and S. Hauck, Reconfigurable Computing: a Survey of Systems and Software, 2002) 18

19 trend toward higher levels of integration Evolution of implementation technologies Logic gates (1950s-60s) Regular structures for two-level logic (1960s-70s) –muxes and decoders, PLAs Programmable sum-of-products arrays (1970s-80s) –PLDs, complex PLDs Programmable gate arrays (1980s-90s) –densities high enough to permit entirely new class of application, e.g., prototyping, emulation, acceleration 19

20 Gate Array Technology (IBM - 1970s) Simple logic gates –combine transistors to implement combinational and sequential logic Interconnect –wires to connect inputs and outputs to logic blocks I/O blocks –special blocks at periphery for external connections Add wires to make connections –done when chip is fabbed “mask-programmable” –construct any circuit 20

21 Field-Programmable Gate Arrays Logic blocks –to implement combinational and sequential logic Interconnect –wires to connect inputs and outputs to logic blocks I/O blocks –special logic blocks at periphery of device for external connections Key questions: –how to make logic blocks programmable? –how to connect the wires? –after the chip has been fabbed 21

22 Commercial FPGA Companies Lattice official webiste 22

23 Xilinx Programmable Gate Arrays CLB - Configurable Logic Block Built-in fast carry logic Can be used as memory Three types of routing –direct –general-purpose –long lines of various lengths RAM-programmable –can be reconfigured 23

24 Configurable Logic Blocks CLBs made of Slices –sVirtex-E 2-slice –VIIP 4-slice Slices made of LookUp Tables (LUTs) LookUp Tables –4-input, 1 output functions –Newest FPGA 2 6-input 2 output 24

25 Simplified CLB Structure CLB 25

26 Lookup Tables: LUTs LUT contains Memory Cells to implement small logic functions Each cell holds ‘0’ or ‘1’. Programmed with outputs of Truth Table Inputs select content of one of the cells as output 3 Inputs LUT -> 8 Memory Cells Static Random Access Memory SRAM cells 3 – 6 Inputs Multiplexer MUX 26

27 Example: 4-input AND gate ABCDO 00000 00010 00100 00110 01000 01010 01100 01110 10000 10010 10100 10110 11000 11010 11100 11111 27

28 The Virtex CLB 2-Slice Virtex-E CLB 28

29 Details of One Virtex Slice Virtex-E Slice

30 Implements any Two 4-input Functions 4-input function 3-input function; registered Virtex-E Slice

31 CLB Switch Box SLICE TBUF Y X 67 66 75 74 SLICE_X66Y74 31 4-Slice VIIP CLB

32 Interconnection Network 32

33 Example Determine the configuration bits for the following circuit implementation in a 2x2 FPGA, with I/O constraints as shown in the following figure. Assume 2-input LUTs in each CLB. 33

34 CLBs configuration 34

35 Placement: Select CLBs 35

36 Routing: Select path 36

37 Configuration Bitstream The configuration bitstream must include ALL CLBs and SBs, even unused ones CLB0: 00011 CLB1: ????? CLB2: 01100 CLB3: XXXXX SB0: 000000 SB1: 000010 SB2: 000000 SB3: 000000 SB4: 000001 37

38 The configuration bitstream Occupation must be determined only on the basis of –Number of configuration words –Initial Frame Address Register (FAR) value 38

39 Frame and Configuration Memory Virtex-II Pro –Configuration memory is arranged in vertical frames that are one bit wide and stretch from the top edge of the device to the bottom –Frames are the smallest addressable segments of the VIIP configuration memory space all operations must act on whole configuration frames. Virtex-4 –Configuration memory is arranged in frames that are tiled about the device –Frames are the smallest addressable segments of the V4 configuration memory space all operations must therefore act upon whole configuration frames 39

40 Xilinx Virtex-4: frame organization 40

41 Some Definitions Object Code: the executable active physical (either HW or SW) implementation of a given functionality 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: a core described using a HD Language combined with its communication infrastructure (i.e. the bus interface) Reconfigurable Functional Unit: an IP-Core that can be plugged and/or unplugged at runtime in an already working architecture Reconfigurable Region: a portion of the device area used to implement a reconfigurable core 41

42 Xilinx FPGA and Configuration Memory 42

43 FPGA EDA Tools Must provide a design environment based on digital design concepts and components (gates, flip-flops, MUXs, etc.) Must hide the complexities of placement, routing and bitstream generation from the user. Manual placement, routing and bitstream generation is infeasible for practical FPGA array sizes and circuit complexities. 43

44 Computer-aided Design Can't design FPGAs by hand –way too much logic to manage, hard to make changes Hardware description languages –specify functionality of logic at a high level Validation - high-level simulation to catch specification errors –verify pin-outs and connections to other system components –low-level to verify mapping and check performance Logic synthesis –process of compiling HDL program into logic gates and flip-flops Technology mapping –map the logic onto elements available in the implementation technology (LUTs for Xilinx FPGAs) 44

45 CAD Tool Path (cont’d) Placement and routing –assign logic blocks to functions –make wiring connections Timing analysis - verify paths –determine delays as routed –look at critical paths and ways to improve Partitioning and constraining –if design does not fit or is unroutable as placed split into multiple chips –if design it too slow prioritize critical paths, fix placement of cells, etc. –few tools to help with these tasks exist today Generate programming files - bits to be loaded into chip for configuration 45

46 QUESTIONS? 46 Marco D. Santambrogio marco.santambrogio@polimi.it http://www.necst.it


Scaricare ppt "FPGA and more Marco D. Santambrogio: Politecnico di Milano EG7 – 21 Aprile 2016 Ver. 0 del 21 Aprile."

Presentazioni simili


Annunci Google