Scheda FPGA suggerita [chiusa]


11

Questa è la mia prima occhiata a FPGA, ma un forte background nello sviluppo del software. Vorrei acquistare una scheda con cui imparare, ma alla fine vorrei essere in grado di eseguire un computer basato su Z80 dei primi anni '80 (penso che il modello TRS80 dico).

Ho esaminato le schede Spartan 3E e Spartan 6, ma non sono sicuro delle differenze di prestazioni / capacità.

Quello che sto pensando è qualcosa del genere:

  • Abbastanza spazio per:
    • simulato Z80 usando il softcore T80 a opencores.
    • periferiche di bordo simulate come controller video, controller audio (semplice 1 bit), controller floppy
    • forse un paio di controller picoblaze per utilizzare i pulsanti integrati per la selezione di immagini floppy ecc ...
  • Connettore VGA (16 colori sarebbero sufficienti, 256 bonus)
  • Connettore tastiera PS2
  • Abbastanza flash integrato per contenere un numero di immagini di floppy disk virtuali e ROM di sistema (16 Mb dovrebbero essere sufficienti)
  • A bordo display, LCD sarebbe bello, il LED a segmenti 4x7 sarebbe probabilmente sufficiente.
  • una sorta di presa per scheda flash sarebbe carina, ma non necessaria.
  • L'alimentazione si collega alla rete elettrica, probabilmente attraverso un alimentatore.

Queste sono le schede che sto attualmente considerando:

  • Scheda FPGA Nexys ™ 3 Spartan-6
  • Scheda di partenza Spartan 3E
  • Scheda di sviluppo Spartan 3E-1600
  • Basys ™ 2 Spartan-3E FPGA Board (500K) + 16M Flash pMod
  • Basys ™ 2 Spartan-3E FPGA Board (1200K) + 16M Flash pMod

EDIT: Ho appena notato che il Basys non ha RAM integrata, quindi sarei limitato alla RAM FPGA - non è l'ideale.

La cosa principale di cui non sono sicuro è quanto spazio rimarrà dopo aver caricato il softcore T80. Qualche consiglio molto apprezzato.


6
Suggerisco di imparare prima Verilog o VHDL. Gioca con lui su un simulatore. Assicurati di essere tagliato per il lavoro FPGA. La cosa strana con FPGA è che trascorrerai gran parte del tuo tempo di sviluppo (come principiante) lavorando in simulatori e eseguendo banchi di prova.
Earlz,

Risposte:


6

Mentre gli obiettivi ambiziosi sono buoni, il mio consiglio è di iniziare in piccolo. Più piccolo. Il progetto che stai proponendo sarebbe difficile per un designer FPGA intermedio e quasi impossibile per un principiante. Sono un grande sostenitore di FPGA e vorrei vederti avere successo: iniziare con un progetto così ambizioso porterà probabilmente molta frustrazione e probabilmente abbandonerà del tutto il design FPGA.

Consentitemi di dirlo in termini di software: questo progetto sarebbe come qualcuno che non ha mai realizzato software per scrivere un compilatore C completo, da zero.

Inizia più piccolo e sarai molto più felice.

Modifica: cose aggiunte di seguito.

Detto questo, è difficile dare una buona raccomandazione per un consiglio. La ragione di ciò è che qualsiasi scheda che consiglierei a qualcuno senza esperienza FPGA non è assolutamente la stessa scheda che consiglierei per fare un progetto di tipo CPU. Una scheda per principianti potrebbe costare $ 50-100, mentre una scheda per fare CPU + VGA + Flash_Card + Qualunque cosa potrebbe essere $ 1000-2000.

C'è anche un'enorme possibilità che una volta che fai un paio di semplici progetti FPGA, ti cambierà idea e vorresti fare un progetto diverso in seguito.

