Home Forum ELETTRONICA GENERALE PAL/GAL… esistono ancora?

Questo argomento contiene 5 risposte, ha 2 partecipanti, ed è stato aggiornato da  Mino_73 3 mesi, 3 settimane fa.

Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)
  • Autore
    Articoli
  • #60821

    Luca.Tomat
    Partecipante

    Salve,
    vorrei sapere se le PAL e GAL sono ancora usate oggigiorno e, se no, cosa viene usato al loro posto.

    In particolare è possibile che in un progetto (ipotetico al momento) futuro mi servano dei chip a logica programmabile come appunto le PAL e GAL e non vorrei scegliere magari dei componenti non più in produzione (vorrei insomma garantirmi che tali chip siano disponibili anche per qualche anno futuro).

    Tenete conto che non ho mai usato logiche programmabili prima quindi sono completamente nuovo dell’argomento perciò se mi suggerite dei chip da studiarmi (roba non troppo costosa o complessa) ve ne sarei grato.

    Inoltre ovviamente mi servirebbe anche qualche informazione su come programmarli, quali software usare per trasformare il circuito logico in dati binari da caricare sul chip, dove reperire informazioni facili da apprendere (anche libri) che non diano per scontate troppe cose (come dicevo non ho mai usato logiche programmabili a parte microcontrollori e microprocessori), ecc.

    Non ho bisogno di package con molti piedini, almeno per il momento penso che una ventina possano bastare per sperimentarci su, ma ovviamente vorrei che il tempo che investo ad imparare queste tecnologie poi possa essere utilizzabile anche nel caso dovessi passare a package più complessi.

    Qualcuno ha esperienza con questo tipo di tecnologie? Quali sono i brand e le sigle più utilizzate? Inoltre, esistono librerie che già implementano circuiti logici (in particolare della famiglia TTL 74, come contatori, multiplexer, encoder, ecc) così da non dover reinventare la ruota ogni volta? Questi chip poi possono essere riprogrammati “in circuit” (ovvero senza essere rimossi dal PCB)?

    Riassumendo:
    – che chip e mi consigliate?
    – che software sono disponibili per creare i binari da caricare sui chip?
    – che programmatori servono per i chip sopra citati?
    – possono essere programmati “in circuit”?
    – esistono librerie di componenti standard già pronti?
    – libri, informazioni varie, consigli?

    Non so se questo argomento è già stato trattato su questi forum, sono nuovo e non sono riuscito a trovare la funzionalità di ricerca, chiedo quindi perdono se si tratta di un argomento trito e ritrito.

    Grazie.

    #75823

    Mino_73
    Partecipante

    Ciao Luca.Tomat.
    Andiamo con ordine!! Per quanto riguarda gal e pal sono ormai obsolete, non investire tempo su questi oggetti.
    Se vuoi fare esperienza con logiche programmabili puoi utilizzare PLD e FPGA. Le case costruttrici principali sono Altera Xilinx Microsemi Lattice.
    Da quanto ho visto su internet Xilinx è molto utilizzata anche nel campo hobbystico. Personalmente conosco molto bene altera e un po meno le altre due, lattice non l’ho mai utilizzata.
    Per iniziare comprando una delle schede di sviluppo che trovi in giro, scegliendo prima se lavorare con Altera o Xilinx. Personalmente preferisco altera, puoi trovare delle belle schede di sviluppo sul sito della Terasic ci sono per tutte le tasche. Puoi iniziare con una PLD per le cose piu semplici o andare direttamente su una Cyclone V per fare cose anche molto complesse.
    Il programmatore è integrato sulla scheda di sviluppo e non hai bisogno di comprare altro. Se vuoi programmare schede fatte da te dovrai comprare un programmatore sempre sul sito Terasic.
    Ogni casa ha il suo software di sviluppo proprietario. Se vuoi utilizzare altro, puoi orientarti su programmi Mentor, ma per non complicarti la vita. Infine hai bisogno di un buon simulatore. In genere è compreso nel software di sviluppo, Mentor modelsim. Personalmente non lo amo molto. Preferisco Aldec Active Hdl.
    E arriviamo alla domanda più brutta che hai fatto!! :-) Librerire???
    Se decidi di utilizzare logiche programmabili in realtà non hai deciso di scrivere un programma, ma di Descrivere il funzionamento del tuo harware tramite dei linguaggi HDL.
    Questa è la parte più difficile da apprendere. Se ad esempio vuoi metterre nel tuo sistema un contatore dovrai descriverne il funzionamento.
    Almeno questo è il metodo che ti consiglio di imparare. Nei tool di sviluppo hai anche la possibilita di fare la tua FPGA tramite schema elettrico selezionando i componenti da una libraria inclusa nel software.
    E collegando a mano tutti i singoli pezzetti. Non l’ho mai usata, ma non credo che troverai componenti della seria 74 ma troverai componenti singoli come registri memorie contatori ecc.
    Imparare a scivere del buon codice ti rende indipendente dal tool che stai utilizzando e in parte, anche dal dispositivo. Anche se fare uno schema elettrico può sembrare concettualmente più semplice, in realtà non lo è, all’aumentare della complessità del sistema diventa un bel casino gestire il progetto e fare modifiche anche minime.
    Puoi scegliere tra Verilog e VHDL.
    Non so dirti se uno dei due e meglio dell’altro, li uso entrambi e ci faccio le stesse cose da anni. Personalmente preferisco il Verilog perchè è meno formale del VHDL. Puoi fare facilmente più errori ma scrivi di meno :-) .
    Per le info e testi sul sito altera trovi tutto quello che ti serve, così come negli altri siti di xilinx amicrosemi ecc. Tutto in iglese ovviamente. In Italiano puoi vedere se trovi un bel libro con il quale ho cominciato anni fa. “Introduzione alle logiche programmabili” Cartello Antonio De Rosa Edizioni Dell’ambrosino.
    Ti consiglio, prima di spendere soldi e tempo, di iniziare a studiare uno dei due linguaggi e provare con un simulatore a far funzionare qualcosa. Poi ti scegli la scheda che vuoi comprare e ti studi il dispositivo che c’è sopra. In bocca al lupo.

    #75835

    Luca.Tomat
    Partecipante

    Ciao,
    grazie per i suggerimenti. Scusa il ritardo ma non mi ero reso conto che qualcuno mi aveva risposto.

    Intanto io mi sono “portato avanti” (magari sbagliando) e ho acquistato questa scheda con relativo programmatore (deve ancora arrivarmi) http://www.ebay.it/itm/141315924702
    Non so se ho fatto bene o male, come ti dicevo non so quasi nulla delle logiche programmabili… spero di non aver buttato via dei soldini (che comunque per fortuna almeno non sono tanti)…

    Purtroppo è un mondo piuttosto complesso… con varie aziende che sviluppano prodotti bene o male incompatibili fra loro con tanto di software proprietari specifici perciò mi sento un po’ spiazzato e non conosco bene i parametri che dovrei usare per scegliere un dispositivo piuttosto che un altro. Comunque la scheda che ho preso è ALTERA che, se non ho capito male, è l’azienda che preferisci.

    Non ho ben capito quei Mentor e Aldec Active Hdl che citi se sono simulatori con un loro linguaggio (incompatibile con Altera) oppure se si tratta di qualcosa di generico che non si rivolge ad un’architettura particolare. Perdonami le domande stupide ma come ti dicevo di questo mondo non so nulla perciò tutti nomi che hai citato mi suonano nuovi ed estranei.

    Se ho capito bene inoltre non esistono librerie di componenti già fatti? Mi sembra strano… ovviamente non so nulla di come si programmano e come funzionano questi chip ma immagino che ci sia la possibilità di “riusare” pezzi di circuito…

    Per esempio… supponiamo che abbia realizzato una sorta di semplice microprocessore in linguaggio HDL… possibile che poi non possa riutilizzarlo in altri progetti? E se posso… perché allora le “librerie” di questi componenti non ha senso che esistano?

    Capisco che per imparare è bene cominciare a costruirsi da soli i vari componenti ma se in futuro mi trovo a sviluppare qualcosa di complesso non avrebbe più senso usare componenti già sviluppati e testati “sul campo” (e che quindi ho la garanzia funzionino) piuttosto che reinventarmi le cose di volta in volta con il rischio di sbagliare?

    Circa Verilog e VHDL, se scelgo Altera posso usare entrambe?

    Ti ringrazio poi per tutti i riferimenti a siti, software e libri che mi hai dato, non mancherò di indagare. Intanto vedo se riesco a recuperare il libro che mi hai indicato. :)

    Grazie ancora,
    Luca

    #75844

    Mino_73
    Partecipante

    Intanto io mi sono “portato avanti” –> Per iniziare può andare bene.
    Hai conprato una scheda che monta una Pld. Questi sono dispositivi molto piu semplici delle FPGA. Fai solo attenzione alla tensione di funzionamento dei pin di IO prima di collegarci altri dispositivi.

    Non ho ben capito quei Mentor e Aldec Active Hdl… –> Sono dei simulatori. Con questi programmi puoi simulare il comportamento del tuo codice. Sono simulatori generici ma che si possono appoggiare a delle librerie specifiche per i singoli dispositivi delle varie aziende, quindi puoi simulare con precisione sia a livello di codice sia a livello di compilato. Inoltre possono simulare il comportamento di tutte le risorse interne ai singoli dispositivi, come Pll memorie ecc.
    Questi programmi supportano sia il verilog che vhdl. (e anche altri)

    Scrivere in verilog o vhdl è indifferente scegli tu con quale linguaggio ti trovi meglio a descrivere i tuoi progetti hardware.

    Se ho capito bene inoltre non esistono librerie di componenti già fatti? –> No non è che non esistono, tutt’altro ce ne sono una marea (Vedi ad esempio il sito di Opencore). Ma no nel senso di avere un modulo che riproduce il comportamento di integrati come quelli della serie 74 o 40. Non avrebbe molto senso. (Ma se vuoi puoi scriverli da solo)
    In teoria puoi riusare tutto il codice che scrivi. Avrai delle limitazioni solo se utilizzi delle risorse interne al dispositivo scelto.
    Se ad esempio il tuo dispositivo ha al suo interno un tipo di memoria che un altro dispositivo non ha, il tuo codice non potrà essere utilizzato sul secondo dispositivo così com’è, dovrai adattarlo. Questo discorso è ancora più valido se cerchi di portare il tuo codice su un dispositivo di un’altra casa costruttrice. Qui si apre un lungo discorso su come scrivere del codice portabile. Credo sia prematuro affrontarlo ora.
    Per imparare dovrai cominciare dal linguaggio e da come possono essere descritti i singoli componeti funzionali di un sistema digitale, come ad esempio mux e demux, shift register memorie e registri in genere e non ultime le macchine a stati. Nei tool di sintesi come quartus, ma anche per le altre case, puoi accedere a quello che si chiama RTL viewer, in pratica dopo aver scritto qualche riga di codice la compili (sintetizzi) e puoi vedere come è stato interpretato il tuo codice sotto forma di schema elettrico, composto da elementi digitali come registri mux ecc. Per imparare è ottimo.

    Circa Verilog e VHDL, se scelgo Altera posso usare entrambe? –> si

    Inizia a leggerti qualcosa che descriva questi dispositivi, come sono fatti e le differenze tra le varie case costruttrici. Ricorda che dentro le Fpga sono presenti molti componenti sia semplici sia molto complessi. Ad esempio, già da anni puoi trovare integrati dei controller per svariati tipi di memorie, dalle sdr alle ddr3, oppure controller pci-express pronti da utilizzare. Negli ultimi dispositivi hanno integrato anche dei processori ARM da 800MHz che si possono interfacciare direttamente con la parte FPGA.
    Sul forum avevo già scritto qualcosa sul flusso di sviluppo di un progetto basato su fpga. non so se c’è ancora ma puoi provare a cercarli.
    Ciao

    #75845

    Luca.Tomat
    Partecipante

    Grazie infinite per le tue informazioni e il tuo tempo, mi hai chiarito molti dubbi e mi hai dato una “direzione” in cui muovermi. Ora non mi resta che “metterci le mani sopra”, magari incomincio cercando quei simulatori di cui parlavi.

    Grazie anche per l’avvertimento circa le tensioni di funzionamento, magari è meglio se mi cerco il datasheet del chip che monta quella scheda per togliermi ogni dubbio a questo riguardo… ho per lo più sempre usato logiche a 5V, immagino però che questi chip lavorino a tensioni più basse come 3.3V cmq mi informo prima di attaccarci qualsiasi cosa.

    Grazie davvero.

    #75848

    Mino_73
    Partecipante

    Di nulla, Buon Lavoro. :-)

Stai vedendo 6 articoli - dal 1 a 6 (di 6 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.