Page 1 of 1

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

PostPosted: 13 Nov 2014, 01:16
by Dougan
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 :mrgreen: ) con un cyclone II:

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

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?

PostPosted: 13 Nov 2014, 08:26
by deluca
Salve Dougan e benvenuto al forum.
Per farti notare da + persone, presentati nella sezione apposita.

Quando dici che hai conoscenze di elettronica pari a zero .... intendi proprio zero?
Nel senso che sei un informatico, o cmq ti occupi di sw, o fai tutt'altra attività?

Sei uno studente, un hobbista o cosa?

Ti faccio queste domande per capire come e a cosa indirizzarti.

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

PostPosted: 13 Nov 2014, 09:54
by Dougan
Buongiorno,... si, zero, sono uno studente di giurisprudenza.

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

PostPosted: 13 Nov 2014, 12:01
by deluca
dougan, ops
scusa, quindi elettronica digitale = zero? e calcolatori?
Cosa vorresti realizzare con il cyII? da quello che leggo...... un processore? per farci cosa?

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

PostPosted: 13 Nov 2014, 14:00
by Dougan
si zero, sia in elettronica digitale sia nei calcolatori. ho iniziato a leggere: " Digital Design and Computer Architecture 2nd" di Morgan Kaufmann è mi sta piacendo molto.... sono arrivato al capitolo delle porte logiche. Ho scelto questo libro perché verso la fine tratta anche di hdl e di vhdl. Poi alla teoria avrei voluto unire la pratica con l'fpga dell'altera. Da tanto tempo visito siti come tom's hardware e a furia di leggere le notizie sulle differenti architetture di intel e amd mi è venuta voglia di approfondire ulteriormente l'argomento da un punto di vista tecnico....
in poche parole il mio obbiettivo sarebbe fare una cosa tipo questa, usando però se possibile il cyclone II: https://www.ics.forth.gr/carv/ipc/index.html

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

PostPosted: 13 Nov 2014, 14:06
by deluca
Gli FPGA sono dispositivi elettronici programmabili attraverso dei tools specializzati.
Molto, ma molto semplicisticamente, al loro interno sono presenti svariati modulini chiamati Logic Element, nel caso dei dispositivi Altera, costituiti da "porte logiche, registri, multiplex,...." che opportunamente configurati, possono dar luogo ad hardware specializzato atto a svolgere una determinata funzione.....contatori, multiplex, dispositivi complessi quali microprocessori e qualt'altro. Per configurare e descrivere l'hardware è necessario conoscere bene l'architettura dei microprocessori, delle reti logiche e dispositivi digitali, elettronica digitale, algoritmi e soprattutto un linguaggio di descrizione dell'hardware, uno dei quali è il VHDL.

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

PostPosted: 13 Nov 2014, 15:16
by Dougan
perfetto, quindi quali libri posso iniziare a leggere al fine di poter adoperare vhdl e quartus 2 su quella scheda dell'altera?.

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

PostPosted: 13 Nov 2014, 20:55
by deluca
Esistono centinaia di testi sul VHDL in inglese che puoi acquistare su uno dei tanti siti tipo Amaz...

2 testi che introducono abbastanza bene i concetti del VHDL sono qui:

http://www.freerangefactory.org/dl/free_range_vhdl.pdf
http://vhdl-manual.narod.ru/books/progr ... xample.pdf

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

PostPosted: 13 Nov 2014, 23:12
by legacy
scientificamente parlando mi sa che e' affetto dalla sindrome del gundam :lol:

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

PostPosted: 13 Nov 2014, 23:24
by legacy


sta roba e' 10 spanne sopra le 20 spanne delle cose che non puoi fare senza una adeguata preparazione universitaria, condizione necessaria e non sufficiente: ma non ti e' mai venuto il dubbio che se bastasse leggersi il libro allora sarebbero capaci tutti :lol: ?

