:: PlayerAdvance.org ::  

Précédent   :: PlayerAdvance.org :: > :: Jeux Video et Consoles :: > Tests et Articles > Articles

Publicité

Commentaire
 
Outils de l'article Modes d'affichage
Les FPGA, CPLD et autres rejetons
Les FPGA, CPLD et autres rejetons
Publié par RefiX
06/01/2007
Par défaut Les FPGA, CPLD et autres rejetons

Les FPGA, CPLD, PLD


Qu'est ce que c'est ?:

Ce sont des circuits logiques programmables, ils sont composés de pleins de petites portes logiques que l'on programme afin de réaliser une ou des fonctions voulues.
Donc pas de rapports avec les µprocesseurs (Bien que certains FPGA en possèdent).
Les leaders en fabrication de FPGA sont actuellement Xilinx, Altera et Actel.

Vous allez me dire : "J'ai jamais vu ces bestioles moi !"
Et bien si, vous les trouvez dans vos supercard, superpass, superkey, dans vos puces (gamecube, xbox, ps2 ....) bref dans des choses qui vous tiennent à coeurs

Pour les différences entre FPGA, CPLD et PLD en gros il faut juste retenir que:
FPGA > CPLD > PLD ( " > " signifiant : mieux que )
un fpga contient plus de portes logiques qu'un cpld et utilise une technologie différente.

A quoi servent-ils ?

Je vais prendre une exemple simple, dans le monde des consoles et du hack on retrouve ce schéma pour le cas superpass:

En temps normal on retrouve ceci:
Cartouche => Données => Console

Avec le fpga :
Cartouches => Données => Fpga => Données modifiées => Console

Dans ce cas le fpga est utilisé pour "patcher" des données mais on peut l'utiliser pour des choses complètements différentes comme commande de moteur, compteur et pleins d'autres choses.

C'est bien beau mais comment je programme mon fpga?

Il existe un langage spécifique pour ces circuits et comme aucun circuit n'est pareil, des normes ont été mises en place afin d'avoir un language qui marche sur toutes plateformes (peut nécessiter quelques modifications).
Ce langage c'est le VHDL (ou Very High Speed Integrated Circuit Hardware Description Language).
Il existe aussi d'autres langages comme le Verilog.
Un petit exemple de code en vhdl : Code du passme (il faut ouvrir le fichier .vhd avec bloc note )

Après avoir codé votre fonction il vous faut programmer le circuit.
Ici plusieurs cas peuvent apparaitre, soit via JTAG (Joint Test Action Group) ou alors via programmateurs de circuits spécifiques.
On utilise de plus en plus le JTAG pour programmer les planches FPGA. C'est un cable très simple "à faire soi-même", qui permet d'accéder rapidement à la planche.

Où puis-je trouver un FPGA/CPLD/PLD ?
Sur internet en cherchant un peu ou alors vous pouvez utiliser celui de votre superpass/superkey

(cette section sera updatée quand je pourrais récupérer mes fichiers sur mon ftp).

Les "fpga board":

