View
4
Download
0
Category
Preview:
Citation preview
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 1/25
Outils et langagesGratuits et/ou open-source
Pour les FPGA
Adrien Prost-Boucle, Olivier Muller, Frédéric Rousseau
Laboratoire TIMA – CNRS/Grenoble-INP/UJF46 Avenue Félix Viallet, 38031 Grenoble cedex
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 2/25
Intérêt pour le gratuit et/ou open source
→ Évaluer un logiciel
→ Trouver le FPGA adapté
→ Garanties
- Fonctionnalités
- Support
→ Coût
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 3/25
Plan
1 – Flot de conception en RTL & HLS
2 – RTL : Logiciels gratuits des fabricants
Xilinx, Altera, Actel, Achronix, Lattice
3 – HLS : Logiciels gratuits C → RTL
GAUT LegUp ROCCC
PandA HerculeS ngDesign
4 – HLS : Logiciel AUGH
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 4/25
Flot niveau RTL
RTL = Register-transfer level
HDL = Hardware description language
→ Langages spécifiques au design matériel
→ Point d'entrée traditionnel
→ Support très large
→ Fastidieux
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 5/25
Synthèse de haut niveau
→ Plus accessible
→ Facilite la validation des algorithmes
→ Exploration des solutions
HLS = High-Level Synthesis
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 6/25
Langages d'entrée en HLS
→ C : Nombreux logiciels gratuits
(→ Java : Synthesijer)
(→ Python : MyHDL)
AUTRES : AUCUN SUPPORT GRATUIT
→ C++ / SystemC : Xilinx, Altera (1000$ - 5000$)Catapult (100k$ ?)Synopsys, Cadence...
→ OpenCL : Supporté chez Altera, bientôt Xilinx
→ Matlab : License spécifique HDL Coder+ Altera DSP Builder / Xilinx System Generator
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 7/25
Plan
1 – Flot de conception en RTL & HLS
2 – RTL : Logiciels gratuits des fabricants
Xilinx, Altera, Actel, Achronix, Lattice
3 – HLS : Logiciels gratuits C → RTL
GAUT LegUp ROCCC
PandA HerculeS ngDesign
4 – HLS : Logiciel AUGH
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 8/25
Xilinx : ISE WebPack
- Seulement pour FPGA les plus réduits
- WebTalk, indiscret
- Synthèse VHDL, Verilog
- CORE Generator
- Simulateur, version bridée
- Processeur Microblaze : ”microcontroller”
SDK : oui
- Analyseur logique : non
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 9/25
Altera : Quartus II Web Edition
- Seulement pour familles de FPGA les plus réduites
- TalkBack, indiscret
- Synthèse Schematic, VHDL, Verilog, System Verilog
- Simulateur : Modelsim, version limitée
- Générateur IP : licences séparées
- Processeur NIOS II + Design Suite : oui
- Analyseur logique : non
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 10/25
Actel / Microsemi, Achronix, Lattice
Actel / Microsemi : Libero SoC / IDE- Support d'un nombre réduit de FPGA- Catalogue d'IP : réduit
Achronix : ACE- Version d'essai 45 jours
Lattice Semiconductors : Diamond- Support d'un nombre réduit de FPGA- Autres limitations ?
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 11/25
Plan
1 – Flot de conception en RTL & HLS
2 – RTL : Logiciels gratuits des fabricants
Xilinx, Altera, Actel, Achronix, Lattice
3 – HLS : Logiciels gratuits C → RTL
GAUT LegUp ROCCC
PandA HerculeS ngDesign
4 – HLS : Logiciel AUGH
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 12/25
Rappel : Chaîne logicielle en HLS
Points d'intérêt :
→ License
→ Type d'application (DSP, ...)
→ Préférence fabricant FPGA
→ Support du langage C
→ Langage RTL généré
→ Activité du projet
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 13/25
GAUT
License CeCILL-B
Application DSPContrainte en latence
Support C Élevé
RTL VHDL générique
Préf. FPGA Calibrations pour Xilinx, Altera
Activité Forte
Autres Affichage GANTT, etc
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 14/25
LegUp
License Utilisation non commerciale, non lucrative
Application Partitionnement HW / SW
Support C Très elevé
RTL Verilog
Préf. FPGA Altera
Activité Moyen
Autres Basé sur LLVMProcesseur embarqué Tiger MIPSFaible contrôle sur la taille du circuit
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 15/25
ROCCC
License Eclipse Public License
Application DSP
Support C Faible
RTL VHDL
Préf. FPGA Génération PCore pour projet Xilinx
Activité Faible
Autres Basé sur EclipseSélection des optimisationsLimite en nombre d'opérateursFlottants possibles
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 16/25
PandA
License GPLv3
Application Partitionnement HW / SWFlottants
Support C Élevé (front-end GCC)
RTL Verilog
Préf. FPGA
Activité Forte
Autres Générateur de coeurs FloPoCoBenchmark CHStone
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 17/25
HerculeS
License Version gratuite, non open source
Application
Support C Élevé (front-end GCC) avec limites
RTL VHDL
Préf. FPGA Pas de préférence
Activité Moyen (2013)
Autres Passes d'optimisation désactivéesIntégration d'IP externesConsultation par email
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 18/25
ngDesign
License Version gratuite, open sourceUsage non commercial
Application
Support C Langage spécifique : Cx
RTL VHDL (Verilog : version pro)
Préf. FPGA
Activité Très récentActivité forte
Autres Contraste avec approches existantesOrienté vérificationEnvironnement intégré
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 19/25
Plan
1 – Flot de conception en RTL & HLS
2 – RTL : Logiciels gratuits des fabricants
Xilinx, Altera, Actel, Achronix, Lattice
3 – HLS : Logiciels gratuits C → RTL
GAUT LegUp ROCCC
PandA HerculeS ngDesign
4 – HLS : Logiciel AUGH
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 20/25
AUGH
License GPLv3
Application Accélérateurs matérielsCircuits contraints en ressources
Support C Élevé
RTL VHDL, générique
Préf. FPGA Calibration pour FPGA XilinxGénération projets ISE, Vivado
Activité Très forte
Autres Flot très accessibleFlot automatique
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 21/25
- Technos : Xilinx Virtex-5, Virtex-7, Zynq- Cartes : Xupv5, Zybo
- Très extensible : plugins pour nouvelles technos, cartes, IP, etc
- Contrôle total via scripts
- Nos benchmarks : 200 à 1200 lignes de C
- Exploration des solutions, autonome- Contraintes en ressources fines
AUGH : fonctionnalités actuelles
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 22/25
Exploration des solutions
- Modèles de FPGA et de cartes, internes
- Utilisation comme un compilateur
- Automatique et très rapide
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 23/25
0
200
400
600
800
1000
1200
1400
1600
1800
0 5000 10000 15000 20000 25000
La
ten
ce d
u c
ircu
it (c
ycle
s d
'ho
rlo
ge
)
Surface du circuit (nombre de LUT/FF)
LUTFF
Solution initialeCompacte mais lente
Solution finaleRapide et degrande surface
Exemple : IDCT 2D
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 24/25
Ce qui n'est pas (encore) géré :
- virgule flottante
- langage C : pointeurs
En cours :
- contrainte en ressources BRAM, LUTRAM
- simplification description de cartes ad hoc
- extension API pour plugins
- ajout interfaces (AXI...)
Limites actuelles
Séminaire Cap'Tronic Grenoble, 18 décembre 2014 25/25
Outils et langagesGratuits et/ou open-source
Pour les FPGA
Adrien Prost-Boucle, Olivier Muller, Frédéric Rousseau
Laboratoire TIMA – CNRS/Grenoble-INP/UJF46 Avenue Félix Viallet, 38031 Grenoble cedex
Recommended