Newsgroup: it.lavoro.informatica
Titolo: Processori fai da te con FPGA

http://tooware.blogspot.com/2009/11/processori-fai-da-te-con-fpga.html
 

 
http://tooware.blogspot.com/2009/11/processori-fai-da-te-con-fpga.html
Non e' proprio una novita' :)
Lo scopo del tuo scarno post e' di discutere su questa cosa, farcela
sapere, fare pubblicita' ... cosa ? :)

 ha scritto nel messaggio 
news:083f9f07-baa8-4942...@a31g2000yqn.googlegroups.com...


CUT
FLAME ON!!!
-- 
Living in Barbaropoli
http://www.barbaropoli.com

 >niente di logiche programmabili... evidentemente non è il tuo caso.


 Si si... lo scopo del mio scarno post è triplice! ;-)  Scherzi a parte, come
Sorry ma ne vedo solo uno : pubblicizzare il tuo blog.
IMHO sarebbe stato molto piu' educato e accetto, fare un piccolo post,
dove introducevi quanto volevi dire e alla fine aggiungere quanto hai
detto qui.
Ovvero, vorrei discutere di questo argomento (siamo su un gruppo di
discussione) e approfondirlo nel mio blog, dando il link.
Invece messo cosi' il messaggio e' : "venite sul mio blog e
sciroppatevi la mia lezione" e sorry, a me fa girare i quarzi.
Se voglio discutere di qualcosa lo faccio QUI.
Per principio, non per altro.
C'ya
   STeve

 Si si... lo scopo del mio scarno post � triplice! ;-) Scherzi a parte, 


 La prossima volta seguirò il tuo consiglio.
Great :-) Preparati a discutere ... pero' dovresti rivedere anche il
quote :-)
C'ya
   STeve

quote :-)
Si, dovrei :-)
Ciao,
D 

 
http://tooware.blogspot.com/2009/11/processori-fai-da-te-con-fpga.html
Ho dato un'occhiata. Ma qual'è il vantaggio (o differenza) nell'usare
un FPGA piuttosto che un microcontrollore? Sono più economici? Più
potenti?

potenti?
I potenziali vantaggi sono tanti. IMHO, questa soluzione � particolarmente 
conveniente tutte le volte che un micro da solo non � sufficiente a 
risolvere un determinato problema e l'alternativa sarebbe quella di 
realizzare una board con micro + logica discreta e/o FPGA separato. Con 
questo approccio, nello stesso chip (FPGA) puoi integrare sia un 
microcontrollore in grado di girare software pi� o meno complesso, sia 
circuiti specializzati nella risoluzione di un determinato problema. Se 
vuoi, � come integrare assieme processore e coprocessore.
Per fare un esempio pi� concreto, immagina di dover realizzare un sistema in 
grado di gestire un'interfaccia utente e implementare anche un codec audio. 
In questi casi, a meno di non utilizzare micro molto potenti, generalmente 
serve implementare il decoder attraverso un DSP o un FPGA separato. In ogni 
caso avresti la necessit� di realizzare una board con 2 chip ed accettare i 
conseguenti svantaggi (ingombro, costo, ecc.).
Un altro vantaggio da non sottovalutare consiste nel fatto che avendo il 
solo FPGA l'intero sistema sarebbe upgradabile. E' come avere la possibilit� 
di cambiare l'hw senza cambiare l'hw :)


 di cambiare l'hw senza cambiare l'hw :)
Per contro, se hai problemi devi fare anche un debug del "processore"
costruito nella FPGA, cosa non facile.
Finora ci sono ben pochi campi dove e' conveniente (leggi "economico")
fare una cosa simile.
Devi anche considerare che non hai a disposizione un ambiente
"standard" come quello costruito intorno a processori tradizionali.
Spesso significa costruirsi non solo il processore ma anche gli
strumenti per generare codice per tale processore.
E tutto questo si somma al progetto dell'aggeggio che effettivamente
vuoi fare.
Probabilmente e' per questo che pur essendo una soluzione in giro da
un bel po' di anni, forse una decade, non ha preso molto piede.
Componentistica separata significa che altri hanno gia' fatto il debug
del chip per cui devi "solo" implementarlo in un'applicazione.
Nel caso della FPGA invece hai tutto sulle tue spalle.
Mica roba da poco.
Se a tutto questo aggiungi che i prezzi dei componenti separati spesso
sono inferiori a quelli della sola FPGA ... beh ...
C'ya
   STeve

 sono inferiori a quelli della sola FPGA ... beh ...
Io lo vedo come un modo per avere coprocessori specializzati in modo
semplice e veloce, oltre che essere una cosa molto utile per
realizzare DSP specialisitici ma ammetto che sono a ancora all'inizio
dell'esperienza.
Un'altra cosa utle è per prototipizzazione rapida di copressori custom
da fare realizzare poi in mod ASIC.
Ciao
  Francesco

 potenti?
Aspe'! Occhio perche' questo e' un fraintendimento tipico
da informatico-programmatore: gli FPGA non si "programmano"
come un dsp o un micro: nel loro caso il tuo codice
descrive proprio la logica interna del chip, cioe' proprio
la logica sequenziale e combinatoria e i clock usati
per farla funzionare. Certo, se ci sbatti dentro un dsp
scritto da altri e una memoria on board o interna allora
poi puoi scrivere del codice in c che compilato per quel
dsp poi verra' eseguito ma l'FPGA ti permette di scrivere
proprio il tuo dsp, con le tue istruzioni e la tua ALU ecc ecc.
Mi sono espresso alla carlona ma credo d'aver chiarito
il concetto.
Ciao.

 da fare realizzare poi in mod ASIC.
Giusto, normalmente si abbassa la frequenza e si verifica
la correttezza funzionale, timing a parte, anche se per
alcune cose ci possono essere discrepanze di comportamento.