Les fpga board sont des fpga mais montés sur plaque avec des composants externes.
Avec celà on peut quasiment tout faire (par contre c'est pas donné).

Par exemple voici le fpga board Basys de chez Digilent

On aperçoit très clairement les interrupteurs, leds, connecteurs, afficheurs qui ont été implantés.



Quelques Liens :

Fabricants:
Xilinx (en)
Altera (en)
Actel (en)
Atmel (en)
Quicklogic
Lattice

Sources en VHDL/Verilog:
Opencores (en)
FPGA4fun (en)
Synthèse de la syntaxe VHDL
Quelques sources en VHDL

Revendeurs:
Diligent (en)
KNJN (FPGA4Fun) (en)

Correction orthographique par Dolarcles 3.1 (c'est du bon )
Et ajouts par Pitt.
Auteur

Outils de l'article
Afficher une version imprimable  Envoyer un lien vers cette page par email 
Vieux 06/01/2007, 15h09  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Sympa, l'article ! J'avais pas vu ta réponse sur l'autre post, sinon, on aurait pu le faire ensemble.
Je vais essayer de trouver quelques sites qui vendent des FPGAs, si ça t'intéresse.
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 06/01/2007 à 15h15.
Pitt est déconnecté   Réponse avec citation

Publicité

Vieux 06/01/2007, 15h13  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par Pitt
J'avais pas vu ta réponse sur l'autre post, sinon, on aurait pu le faire ensemble.
Je vais essayer de trouver quelques sites qui vendent des FPGAs, si ça t'intéresse.
Pas de soucis
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 15h25  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

En attendant les sites, je propose 2-3 trucs à rajouter :
Citation:
* Il existe aussi le langage Verilog, mais je sais plus par qui il a été créé.
* Les leaders en fabrication de FPGA sont actuellement Xilinx, Altera (euh, Altera, c'est pas du EPLD ?) et Actel.
* On utilise de plus en plus le JTAG pour programmer les planches FPGA. C'est un cable très simple "à faire soi-même", qui permet d'accéder rapidement à la planche.
Je crois pas avoir fait de bourdes ... Je veux bien faire un petit tuto d'initiation au VHDL, aussi.
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 15h32  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par Pitt
En attendant les sites, je propose 2-3 trucs à rajouter :

Je crois pas avoir fait de bourdes ... Je veux bien faire un petit tuto d'initiation au VHDL, aussi.
je rajoute
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 15h41  
Bobby Sixkilla
Maître Chinpoko-extra-mon
 
Date d'inscription: 10/11/2005
Localisation: Palaiseau (Rive sud)
Messages: 6 374
Voir les codes amis Nintendo DS
Par défaut

Très bon article.
Bobby Sixkilla est déconnecté   Réponse avec citation
Vieux 06/01/2007, 15h45  
Darkmath
Membre confirmé
 
Date d'inscription: 09/11/2005
Messages: 162
Par défaut

Interessant, vivement la suite...
__________________
Mon petit Schmup 3D sur DS
Darkmath est déconnecté   Réponse avec citation
Vieux 06/01/2007, 15h53  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

EDIT: Liens supprimés, voir tuto.

Je me prendrais bien une basys de chez Diligent. Au cas où, je préfère vous demander votre avis : ça convient bien à ces critères-là :
* 100 000 portes logiques
* 72 ko de RAM
* 25/50/100MHz
* Port JTAG
* De la ROM Flash pour stocker le programme, et éviter de le retransférer à chaque mise en route.
* 59 $

Mon anglais est bon/moyen/pitoyable/ ? (rayez la mention inutile)
Merci d'avance !
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 06/01/2007 à 16h32.
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 16h36  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par Pitt
EDIT: Liens supprimés, voir tuto.

Je me prendrais bien une basys de chez Diligent. Au cas où, je préfère vous demander votre avis : ça convient bien à ces critères-là :
* 100 000 portes logiques
* 72 ko de RAM
* 25/50/100MHz
* Port JTAG
* De la ROM Flash pour stocker le programme, et éviter de le retransférer à chaque mise en route.
* 59 $

Mon anglais est bon/moyen/pitoyable/ ? (rayez la mention inutile)
Merci d'avance !
J'ai aussi aperçu cette bebette qui m'a l'air assez sympatique (comme son prix d'ailleurs qui revient à environ 70$ fdpin).
Elle me tente bien (bon faut que je fasse rentrer un peu de sousous dans le porte-monnaie d'abord).
Une tite commande groupée Pitt ?
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 16h45  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Il me semblait bien que c'était intéressant. Ok pour la commande groupée ! 70$, ça fait combien en €, à peu près ? 66-67 ? C'est vraiment pas très cher pour tout ce qu'elle propose !
EDIT: Autre chose, tu utilises quoi comme "compilateur VHDL" ? GHDL ?
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 06/01/2007 à 16h51.
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 16h52  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par Pitt
Il me semblait bien que c'était intéressant. Ok pour la commande groupée !
EDIT: Autre chose, tu utilises quoi comme "compilateur VHDL" ? GHDL ?
Quand je bosse sur le superpass je me sert du webpack xilinx et quand je fais mumuse sur des petits trucs spécifiques j'utilise warp (de cypress).
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 16h59  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

OK, je vais regarder tout ça ! J'apporte une nouvelle contribution à l'article:
Citation:
Le FPGA board de Refix et de Pitt, vous avez dû en entendre parler :
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 18h24  
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Article très très sympa, merci

Petite question: y'a moyen de programmer en ASM sur ces bestioles ? Les FPGA c'est des µprocesseurs ?
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation
Vieux 06/01/2007, 18h33  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Non, ce ne sont pas des microprocs, ce sont des puces programmables. Tu dois donc compiler ton programme, écrit en VHDL ou en Verilog, qui décrit le comportement de ta puce, et programmer ton FPGA avec le "binaire" obtenu. Pas d'asm, puisqu'il n'y a pas de processeur. Enfin, après, il y a des FPGA avec processeur (ARM, généralement), mais c'est une autre histoire ... Et puis tu peux te coder ton propre processeur, aussi ...

P.S.: Faudrait peut-être le rajouter dans l'article, Refix. <= j'ai ajouté
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 06/01/2007 à 18h38.
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 18h33  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par thoduv
Article très très sympa, merci

Petite question: y'a moyen de programmer en ASM sur ces bestioles ? Les FPGA c'est des µprocesseurs ?
La programmation en asm n'existe pas à ma connaissance (un fpga étant composé quasiment que de portes logiques que l'on assemble d'une certaine facon => pas de structure propre).

Et les fpga ne sont pas des µprocesseurs, ils ont une architecture différente.

edit: grillé par Pitt
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 18h39  
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Citation:
Envoyé par Pitt
Et puis tu peux te coder ton propre processeur, aussi ...
Ca c'est puissant ! ....
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation
Vieux 06/01/2007, 18h48  
dolarcles
Revenant
 
Date d'inscription: 07/07/2006
Localisation: dining in Hell
Messages: 2 945
Par défaut

Bon, aller RefiX il faut bien que je leur montre la bêbête que je vais recevoir la semaine prochaine hein ?


http://fpga4u.epfl.ch/wiki/Main_Page

__________________
Signature absente
dolarcles est déconnecté   Réponse avec citation
Vieux 06/01/2007, 19h20  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Je propose un bannissement temporaire du membre nommé "dolarcles", d'une durée de 1475 ans, 4 mois, 2 semaines, 3 jours, 6 heures, 43 minutes et 1 seconde.
Foiré, va ! M'en fous, je vais m'acheter Basys ! Na !

EDIT:

Citation:
Envoyé par thoduv
Ca c'est puissant ! ....
Si si, j'avais un truc là-dessus. Pas de quoi faire faire faillite à Intel et ARM, mais quand même des trucs marrants à expérimenter ... Faut que je retrouve ça !
__________________
Utiliser la libnds ?
What's it ?

Dernière modification par Pitt ; 06/01/2007 à 19h28.
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 19h28  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

@Dolarcles: moi aussi un jour j'aurais du super matos (un jour ...)
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 20h22  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Tiens, Refix, à quoi correspondent les 2 fichiers présents dans le code du passme ? Il y a le vhd, le binaire pour la SRAM, et les 2 autres ?
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 20h29  
RefiX
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: Nancy
Messages: 895
Par défaut

Citation:
Envoyé par Pitt
Tiens, Refix, à quoi correspondent les 2 fichiers présents dans le code du passme ? Il y a le vhd, le binaire pour la SRAM, et les 2 autres ?
Il y a un fichier .jed qui est un fichier jedec , il sert à programmer le circuit en indiquant quels fils "relier" à l'intérieur. (d'ailleur tu peux ouvrir ce fichier avec le bloc note pour voir sa structure)

On trouve aussi un fichier .ucf ( User Constraints File ) qui permet de forcer l'assignation des pattes d'une "variable" en particulier (on peut aussi l'ouvrir avec le bloc note).
__________________
Le site français de la Supercard: http://supercard-france.info
RefiX est déconnecté   Réponse avec citation
Vieux 06/01/2007, 20h35  
Noda
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: à montréal jusqu'au 4 mai, après retour en france ^^
Messages: 569
Par défaut

Selon les dires du constructeur, le FPGA inclus dans le DS-X serait capable d'etre reprogrammé en proco ARM clocké à 300Mhz? info, intox ou vous allez tous vous ruer pr en acheter un?
__________________
http://nodadev.wordpress.com
Noda est déconnecté   Réponse avec citation
Vieux 06/01/2007, 20h55  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Citation:
Envoyé par RefiX
Il y a un fichier .jed qui est un fichier jedec , il sert à programmer le circuit en indiquant quels fils "relier" à l'intérieur. (d'ailleur tu peux ouvrir ce fichier avec le bloc note pour voir sa structure)

On trouve aussi un fichier .ucf ( User Constraints File ) qui permet de forcer l'assignation des pattes d'une "variable" en particulier (on peut aussi l'ouvrir avec le bloc note).
OK, donc c'est destiné à la phase de programmation du FPGA.
Merci !

@ Noda >>
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Vieux 06/01/2007, 22h46  
thoduv
Membre confirmé
 
Date d'inscription: 10/11/2005
Localisation: ...
Messages: 1 464
Par défaut

Pitt, Refix, c'était serieux votre idée de CG..?
__________________
"S'il n'y a pas de solutions c'est qu'il n'y a pas de problème ..."
< mon devblog > ... < Lapinou Jumps ! - un jeu de plate-forme "vertical" avec un mignon petit lapin. >
thoduv est déconnecté   Réponse avec citation
Vieux 06/01/2007, 22h54  
Pitt
Membre confirmé
 
Date d'inscription: 16/08/2006
Localisation: ...
Messages: 578
Par défaut

Pourquoi pas, mais je peux pas avant le 10. Tu serais intéressé aussi ?
__________________
Utiliser la libnds ?
What's it ?
Pitt est déconnecté   Réponse avec citation
Commentaire

Liens sociaux

Publicité



Utilisateurs connectés lisant cet article : 1 (0 membres et 1 invités)
 
Outils de l'article
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h41.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Tous droits réservés.
Version française #16 par l'association vBulletin francophone
Design par Ass-Itch, DJP et Dr.Vince

GARS 2.1.9 édité par The vB Geek
Copyright 2005-2006
Version française par Cédric Claerhout