La mia raccomandazione è quindi quella di ottenere prima una semplice tavola nella fascia di prezzo inferiore a $ 100. Quindi, quando sei pronto per affrontare un progetto più ampio, puoi acquistare una tavola più costosa che è vicina a ciò che desideri (qualunque cosa sia al momento).

La scheda che mi piace è questa: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

È economico, utilizza una parte di generazione attuale, è di produzione Tier-1 e può persino eseguire alcune semplici operazioni sulla CPU.


Grazie David, mi rendo sicuramente conto che quello che ho suggerito è ambizioso, ma stavo anche pensando al fatto che ci sono già un numero di macchine più vecchie già progettate come questa che sarebbe divertente scaricare e giocare, motivo per cui voleva qualcosa di capace sin dall'inizio. Brad
Brad

1
@Brad - Se hai una macchina con cui vuoi scaricare e giocare, usa la scheda per cui è stata progettata. Sarebbe uno sforzo prodigioso solo il porting del progetto da una scheda all'altra.
Kevin Vermeer,

@David Kessner - mentre questo è un consiglio di progetto decente, per scegliere una piattaforma su cui lavorare ha senso scegliere qualcosa che sosterrà gli sforzi per diversi mesi, non solo il primo esperimento. Questo è ciò che il poster ha chiesto, e non proprio qualcosa su cui la tua risposta ha toccato minimamente.
Chris Stratton,

@ Chris Stratton Grazie per le critiche. Ho aggiunto alla mia risposta.

Non so perché pensi che una scheda per una scheda CPU + VGA + flash sarebbe $ 1000. Sette anni fa avevo un disco rigido IDE collegato a un kit spartano 3 da $ 100 per la riproduzione di video. Era in qualche modo limitato da ram, e quella scheda ora è di $ 150, ma come sottolinea il tuo link, ora puoi ottenere una scheda con molti megabyte di memoria per meno di $ 100. Questo dovrebbe essere ampio per emulare sistemi dell'era a 8 bit. Mi aspetterei che una scheda SD gestita in modalità SPI si confronterebbe favorevolmente in velocità almeno con le interfacce floppy di quell'epoca. Tuttavia, fai attenzione alle tensioni I / O molto basse sugli FPGA più recenti.
Chris Stratton,

2

Hmmm, sfortunatamente è VHD, stavo per dire iniziare con Verilator o Icarus Verilog. Invece forse usa ghdl. Il primo suggerimento è far funzionare un ambiente di simulazione, iniziare a costruire questa cosa lì.

Prima di scegliere una scheda fpga devi avere un'idea di quanto sarà grande, i vari strumenti sono gratuiti o gratuiti con il sacrificio del tuo indirizzo e-mail e alcune altre informazioni. Prova gli strumenti reticolo, altera, xilinx, ecc., Inizia rigorosamente con il core T80 e alcuni di questi fpg target che stai guardando. Immagino che tutte le cose che vuoi aggiungere aumenteranno notevolmente qualunque percentuale del numero intero che ti viene in mente quando implementerai il core T80. Scommetto, solo core, sarai in grado di eliminare alcuni dei candidati.

Forse la scheda fpgaarcade, che in qualche modo ha usato il core T80, è quello che stai cercando ... Quando sarà disponibile.

Devo essere completamente d'accordo con l'altro David, se non sei già uno sviluppatore professionale di fpga / board questo non è dove inizi, stai guardando forse anni di lavoro, probabilmente comprerai diverse schede da più di mille dollari come te distruggerli con errori, ecc. Se hai quel tipo di denaro a tua disposizione, forse dovresti assumere un consulente per guidarti attraverso il processo. Oppure fai costruire una scheda su specifica.

Più potere per te se questo è davvero qualcosa che vuoi fare, basta essere intelligenti su di esso, iniziare con il core e alcuni semplici programmi che lampeggiano alcuni led e avanzano lentamente da lì. Consiglio vivamente il percorso di simulazione. Oltre alla gratificazione istantanea, non preoccuparti del silicio fino a quando non sei più avanti. A quel punto avrai più design e potrai utilizzare gli strumenti per vedere in cosa si adatta. Se non riesci a far funzionare questa cosa in simulazione, probabilmente non la farai funzionare in silicio.


