quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/img/pdf/rmll_fpga.pdf ·...

34
Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du matériel Soft Hard

Upload: vonhan

Post on 16-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

Quels outils libres pour le FPGA ?

Quand le monde du logiciel rencontre celui du matériel

Soft Hard

Page 2: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

2

Qui suis-je ?

Membre d'ARMadeus Project Responsable FPGA chez ARMadeus Systems Mainteneur de POD (Peripherals On Demand) Libriste

Page 3: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

3

Sommaire

1. Qu'est-ce qu'un FPGA

2. La chaine de développement FPGA

3. Modélisation, simulation• VHDL• Verilog• SystemC

4. Spécialisation matériel

5. Génération du bitstream

6. Utilisation réelle

Page 4: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

4

Qu'est-ce qu'un FPGA ?

Field Programmable Gates Array Matrice de Champs de Portes Programmables

Page 5: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

5

Qu'est-ce qu'un FPGA ?

Matrice de portes logiques

Interconnexions reconfigurables

Différentes technologies ram, flash, ...

Page 6: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

6

Une simple bascule D

La base d'un design synchrone. Recopie l'entrée D sur la sortie Q à chaque

front de Clk.

D Q

Clk

Rst

Page 7: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

7

Composants Virtuels

Aussi appelé IP (Intellectual property) Décrit dans un langage de modélisation «Synthétisable» Composants virtuels libres :

OpenCores Milkymist POD

Page 8: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

8

Chaine de développement FPGA

VC

VC

VC

DesignHDL

Conception, modélisationsimulation

Assemblage composants

Bitstreamnetlist

placelistSyn

thè

se

Place&

route

Bit

gen

Config

Spécialisation pourun FPGA donné

Utilisation réelle

Page 9: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

9

Chaine de développement FPGA

VC

VC

VC

DesignHDL

Conception, modélisationsimulation

Assemblage composants

Bitstreamnetlist

placelistSyn

thè

se

Place&

route

Bit

gen

Config

Spécialisation pourun FPGA donné

Utilisation réelle

Page 10: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

10

Modélisation et simulation

Trois languages «standard»: VHDL Verilog SystemC

Tous simulables «librement» Tous les outils GNU/GPL disponibles

Page 11: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

11

VHDL

VHSIC Hardware Description Language VHSIC : Very High Speed Integrated Circuit

Language de description matériel pour circuit intégré à très grande vitesse...

Commande de l'armée américaine Syntaxe «ada» Beaucoup utilisé en europe

Page 12: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

12

Exemple simple

D Q

Clk

Rst

Page 13: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

13

Outils VHDL

GHDL: Tristan Gingold (ada france) Front-end de gcc Couverture de code avec gcov

GTKWave: visualiseur de signaux Compatible tous langages de simulation

POD: Peripherals On Demand Outils Python d'assemblage de composants ARMadeus Project

Page 14: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

14

GTKWave

Visualiseur de signaux en GTK Nombreux formats : vcd, ghw, vzt, lxt, … Développement actif.

Page 15: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

15

POD: Peripherals On Demand

Outil Python d'assemblage de Composants virtuels

Génère la «glue» en VHDL. Ligne de commande + complétion.

Page 16: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

16

Demo

Page 17: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

17

Verilog

Développé par Cadence© depuis 1984 Vaguement inspiré du C Standardisé par l'IEEE en 1995 Beaucoup utilisé aux USA Plus concis

Page 18: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

18

Exemple simple

D Q

Clk

Rst

Page 19: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

19

Outils Verilog

Icarus (iVerilog) Simulation, Synthèse Conversion vers VHDL.

Verilator Convertisseur verilog → systemC, C++, ... Accélérateur de simulation.

GTKWave Vermin, rtlbrowse

Dinotrace

Page 20: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

20

Demo

Page 21: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

21

SystemC

Initialement développé par Synopsys (scenic) Bibliothèque de classes et macros C++ Normalisé par l'OSCI :

Open SystemC Initiative

Code source disponible (login). Simulation comportementale (behavioral) Rapide.

Page 22: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

22

Exemple simple

D Q

Clk

Rst

Page 23: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

23

Les outils SystemC

systemc-2.2.0.tgz : à télécharger sur le site de l'OSCI

GCC (g++) GtkWave Outils C++

Page 24: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

24

Demo

Page 25: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

25

Chaine de développement FPGA

VC

VC

VC

DesignHDL

Conception, modélisationsimulation

Assemblage composants

Bitstreamnetlist

placelistSyn

thè

se

Place&

route

Bit

gen

Config

Spécialisation pourun FPGA donné

Utilisation réelle

Page 26: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

26

Spécialisation matériel

De nombreux formats Netlist:

NCD: Xilinx EDIF: Standard LLHDL: Projet libre (Sébastien Bourdeauducq)

Placelist: XDL: Xilinx lisible NCD: Xilinx

Antares Logiciel de placement routage pour Xilinx.

(Sébastien Bourdeauducq)

Page 27: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

27

Chaine de développement FPGA

VC

VC

VC

DesignHDL

Conception, modélisationsimulation

Assemblage composants

Bitstreamnetlist

placelistSyn

thè

se

Place&

route

Bit

gen

Config

Spécialisation pourun FPGA donné

Utilisation réèlle

Page 28: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

28

Bitgen:Debit

Projet Debit Jean-Baptiste Note et Éric Rannaud (ENS) www.ulogic.org Reverse des bitstream Xilinx

Page 29: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

29

Bitgen:Debit

Génère des bitstreams Pour Virtex2 Pour Spartan3

Page 30: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

30

Chaine de développement FPGA

VC

VC

VC

DesignHDL

Conception, modélisationsimulation

Assemblage composants

Bitstreamnetlist

placelistSyn

thè

se

Place&

route

Bit

gen

Config

Spécialisation pourun FPGA donné

Utilisation réelle

Page 31: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

31

Utilisation réèlle

Configuration du FPGA correctement documenté. EEPROM JTAG SPI Parallèle

Oscilloscope Fonctionnement réel

Page 32: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

32

Conclusion

Simulation et modélisation: Des projets tout à fait utilisables

Synthèse, placement routage: Des projets naissants mais prometteur

Génération de bitstream: C'est possible ! «from the bitstream to the netlist»

La pente est raide mais la route est droite !

Page 33: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

33

Liens GHDL : http://ghdl.free.fr GtkWave : http://gtkwave.sourceforge.net/ POD : http://periphondemand.sourceforge.net/ Icarus : http://iverilog.wikia.com/ Verilator, Dynotrace : http://www.veripool.org/

VHDL : github.com/sebx86/VerilatorVHDL

SystemC : http://www.systemc.org/ LLHDL : github.com/sbourdeauducq/llhdl Antares : github.com/sbourdeauducq/antares Debit : www.ulogic.org

Page 34: Quand le monde du logiciel rencontre celui du matériel ...2011.rmll.info/IMG/pdf/rmll_fpga.pdf · Quels outils libres pour le FPGA ? Quand le monde du logiciel rencontre celui du

11 juillet 2011 RMLL 2011 : Quels Logiciels Libres pour le FPGA ?

34

Questions ?

Questions ?