Difference between revisions of "FPGA : une introduction"

From Tmplab
(Recommandé)
 
(58 intermediate revisions by 14 users not shown)
Line 1: Line 1:
 +
{{Workshop
 +
|title=FPGA: Une introduction
 +
|when=Samedi 21 Mars 2009
 +
|where=/tmp/lab
 +
|intro=Workshop d'introduction aux FPGA.
 +
|by=[[User:lekernel|lekernel]]
 +
}}
 +
Photos: http://lekernel.net/blog/?p=218
 +
 +
<b>Ce workshop sera refait le 26 novembre 2009 à [http://www.lasuitelogique.org La Suite Logique] à 18:00: [[FPGA : une introduction (bis)]].</b>
 +
 
== Workshop FPGA ==
 
== Workshop FPGA ==
  
Line 10: Line 21:
 
# S'il reste du temps: introduction à Verilog
 
# S'il reste du temps: introduction à Verilog
 
# Implémentation du générateur sonore en utilisant Verilog
 
# Implémentation du générateur sonore en utilisant Verilog
 +
 +
La présentation est dispo sur http://lekernel.net/presentations/FPGA_Workshops
  
 
== Connaissances nécessaires ==
 
== Connaissances nécessaires ==
 +
''<dermiste> hum je sais pas si un wkshop avec lekernel tu peux vraiment parler de "découvrir" les commandes linux''
 +
 +
''<dermiste> a mon avis ca va plutot etre "trainé par un char d'assaut sur un stade olympique couvert de tessons de bouteille"''
 +
 
Ce workshop s'addresse principalement aux débutants. Il est cependant recommandé de savoir :
 
Ce workshop s'addresse principalement aux débutants. Il est cependant recommandé de savoir :
* utiliser les commandes de base du shell Linux (cd, ls, rm...).
 
* compter en binaire (addition et multiplication). Pour les personnes qui prennent peur : cela se fait exactement comme en base 10 (en posant l'opération !), et il y aura quelques rappels au début du workshop.
 
 
* des bases de programmation sur ordinateur (ou mieux, sur microcontroleur/Arduino) sont utiles mais pas nécessaires.
 
* des bases de programmation sur ordinateur (ou mieux, sur microcontroleur/Arduino) sont utiles mais pas nécessaires.
 +
* compter en binaire (addition et multiplication). Pour les personnes qui prennent peur : cela se fait exactement comme en base 10 (en posant l'opération !), et il y aura quelques rappels pendant le workshop.
 +
* utiliser les commandes de base du shell Linux (cd, ls, rm...). (facultatif, c'est seulement recommandé pour faire du Verilog efficace. Pour le reste c'est meme possible de venir avec Windows, bien que déconseillé)
  
 
== Inscrits/Attendees ==
 
== Inscrits/Attendees ==
 
* Animator : [[User:lekernel|lekernel]]
 
* Animator : [[User:lekernel|lekernel]]
 
* Philpraxis
 
* Philpraxis
 +
* Ladislas
 +
* Louis
 +
* Babydock
 +
* Laurent
 +
* Nico
 +
* [[User:Benjamin|Benjamin]]
 +
* [[User:Kiniou|kiniou]]
 +
* [[User:Thus0|Thus0]]
 +
* Ursula
 +
* [[User:Artheist|Artheist]]
 +
* Pub
 +
* Martin D
 +
* Lyle
 +
* Uros
 +
* Pierre
 +
* Nina
  
Merci de vous inscrire ici afin d'avoir une estimation du nombre de participants. Vous pouvez aussi envoyer un mail à sebastien point bourdeauducq at gmail.
+
Merci de vous inscrire ici afin d'avoir une estimation du nombre de participants. Vous pouvez aussi envoyer un mail à sebastien point bourdeauducq at lekernel point net.
  
 
== Recommandé ==
 
== Recommandé ==
 
* Amener votre laptop (et de la bière)
 
* Amener votre laptop (et de la bière)
 
* Installer la dev suite Xilinx ISE Webpack (http://www.xilinx.com/ise/logic_design_prod/webpack.htm)
 
* Installer la dev suite Xilinx ISE Webpack (http://www.xilinx.com/ise/logic_design_prod/webpack.htm)
 +
  * Pour Linux 64bit, choisir l'installeur web (le gros bouton download) sinon c'est cuit.
 +
  * Attention ! Le zip se décompresse dans le répertoire courant ! Donc mkdir webpack; cd webpack; unzip ../10.1_Webinstall.zip
 +
  * Notez bien le numéro d'enregistrement inscrit sur la page de download :)
 +
  * Lancer l'installeur en root: sudo ./setup (l'installation se fait dans /opt/)
 
* Optionnel (pour Verilog): Installer GTKwave, Icarus Verilog et GPL Cver, inclus dans les BSD et les bonnes distrib Linux
 
* Optionnel (pour Verilog): Installer GTKwave, Icarus Verilog et GPL Cver, inclus dans les BSD et les bonnes distrib Linux
 +
* Pour le Spartan 3A evaluation kit: installer l'outil de programmation JTAG (cf bas de cette page)
  
 
== Equipement ==
 
== Equipement ==
 
Dispo :
 
Dispo :
 
* Une carte ML401 (http://www.xilinx.com/products/devkits/HW-V4-ML401-UNI-G.htm) pour les démonstrations
 
* Une carte ML401 (http://www.xilinx.com/products/devkits/HW-V4-ML401-UNI-G.htm) pour les démonstrations
* Un Spartan 3E Sample Pack (http://www.xilinx.com/products/boards/s3esamplepack/files/S3Euserguide.pdf) pour les essais des participants
+
* Un Spartan 3E Sample Pack (http://www.xilinx.com/products/boards/s3esamplepack/files/S3Euserguide.pdf)
* Un câble JTAG (2 si je retrouve mon câble parallèle)
+
* Un câble JTAG <s>(2 si je retrouve mon câble parallèle)</s>
* Il y aura peut être d'autres cartes mais ce n'est pas garanti. Si vous voulez être sûr de pouvoir participer, venez avec votre matériel.
+
* 12 Spartan 3A Evaluation Kits pour ceux qui les ont commandés
 +
* <s>Il y aura peut être d'autres cartes mais ce n'est pas garanti.</s> Si vous voulez être sûr de pouvoir participer, venez avec votre matériel. Cependant, beaucoup de manipulations se font d'abord sur PC avant de tester sur la carte ; il est envisageable de partager une carte entre deux personnes.
  
 
Wanted :
 
Wanted :
* Vidéoprojecteur.
+
* <s>Vidéoprojecteur.</s>
* Cartes de développement FPGA et câbles JTAG compatibles (seuls les câbles Xilinx semblent utilisables).
+
* <s>Tableau + feutres/craies.</s>
* Petits haut-parleurs ou prises Jack pour casques, et résistances 220 Ohm non CMS.
+
* <s>Cartes de développement FPGA et câbles JTAG compatibles (seuls les câbles Xilinx semblent utilisables).</s>
* Barrettes HE10.
+
* Petits haut-parleurs (HP seuls) ou prises Jack pour casques (femelles), et résistances 220 Ohm non CMS.
 +
* Barrettes HE10 femelles pour pouvoir se brancher proprement sur le connecteur à gauche de http://blog.nirosoftware.com/wpblog/wp-content/uploads/2008/11/avnet_xilinxspartan_3a.jpg.
  
 
Cartes recommandées pour débuter :
 
Cartes recommandées pour débuter :
Line 47: Line 87:
 
* Spartan 3A Evaluation Kit ($49) with PSoC : http://www.em.avnet.com/spartan3a-evl / Câble JTAG non nécessaire
 
* Spartan 3A Evaluation Kit ($49) with PSoC : http://www.em.avnet.com/spartan3a-evl / Câble JTAG non nécessaire
  
Ceux qui veulent achter un kit mettent leur nom ici pour faire eventuellement un achat groupé, avec le modèle de kit voulu:
+
== JTAG sur Spartan 3A Evaluation Kit ==
* Philpraxis: Spartan 3A Evaluation Kit ($49)
+
 
 +
Pour ceux qui veulent venir au workshop avec la carte "Spartan 3A Evaluation Kit" : le logiciel de programmation officiel permettant de se passer de cable JTAG n'est disponible que sous Winbouse.
 +
 
 +
 
 +
On peut le trouver sur le site Avnet : http://www.em.avnet.com/spartan3a-evl
 +
 
 +
Ca devrait fonctionner aussi dans une machine virtuelle supportant l'USB.
 +
 
 +
 
 +
Il y a aussi un logiciel de programmation non officiel pour Linux :
 +
http://code.google.com/p/avs3a/
 +
 
 +
  $ avs3a -p /dev/ttyACM0 -s -b handson1.bit
 +
 
 +
 
 +
Essayez d'installer l'un ou l'autre de ces logiciels avant de venir (en plus d'ISE).
 +
 
 +
= Files =
 +
* [[Media:Xilinx3-ise-device-properties_crop.png|Spartan 3A Evaluation Kit - Device properties]]
 +
* [[Media:Xilinx16-handson1-user-constraints_crop.jpg|Spartan 3A Evaluation Kit - User constraints]]
 +
 
 +
* [[Media:Handson1.zip‎|Hands-on #1 project]]
 +
 
 +
* [[Media:Xilinx15-handson1-schematics.png|Hands-on #1 schematics]]
 +
* [[Media:Xilinx20-handson2-schematics.png|Hands-on #2 schematics]]
 +
* [[Media:Xilinx21-handson3-schematics.png|Hands-on #3 schematics]]
 +
* [[Media:Xilinx22-handson4-schematics.png|Hands-on #4 schematics]]
 +
* [[Media:Xilinx23-handson7-schematics.png|Hands-on #7 schematics]]
 +
* [[Media:Xilinx24-handson8-schematics.png|Hands-on #8 schematics]]
 +
* [[Media:Xilinx27-handson9b-increment-schematics.png|Hands-on #9 schematics]] (pas sûr du schema :o)
 +
* [[Media:Xilinx25-handson10a-bascule-schematics.png|Hands-on #10a schematics]]
 +
* [[Media:Xilinx26-handson10b-compteur-schematics.png|Hands-on #10b schematics]]
 +
 
 +
[[Category:Workshop]]

Latest revision as of 23:37, 18 November 2009

  • Titre: FPGA: Une introduction
  • Par: lekernel
  • Date: Samedi 21 Mars 2009
  • Lieu: /tmp/lab

Workshop d'introduction aux FPGA.


Photos: http://lekernel.net/blog/?p=218

Ce workshop sera refait le 26 novembre 2009 à La Suite Logique à 18:00: FPGA : une introduction (bis).

Workshop FPGA

180px-Fpga xilinx spartan.jpg
Samedi 21 mars 2009 au /tmp/lab ; de 14h30 à 23h30.

Voici les différents points qui seront abordés:

  1. Présentation de la technologie FPGA
  2. Exemples de projets
  3. Bases des circuits logiques synchrones
  4. Hands-on: implémentation d'un générateur sonore simple (du style http://www.fpga4fun.com/MusicBox.html)
  5. S'il reste du temps: introduction à Verilog
  6. Implémentation du générateur sonore en utilisant Verilog

La présentation est dispo sur http://lekernel.net/presentations/FPGA_Workshops

Connaissances nécessaires

<dermiste> hum je sais pas si un wkshop avec lekernel tu peux vraiment parler de "découvrir" les commandes linux

<dermiste> a mon avis ca va plutot etre "trainé par un char d'assaut sur un stade olympique couvert de tessons de bouteille"

Ce workshop s'addresse principalement aux débutants. Il est cependant recommandé de savoir :

  • des bases de programmation sur ordinateur (ou mieux, sur microcontroleur/Arduino) sont utiles mais pas nécessaires.
  • compter en binaire (addition et multiplication). Pour les personnes qui prennent peur : cela se fait exactement comme en base 10 (en posant l'opération !), et il y aura quelques rappels pendant le workshop.
  • utiliser les commandes de base du shell Linux (cd, ls, rm...). (facultatif, c'est seulement recommandé pour faire du Verilog efficace. Pour le reste c'est meme possible de venir avec Windows, bien que déconseillé)

Inscrits/Attendees

Merci de vous inscrire ici afin d'avoir une estimation du nombre de participants. Vous pouvez aussi envoyer un mail à sebastien point bourdeauducq at lekernel point net.

Recommandé

 * Pour Linux 64bit, choisir l'installeur web (le gros bouton download) sinon c'est cuit.
 * Attention ! Le zip se décompresse dans le répertoire courant ! Donc mkdir webpack; cd webpack; unzip ../10.1_Webinstall.zip
 * Notez bien le numéro d'enregistrement inscrit sur la page de download :)
 * Lancer l'installeur en root: sudo ./setup (l'installation se fait dans /opt/)
  • Optionnel (pour Verilog): Installer GTKwave, Icarus Verilog et GPL Cver, inclus dans les BSD et les bonnes distrib Linux
  • Pour le Spartan 3A evaluation kit: installer l'outil de programmation JTAG (cf bas de cette page)

Equipement

Dispo :

Wanted :

Cartes recommandées pour débuter :

JTAG sur Spartan 3A Evaluation Kit

Pour ceux qui veulent venir au workshop avec la carte "Spartan 3A Evaluation Kit" : le logiciel de programmation officiel permettant de se passer de cable JTAG n'est disponible que sous Winbouse.


On peut le trouver sur le site Avnet : http://www.em.avnet.com/spartan3a-evl

Ca devrait fonctionner aussi dans une machine virtuelle supportant l'USB.


Il y a aussi un logiciel de programmation non officiel pour Linux : http://code.google.com/p/avs3a/

 $ avs3a -p /dev/ttyACM0 -s -b handson1.bit


Essayez d'installer l'un ou l'autre de ces logiciels avant de venir (en plus d'ISE).

Files