Carte FPGA suggérée [fermée]

11

Ceci est mon premier aperçu du FPGA, mais une solide expérience dans le développement de logiciels. Je voudrais acheter une carte pour apprendre, mais j'aimerais éventuellement pouvoir utiliser un ordinateur basé sur le Z80 au début des années 80 (pensez au modèle TRS80, dis-je).

J'ai regardé les cartes Spartan 3E et Spartan 6, mais je ne suis pas vraiment sûr des différences de performances / capacité.

Ce que je pense, c'est quelque chose comme ça:

  • Assez de place pour:
    • simulé Z80 en utilisant le softcore opencores T80.
    • périphériques embarqués simulés tels que contrôleur vidéo, contrôleur de son (simple 1 bit), contrôleur de disquette
    • peut-être quelques contrôleurs picoblaze pour utiliser les boutons intégrés pour la sélection des images de disquette etc ...
  • Connecteur VGA (16 couleurs suffiraient, 256 bonus)
  • Connecteur clavier PS2
  • Assez de mémoire flash intégrée pour contenir un certain nombre d'images de disquettes virtuelles et de ROM système (16 Mo devraient suffire)
  • À l'écran, l'écran LCD serait bien, une LED segmentée 4x7 suffirait probablement.
  • une sorte de prise pour carte flash serait bien, mais pas obligatoire.
  • Connectez l'alimentation pour couper le courant, probablement via un bloc d'alimentation.

Ce sont les planches que j'envisage actuellement:

  • Carte FPGA Nexys ™ 3 Spartan-6
  • Carte de démarrage Spartan 3E
  • Carte de développement Spartan 3E-1600
  • Carte FPGA Basys ™ 2 Spartan-3E (500K) + Flash 16M pMod
  • Carte FPGA Basys ™ 2 Spartan-3E (1200K) + pMod Flash 16M

EDIT: Je viens de remarquer que le Basys n'a pas de RAM intégrée, donc je serais limité à la RAM FPGA - pas idéal.

La principale chose dont je ne suis pas sûr est de savoir combien de place il restera après le chargement du softcore T80. Tout conseil grandement apprécié.

Brad
la source
6
Je suggère d'apprendre d'abord Verilog ou VHDL. Jouez avec lui sur un simulateur. Assurez-vous que vous êtes découpé pour le travail FPGA. Ce qui est étrange avec les FPGA, c'est que vous passerez la plupart de votre temps de développement (en tant que débutant) à travailler dans des simulateurs et à exécuter des bancs de test.
Earlz

Réponses:

6

Bien que des objectifs ambitieux soient agréables, mon conseil est de commencer plus petit. Beaucoup plus petit. Le projet que vous proposez serait difficile pour un concepteur FPGA intermédiaire, et presque impossible pour un débutant. Je suis un grand partisan des FPGA et j'aimerais vous voir réussir - commencer avec un projet aussi ambitieux entraînera probablement beaucoup de frustration et abandonnera probablement complètement la conception de FPGA.

Permettez-moi de le dire en termes de logiciel: ce projet serait comme quelqu'un qui n'a jamais fait de logiciel pour écrire un compilateur C complet - à partir de zéro.

Commencez plus petit et vous serez beaucoup plus heureux.

Edit: Ajout de trucs ci-dessous.

Cela étant dit, il est difficile de donner une bonne recommandation pour un conseil. La raison en est que toute carte que je recommanderais à quelqu'un sans expérience FPGA n'est absolument pas la même que celle que je recommanderais pour faire un projet de type CPU. Une carte pour débutants peut coûter entre 50 et 100 $ US, tandis qu'une carte pour faire CPU + VGA + Flash_Card + tout ce qui pourrait être entre 1000 et 2000 $ US.

Il y a aussi une énorme chance qu'une fois que vous faites quelques conceptions simples de FPGA, vous changerez d'avis et voudrez faire un projet différent plus tard.

Ma recommandation est donc pour vous d'obtenir une planche simple dans la fourchette de prix inférieure à 100 $ US en premier. Ensuite, lorsque vous êtes prêt à vous attaquer à un projet plus vaste, vous pouvez acheter une planche plus chère et proche de ce que vous voulez (quoi que ce soit à l'époque).