cioe' a me frega zero, pure se tra 1 anno non hai combinato nulla, ti dico soltanto che io l'ho per mettere su un softcore, di una ISA infinitamente + semplice rispetto a quel coso, di risorse ne ho veramente impiegate tante, e non e' solo buttar giù due cavolate in vhdl, gia' devi pensare a come debuggarla quella roba, e successivamente a validarla, nel mio caso ho messo su un sistemino multiciclo mono core con tanto di debugger hw e siamo anni luce da quel coso in link, ed ovviamente non penso di essere l'ultimo cretino che passa dalla rete, oltre al fatto che di vasche in uni e pure in erasmus me ne sono fatte tante, e pure di progetti lavorativi, quindi, forse, e dico forse, due conti sul ridimensionare le proprie mire io me le farei, poi fai tu :lol:

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

PostPosted: 13 Nov 2014, 23:43
by Dougan
grazie, inizierò a leggerli subito! se eventualmente avresti altri libri da consigliarmi te ne sarei molto grato.

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

PostPosted: 14 Nov 2014, 01:29
by Dougan
legacy wrote:


sta roba e' 10 spanne sopra le 20 spanne delle cose che non puoi fare senza una adeguata preparazione universitaria, condizione necessaria e non sufficiente: ma non ti e' mai venuto il dubbio che se bastasse leggersi il libro allora sarebbero capaci tutti :lol: ?

cioe' a me frega zero, pure se tra 1 anno non hai combinato nulla, ti dico soltanto che io l'ho per mettere su un softcore, di una ISA infinitamente + semplice rispetto a quel coso, di risorse ne ho veramente impiegate tante, e non e' solo buttar giù due cavolate in vhdl, gia' devi pensare a come debuggarla quella roba, e successivamente a validarla, nel mio caso ho messo su un sistemino multiciclo mono core con tanto di debugger hw e siamo anni luce da quel coso in link, ed ovviamente non penso di essere l'ultimo cretino che passa dalla rete, oltre al fatto che di vasche in uni e pure in erasmus me ne sono fatte tante, e pure di progetti lavorativi, quindi, forse, e dico forse, due conti sul ridimensionare le proprie mire io me le farei, poi fai tu :lol:


non frustrare la mia creatività ;)

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

PostPosted: 14 Nov 2014, 02:22
by Leonardo
Salve Dougan,

La scheda del link non è molto indicata per iniziare, necessita di un programmatore esterno e seppur abbia un costo molto attraente è un po ostica, sopratutto agli inizi..

Per rispondere alla domanda, si è possibile collegare tra loro più FPGA. Per i libri Giovanni ti ha già dato alcuni riferimenti.

Se ti può interessare ho un blog con alcune info che potrebbero tornarti utili nei tuoi studi http://electro-logic.blogspot.it/p/indice-articoli.html

Buono studio
Leonardo

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

PostPosted: 14 Nov 2014, 11:38
by Dougan
Ciao, grazie del consiglio, ho inserito quel blog tra i preferiti. Ho letto da poco che è possibile convertire il c/c++ in verilog o vhdl grazie a dei software come THDL++ (per quanto riguarda il c++) Nios II Embedded Design Suite e C-to-Verilog tool ( per quanto riguarda il c) a prima vista mi sembrano una grossa risorsa in quanto danno la possibilità di usare un linguaggio di alto livello per svolgere il compito di un hdl, qualche consiglio a riguardo?

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

PostPosted: 14 Nov 2014, 11:47
by Leonardo
Il consiglio è quello di proseguire i tuoi studi partendo dalle basi e proseguire gradualmente senza avere inizialmente grosse ambizioni. Quello che potrai fare concretamente ti sarà chiaro mano a mano che proseguiranno i tuoi studi.

Cerca di evitare qualsiasi complessità aggiuntiva come Nios, inizialmente potrai trarre grandi soddisfazioni anche dall'emulare in VHDL semplici circuiti integrati d'altri tempi come quelli della serie 7400.

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

PostPosted: 14 Nov 2014, 14:03
by legacy
Dougan wrote:non frustrare la mia creatività


a motivazione scientifica ci aggiungo il linkino sulla sindrome del gundam :lol:

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

PostPosted: 14 Nov 2014, 14:33
by legacy
Leonardo wrote:senza avere inizialmente grosse ambizioni


ottimo consiglio, tra l'altro, se fare CPU costa al limite dell'umanamente fattibile per un singolo progettista (sopratutto se per hobby), fare multi core e' fuori scala, serve come minimo un team (e di gente scafata, aggiungerei). Provatelo sulla vostra pelle e poi ditemi se non e' onesta' intellettuale :lol: