[SUPER OT] Chi conosce la tecnologia Microchip CLC?

Stavo girellando sul sito di Microchip quando mi sono imbattuto in una nuova linea di MCU: http://www.microchip.com/pagehandler/en-us/press-release/microchip-launches-8-bit-mcus-with-configurable-lo.html

Esse contengono una circuiteria definita CLC, Configurable Logic Cells... sono celle logiche programmabili... Io sono un tardivo ed un ignorante in materia ma sbaglio oppure suona tanto di FPGA? Per caso si riunisce in un unico chip i vantaggi di un microcontrollore con quelli delle logiche FPGA programmabili, o sbaglio? Quindi si potrebbe programmare nel circuito CLC un dispositivo HW per emularlo all'interno del micro, evitando quindi di affiancarlo materialmente all'esterno del micro?

Aspettando Godot Astro ...... :grin:

[quote author=Michele Menniti link=topic=102854.msg771610#msg771610 date=1335285031] Aspettando Godot Astro ...... :grin: [/quote] La domanda era (ovviamente) implicitamente rivolta a lui :sweat_smile:

si, anch'io ne avevo letto, in effetti la logica è simile agli fpga anche se le celle programmabili sono un pò più limitate, le programmi con un software (con gui) e puoi siumlare varie porte logiche ed avere una "periferica" indipendente dal software che esegue in hardware il tuo codice. il sw gui salva in C o assembly e poi tu puoi embeddare quel codice in quello che scrivi per l'mcu. per approfondire.. http://ww1.microchip.com/downloads/en/DeviceDoc/41597A.pdf

leo72:
La domanda era (ovviamente) implicitamente rivolta a lui :sweat_smile:

Non uso nessuna MCU con tecnologia CLC perché è presente solo su modelli che non mi interessano quindi non posso dirti nulla di più di quello che trovi sul datasheet.

Sono delle logiche programmabili ma molto limitate in termini di programmabilità, nulla a che vedere coi numeri delle FPGA o CPLD moderne anche se il concetto è diciamo quello. Alla slide 4 di http://ww1.microchip.com/downloads/en/Market_Communication/PIC10F32X_PIC1XF150X%20Presentation.pdf ci si può fare un'idea

Ciao

Scusate, per gli ingnoranti, un uso praticol di questi micro ? io volevo prendere un FPGA o CPLD per farci qualche esperimento ma le vedo troppo limitate, alla fine son solo prote logiche o sbaglio ?

I CLC richiedono il PicKit3 e sono MOLTO limitati, non puoi scrivere ne piccole CPU a 8 bit ne grandi macchine a stati, puoi farci molto poco rispetto ad un CPLD o ad una FPGA

Per partire con le logiche programmabili ti consiglio di acquistare il DE0-Nano, costa abbastanza, 100 euro spedizione e iva inclusa ma permette di realizzare hardware di una certa importanza (es. CPU multi-core con accelerazione hw personalizzata), è di ottima qualità e arriva in 2 giorni da DigiKey.

Se vuoi invece spendere meno e provare comunque ad imparare il linguaggio ti consiglio una FPGA cinese con un Cyclone II, se aspetti qualche settimana ti faccio sapere se un certo venditore è affidabile in quanto ho comprato alcune logiche programmabili a ottimo prezzo da lui, devono però ancora arrivare.

Ciao

legacy:

ratto93: un uso pratico

elimini per esempio tutta la circuiteria che serve per mappare dei dispositivi esterni perche' la assorbi nella CLC. Se non ci fosse il CLC dovresti invece o passare da integrati oppure da PAL(come si faceva una volta, e come qualcuno come me fa ancora) e affini aggiungendo "cose" al tuo circuito.

Quindi l'uso maggiore è di usarle come un DSP ? sbaglio ? le usate per tirarci fuori segnali video ? sono confuso :blush:

No, con le CLC ci puoi implementare qualche semplice porta AND/OR/XOR o qualche flip-flop D/JK/SR, riesci a riprodurre qualche chip della serie 7400 per intenderci.

Un DSP è un qualche cosa ottimizzato per le operazioni matematiche che in genere si eseguono per l'elaborazione digitale dei segnali, li hai semplicemente qualche porta a disposizione e con quelle da sole non ci fai moltissimo... forse qualche cosa molto semplice (es. sommatori a pochi bit) ma ti scordi filtri troppo complicati in hardware.

I segnali video è un altro mondo, per lavorarci in hw devi comprare una bella FPGA senza dubbio

Ciao

@legacy: un Nios II sono neanche 2000 LE (variano un pochino in base alle feature che ci metti dentro), sulla DE0-Nano hai 22.000 LE quindi ci starebbero più di 10 soft-cpu. La DE0-Nano ha un Cyclone IV a bordo, ci fai veramente tante cose.

Se date un occhiata a http://ww1.microchip.com/downloads/en/DeviceDoc/41597A.pdf potete leggere a pag.19 un esempio di utilizzo di CLC, una semplice porta XOR che altrimenti richiederebbe un IC 7486 che però permette di implementare la codifica Manchester senza sprecare cicli CPU, uno XOR è anche un half-adder (un sommatore senza riporto ad un bit) Spero che l'esempio di serva per farti capire meglio, non puoi fare grandi cose coi CLC ma meglio di niente..

Ciao @legacy: naturalmente non ci metterei 10 NIOS-II, forse il fitter va in palla con un utilizzo così spinto delle risorse, ma 4 CPU con qualche istruzione custom hw accelerata ci stanno senza problemi

Ciao

Era un esempio per far capire che sulla DE0-Nano ci sono molte risorse ed è possibile fare tante cose. Naturalmente tra il dire e il fare... hai già spiegato tu.

Ad ogni modo utilizzando NIOS-II, la soft-cpu di Altera, è possibile fare gran parte del lavoro tramite una sorta di Wizard per inserire la soft-cpu e personalizzarla e collegarla ad altri moduli (tramite Avalon per gestire le interconnessioni il gioco è abbastanza semplice). Il lavoro poi si può ridurre a creare solamente dei moduli di accelerazione per alcune istruzioni personalizzate e a creare i programmi.

Scrivere da zero una CPU performante è un altro paio di maniche naturalmente, a meno di non scrivere un'ulteriore MCPU (http://opencores.org/project,mcpu) l'impegno è elevato

Ciao

Wow, ora qualcosina ci ho capito, grazie ;)

flz47655: No, con le CLC ci puoi implementare qualche semplice porta AND/OR/XOR o qualche flip-flop D/JK/SR, riesci a riprodurre qualche chip della serie 7400 per intenderci.

Ecco, questo mi ha chiarito le idee. Cmq eliminare un chip esterno ed integrarlo nella MCU non è male. Poi la loro limitatezza è relativa, un Tiny84 è quasi identico al PIC1XF150X di Microchip: e ci fai un sacco di cose. Ma ma non ha la circuiteria CLC.

Bello, mi piace :stuck_out_tongue_closed_eyes:

Concordo con legacy, in poco tempo è possibile fare qualcosa se si hanno molti quattrini che giustamente vanno a pagare chi il tempo lo ha speso per far funzionare il tutto.

Non voglio però scoraggiare chi vuole iniziare ad imparare le logiche programmabili, naturalmente bisogna partire dalle basi e col tempo si arriverà dove si vuole o quasi

Ciao