La planche que j'aime est celle-ci: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

Il est peu coûteux, utilise une pièce de génération actuelle, provient d'une fabrication de niveau 1 et peut même faire des tâches de processeur simples.


la source
Merci David, je réalise certainement que ce que j'ai suggéré est ambitieux, mais je pensais également au fait qu'il existe déjà un certain nombre de machines plus anciennes déjà conçues comme celle-ci qui seraient amusantes à télécharger et à jouer avec - c'est pourquoi je voulait quelque chose de capable dès le départ. Brad
Brad
1
@Brad - Si vous avez une machine avec laquelle vous souhaitez télécharger et jouer, utilisez la carte pour laquelle elle a été conçue. Ce serait un effort prodigieux de transférer le projet d'un conseil à un autre.
Kevin Vermeer
@David Kessner - bien que ce soit un conseil de projet décent, pour choisir une plate-forme sur laquelle travailler, il est logique de choisir quelque chose qui soutiendra les efforts sur plusieurs mois, pas seulement la première expérience. C'est ce que l'affiche a demandé, et ce n'est pas vraiment quelque chose que votre réponse a touché le moins du monde.
Chris Stratton
@Chris Stratton Merci pour la critique. J'ai ajouté à ma réponse.
Je ne sais pas pourquoi vous pensez qu'une carte pour un processeur + carte VGA + flash serait de 1000 $. Il y a sept ans, j'avais un disque dur IDE connecté à un kit spartiate 3 de 100 $ pour lire une vidéo. Il était quelque peu limité en RAM, et cette carte coûte maintenant 150 $, mais comme le souligne votre lien, vous pouvez maintenant obtenir une carte avec plusieurs mégaoctets de mémoire pour moins de 100 $. Cela devrait suffire pour émuler des systèmes de l'ère 8 bits. Je m'attendrais à ce qu'une carte SD fonctionnant en mode spi se compare favorablement en vitesse au moins aux interfaces de disquette de cette époque. Attention cependant aux très faibles tensions d'E / S sur les FPGA les plus récents.
Chris Stratton
2

Hmmm, malheureusement c'est vhdl, j'allais dire commencer par verilator ou icarus verilog. Utilisez plutôt ghdl. La première suggestion est de lancer un environnement de simulation, de commencer à construire cette chose là-bas.

Avant de choisir une carte fpga, vous devez avoir une idée de sa taille, les différents outils sont gratuits ou gratuits avec le sacrifice de votre adresse e-mail et d'autres informations. Essayez les outils treillis, altera, xilinx, etc., commencez strictement avec le noyau T80 et certains de ces fpgas cibles que vous regardez. Je suppose que toutes les choses que vous souhaitez ajouter augmenteront considérablement le pourcentage total que vous obtiendrez lorsque vous implémenterez le cœur T80. Je parie, cœur seul, que vous allez pouvoir éliminer certains des candidats.

Peut-être que la carte fpgaarcade, qui sous une forme ou une autre a utilisé le noyau T80, est ce que vous recherchez ... Quand elle sera disponible.

Je dois être entièrement d'accord avec l'autre David, si vous n'êtes pas déjà un développeur professionnel de fpga / board, ce n'est pas par où vous commencez, vous envisagez peut-être des années de travail, vous allez probablement acheter plusieurs boards de plusieurs milliers de dollars comme vous détruisez-les avec des erreurs, etc. Si vous avez ce genre d'argent à votre disposition, vous devriez peut-être embaucher un consultant pour vous guider tout au long du processus. Ou faites construire une planche sur mesure.

Plus de pouvoir pour vous si c'est vraiment quelque chose que vous voulez faire, soyez juste intelligent, commencez par le noyau et quelques programmes simples qui clignotent quelques leds et progressent lentement, lentement. Je recommande fortement l'itinéraire de simulation. Autre que la gratification instantanée, ne vous embêtez pas avec du silicone jusqu'à ce que vous soyez plus loin sur la route. D'ici là, vous aurez plus de conception et pourrez utiliser les outils pour voir dans quoi il pourrait s'intégrer. Si vous ne pouvez pas faire fonctionner cette chose en simulation, vous ne la ferez probablement pas fonctionner en silicium.

