Pagina 1 di 2

Cos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 12:56
da CUBONE
Salve a tutti come da titolo vorrei sapere cos'è una fpga, ho letto che sono in grado di emulare un processore e vorrei approfondire l'argomento. Per iniziare da 0 ( e per zero intendo che di elettronica non so una cippa) con un cyclone II dell'altera quali libri posso leggere?, è possibile collegare tra di loro più fpga cyclone II per aumentarne la potenza così da emulare processori da diversi core?. Grazie in anticipo per le risposte.

Re: cos'è una FPGA?, come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 14:03
da jordan20
A mio modesto avviso, prima di partire con gli FPGA, dovresti necessariamente darci sotto con VHDL e/o Verilog

Re: Cos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 18:08
da CUBONE
Ciao e grazie per la risposta, considerando che non so nulla di elettronica digitale posso leggere direttamente libri su VHDL e/o Verilog senza avere conoscenze pregresse, oppure è necessario che acquisti prima altri testi di elettronica, se si eventualmente potresti consigliarmi quali titoli comprare (entry level).

Re: Sos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 19:31
da fairyvilje
VHDL e Verilog sono linguaggi di programmazione. Dal punto di vista informatico se hai già programmato in passato potrebbe tornarti utile, ma non troppo vista la particolare natura di questi due linguaggi. Ad ogni modo qualche lettura preventiva sulla logica e sull'algebra booleana possono tornare molto utili.

Re: Sos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 20:52
da jordan20
Confermo la "particolare" natura di questi linguaggi (personalmente ho conoscenze del VHDL, avendo programmato solo con questo), dove non funziona esattamente come con i normali linguaggi di programmazione, ovvero dove non si ragiona in modo "sequenziale", come istruzioni di un microprocessore, ma entrano in gioco situazioni di "simultaneità", "scheduling", "statement concorrenti", ecc.
Ti indico questa guida (consigliata dal mio docente di elettronica dei sistemi digitali): http://www.unipa.it/costantino.giaconia/pdf_%20repository/vhdl%20italiano.pdf

:ok:

EDIT: e sull'FPGA (e anche CPLD) questo:
http://www.unipa.it/costantino.giaconia/pdf_%20repository/FPDs_Tutorial.pdf

Re: cos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 21:10
da CUBONE
grazie, sono degli ottimi consigli !. Avete mai avuto esperienze dirette con l'fpga cyclone II e con il Quartus II Design Software?... quindi se dovessi acquistare una scheda uguale a quella del link:

http://img.dxcdn.com/productimages/sku_148979_1.jpg

mi servirebbero solo quei due linguaggi di programmazione, l'elettronica digitale in questo caso non serve? tecnicamente potrei collegare più fpga di quel tipo per aumentare le prestazioni come in questo link (però le fpga sono diverse)

https://www.ics.forth.gr/carv/ipc/index.html

Re: Sos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 21:57
da RenzoDF
Mah, a mio parete dovresti cominciare con lo studio delle porte NOT, AND e OR!

Re: Sos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 22:03
da admin
Segnalo che nel blog di Foto Utenterini c'è un articolo su FPGA

Re: Sos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 22:17
da PietroBaima
Come prima cosa dovresti studiarti per bene la logica booleana, combinatoria e sequenziale.
Devi essere in grado di saper ricavare funzioni logiche e avere ben chiaro come funzionino i vari operatori logici. Devi essere in grado di sintetizzare macchine a stati sincrone, ordinarie e complesse, partendo dal loro diagramma a stati.
Poi puoi dedicarti allo studio del VHDL e infine alla sua implementazione su FPGA, ai processi sequenziali e concorrenti, ricorrenti, alla gestione di una memoria ROM e RAM, alla gestione di uno scheduler, di una IP implementata da terzi, di una CPLD ecc...
Tieni conto che una Cyclone II ALTERA è già una FPGA piuttosto avanzata, inoltre dovresti imparare ad utilizzare il quartus, a ottimizzare il fitter, a gestire gli skew e il clock ecc...

Non che non sia fattibile, non voglio per nulla demoralizzarti, ma se parti dalle basi ci vorrà molto tempo ed impegno.

Emulare un processore con una FPGA (c'è chi ci emula degli ARM e ci sono FPGA con ARM già a bordo) e utilizzarlo per gestire più FPGA insieme è una cosa da professionisti seri, direi "non proprio adatta" per chi è alle prime armi.

Ciao,
Pietro.

Re: Cos'è una FPGA? Come programmarne una partendo da zero?

MessaggioInviato: 11 nov 2014, 23:50
da CUBONE
Grazie, è proprio quello che volevo sapere :ok: .
Visto che sei molto preparato, sapresti consigliarmi dei libri per iniziare a studiare tutti gli argomenti che hai elencato?