1
Grazie ragazzi, ho seguito il vostro consiglio e ho deciso di passare da ambizioso a totalmente provvisorio. Preso un minuscolo kit PIC programmatore / scheda di sviluppo e un saldatore ...
Brad

Fino alla fine dell'anno, il reticolo ha una scheda cpld, pico qualcosa (machx02) che supporta il loro core mico8 che vende per $ 29. Hanno affermato che avrebbero risolto il problema, ma il loro negozio ha un prezzo errato, non di vendita, ma uno / alcuni rivenditori lo hanno al prezzo giusto. Per circa $ 50 puoi la loro scheda brevia che è un fpga con più blocchi logici e più esempi di processori integrati. Inoltre c'è uno scudo di gaminguino ardino che ha una xilinx e una vga, tutte open source, che puoi giocare con la generazione di video lavorando allo scopo di simulare una scheda / sistema video legacy.
old_timer,

Dwelch, hai un link diretto per quella scheda? Ha suscitato il mio interesse ...
drxzcl,

@DrX latticesemi.com/products/developmenthardware/developmentkits/... Ho comprato la mia da nuhorizons.com/development/devtool.asp?board=257 e ci possono essere altri siti come Mouser e Digikey
old_timer

Fai solo attenzione alla spedizione; volevano $ 80 per spedire in Canada ... "FedEx International Priority è la nostra unica opzione" - bleh.
akohlsmith il

1

Se vuoi simulare computer con uscita video, prova a ottenere qualcosa con una buona quantità di RAM, poiché ne avrai bisogno sia per la memoria di sistema che per quella video. Ovviamente un connettore integrato per VGA è bello, anche se se si desidera eseguire una simulazione fedele al tempismo di alcuni sistemi iniziali, potrebbe essere necessario generare video composito innestando un DAC o persino un DAC con resistenza R2R.

Quindi forse scegliere la più grande opzione di chip conteggio dei gate disponibile sulla scheda supportata dalla versione gratuita degli strumenti FPGA . I chip più grandi implicitamente hanno più ram di blocco (ho visto molti progetti guidati da quello piuttosto che il conteggio dei gate) tuttavia potresti trovarti nel territorio dell'applicazione in cui ram esterno e un FPGA più piccolo sono più economici di un FPGA abbastanza grande da fare tutto onchip .

L'archiviazione flash può sempre essere innestata in un secondo momento, ad esempio una scheda SD multi-gigabyte interfacciata in modalità SPI.

Generalmente le schede FPGA rientrano nella classe $ 100-200, quindi nella classe davvero costosa. Probabilmente puoi fare molti progressi con uno dei primi.


0

Ero il poster originale di questa domanda ma non dovevo aver effettuato l'accesso o non avevo ancora creato un account ...

Comunque, alla fine ho messo da parte il progetto per 4 o 5 mesi, ma poi sono andato con la scheda Nexys3 e ora ho un computer Microbee attivo e funzionante. Puoi leggerlo qui: http://www.toptensoftware.com/fpgabee .

Tutto sommato sono stato molto contento del Nexys3, gestisce il core T80 con spazio libero, non era troppo costoso ($ 250) e ha tutto ciò di cui ho bisogno (e altro).

La principale delusione è che non sono stato in grado di far funzionare l'interfaccia della tastiera USB-HID e anche se sto ancora discutendo con Digilent al riguardo, sospetto che funzioni solo con alcune tastiere e non sono stato in grado di trovane uno compatibile (ho provato circa 8 tastiere diverse ora). Non ci sono progetti di riferimento per questo, i test periferici non testano la tastiera e ho letto che altri hanno lo stesso problema.


1
Se ti interessa il tuo account precedente, puoi contrassegnare per unirli.
Stevenvh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.