old_timer
la source
1
Merci les gars, j'ai suivi vos conseils et j'ai décidé de passer de plus ambitieux à totalement hésitant. J'ai ramassé un petit kit de programmeur / carte de développement PIC et un fer à souder ...
Brad
Jusqu'à la fin de l'année, le réseau dispose d'une carte cpld, quelque chose de pico (machx02) qui prend en charge son noyau mico8 à 29 $. Ils ont affirmé qu'ils allaient le réparer, mais leur magasin a le mauvais prix de non-vente, mais un / certains des revendeurs l'ont au bon prix. Pour environ 50 $, vous pouvez leur carte brevia qui est un fpga avec plus de blocs logiques et plus d'exemples de processeurs intégrés. Il existe également un bouclier gameduino ardino qui a un xilinx et un vga, tous open source, que vous pouvez jouer avec la génération de vidéo dans le but de simuler une carte / système vidéo hérité.
old_timer
dwelch, avez-vous un lien direct pour ce forum? Il a suscité mon intérêt ...
drxzcl
@DrX latticesemi.com/products/developmenthardware/developmentkits/… J'ai acheté le mien à nuhorizons.com/development/devtool.asp?board=257 et il peut y avoir d'autres sites comme mouser et digikey
old_timer
Faites juste attention à l'expédition; ils voulaient que 80 $ soient expédiés au Canada ... "FedEx International Priority est notre seule option" - blague.
akohlsmith
1

Si vous souhaitez simuler des ordinateurs avec sortie vidéo, essayez d'obtenir quelque chose avec une bonne quantité de RAM car vous en aurez besoin pour le système et la mémoire vidéo. Évidemment, un connecteur intégré pour VGA est agréable, mais si vous voulez faire une simulation fidèle au timing de certains des premiers systèmes, vous devrez peut-être générer de la vidéo composite en greffant sur un DAC ou même un DAC à résistance R2R.

Ensuite, choisissez peut-être la plus grande option de puce de comptage de portes disponible sur la carte prise en charge par la version gratuite des outils FPGA . Les puces plus grandes ont implicitement plus de RAM de bloc (j'ai vu de nombreuses conceptions motivées par cela plutôt que par le nombre de portes), mais vous pouvez être dans le territoire d'application où un RAM externe et un FPGA plus petit sont moins chers qu'un FPGA assez grand pour tout faire sur puce .

Le stockage flash peut toujours être greffé ultérieurement - par exemple une carte SD multi-gigaoctets interfacée en mode SPI.

Généralement, les cartes FPGA viennent dans la classe 100-200 $, puis dans la classe vraiment chère. Vous pouvez probablement faire pas mal de progrès avec l'un des premiers.

Chris Stratton
la source
0

J'étais l'affiche originale de cette question mais je ne devais pas être connecté, ou je n'avais pas encore créé de compte ...

Quoi qu'il en soit, j'ai finalement mis le projet de côté pendant 4 ou 5 mois, mais j'ai ensuite opté pour la carte Nexys3 et j'ai maintenant un ordinateur Microbee opérationnel. Vous pouvez en lire plus ici: http://www.toptensoftware.com/fpgabee .

Dans l'ensemble, j'ai été très satisfait du Nexys3, il gère le noyau T80 avec de la place à revendre, il n'était pas trop cher (250 $) et a tout ce dont j'ai besoin (et plus).

La principale déception est que je n'ai pas réussi à faire fonctionner l'interface du clavier USB-HID et même si je suis toujours en discussion avec Digilent à ce sujet, je soupçonne que cela ne fonctionne qu'avec certains claviers et je n'ai pas pu trouver celui qui est compatible (j'ai essayé environ 8 claviers différents maintenant). Il n'y a pas de modèles de référence pour cela, les tests périphériques ne testent pas le clavier et j'ai lu que d'autres ont le même problème.

Brad Robinson
la source
1
Si vous vous souciez de votre ancien compte, vous pouvez signaler leur fusion.
stevenvh