Newsgroup: it.hobby.elettronica.digitale
Titolo: consiglio programmable logic device

Salve a tutti,
devo realizzare un circuito digitale formato da 12 e 8 uscite il 
circuito ( ancora non completo, sto circa a buon punto ) attualmente è 
composto da 20 IC ( se volessi utilizzare le classica porte logiche ) e 
mi son detto che sono un po' tantine.
Quando sono partito pensavo che era molto più semplice. Ora la mia 
domanda è mi conviene continuare a pensare nell'ottica delle Porte 
Logiche? Mi faccio il mio bel circuitino con 20/30 IC e sto apposto. E' 
sicuramente un opzione non da scartare, faccio il circuito e non ho 
problemi ( apparte il costo di ogni singolo chip ). Un alternativa 
sarebbe usare le PLD a partire dalle EPROM parallele ( una eprom da 4 
KiB ) fino alle FPGA passando per i CPLD e i GAL.
L'unico problema dei questi affari e che sono complessi ( centinaia di 
migliai di prote logiche... ) e quindi mi sembrano decisamente 
sovradimensionate.
Esistono i GAL che dovrebbero avere poche celle, ma poche quante? A me 
bastano circa 80 porte ( 4x20 ) esistono PLD di piccolisima taglia? 
Anche come package non ci faccio niente di un chip con 100 pin ( me ne 
servono 20 + alimentazione... )
Una soluzione alternativa sarebbe buttare tutto il lavoro logico e 
utilizare un PIC e scrivermi un firmware veramete stupido...
PORTC = PORTA && PORTB
PORTD = PORTA || PORTB
e così via...
Voi dall'alto della vostra esperienza cosa mi consigliate per un 
circuito ancora "semplice" come puo' essere questo, considerando costo, 
assorbimenti ecc ecc quale delle tre strade mi convine seguire:
- logica discreta
- un bel PLD ( quale? )
- usare un PIC a modo di PLD?
-- 
Il Razziatore,
"Lo sviluppo di una nazione si misura anche dallo stato della sua rete 
ferroviaria". Camillo Benso Conte di Cavour
"Per tutto quanto non previsto nel presente regolamento il capostazione 
deve usare senno e ponderatezza." Regolamento d'esercizio FS
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net
ICQ   : 67552596
Yhaoo : Razziatore82
-----------------------------------------------
Founder of MediaPlayer Project
http://razziatore.no-ip.com/mpp/

 
FLASH parallela :
hai ritardi dell ordine dei 100 ns , le flash le recuperi da una 
motherboard bruciata, il programmatore e' relativamente semplice da 
realizzare in casa a costi limitati
E' una soluzione  da valutare decisamente

 Founder of MediaPlayer Projecthttp://
razziatore.no-ip.com/mpp/
Non hai specificato la larghezza in bit dei segnali A B C ecc...; se
non sono esageratamente numerosi potrebbe convenire l'approccio con
una   memoria (parallela) per realizzare la funzione che ti serve.
Ad es, considera una comune 27C128 che ha densità 128Kbit con un bus
di 17bit; se i segnali B e C sono entrambi da 8 bit (o <) e ti aspetti
un 8 bit in uscita (o <) allora la soluizone ti può andare bene.
Ciao,
Enrico

 un 8 bit in uscita (o <) allora la soluizone ti può andare bene.
Tutti i segnali sono monobit ( sono degli interruttori ), sono ( nel 
fratempo ho finito lo schema ) 12 interruttori di input e 9/10 output
Il circuito è composto da 6 sub-circuiti quindi ci sono alcune linee che 
escono dal sub circuito A ed entra in quello B, queste linee nel caso di 
un chip monolitico ( ad esempio la memoria ) non hanno senso.
Oltre ai 12 interruttori ci sono anche 2 ingressi per dei clock ( lo 
stesso clock in effetti ) quindi in realtà gli input sono 13.
Tra parentesi per generare un clock da 1 Hz con DC di 50% mi conviene 
usare un 555, un oscillatore o cosa? Con il pic ovviamente non ho 
problemi al riguardo...
Se vi interessa posso mettere lo schema da qualche parte... ma mi sembra 
un po' inutile visto che volevo un consiglio di indirizzo e non 
un'applicazione specifica.
-- 
Il Razziatore,
"Lo sviluppo di una nazione si misura anche dallo stato della sua rete 
ferroviaria". Camillo Benso Conte di Cavour
"Per tutto quanto non previsto nel presente regolamento il capostazione 
deve usare senno e ponderatezza." Regolamento d'esercizio FS
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net


 per avere 17 bit in ingresso serve la xxx010 da 128 kByte
A dire il vere a me serve un memoria esattamente di 14 linee di 
indirizzo per un totale di 2^14. Il problema sono le linee di output me 
ne servono 9/10 quindi mi serve una memoria che indicizza almeno una 
parola di 16 bit... potrei usare 2 memorie ( come la suggerita 27C128 ) 
una per la parte bassa e una per la parte alta...
Comunque non ho problemi di temporizzazioni. Il circuito deve verificare 
alcune condizioni accendendo dei led a seconda della combinazione dei 12 
interruttori di ingresso...
Mi scaricherò il DS della 27C128
-- 
Il Razziatore,
"Lo sviluppo di una nazione si misura anche dallo stato della sua rete 
ferroviaria". Camillo Benso Conte di Cavour
"Per tutto quanto non previsto nel presente regolamento il capostazione 
deve usare senno e ponderatezza." Regolamento d'esercizio FS
-----------------------------------------------
MSN   : 
IlRazz...@netscape.net


 interruttori di ingresso...
Interruttori? E i rimbalzi? Se sai usare un ATmega8(8) puoi usare le 6
entrate analogiche per collegare ad ognuna due interruttori tramite un
partitore resistivo, che ti funge anche da efficace protezione delle
entrate.
Puoi pilotare i led direttamente con la porta D e 3 uscite della porta B,
lasciando cosě libere tutte le linee ICSP e due entrate per i segnali
digitali (o almeno cosě credo, visto che hai parlato di 14 linee e 12
interruttori). L'oscillatore interno basta e avanza per questa
applicazione. Con 5 reti resistive, un paio di condensatori per le
alimentazioni e un controller fai tutto.

 Interruttori? E i rimbalzi? 
Quali rimbalzi? Se pilota le linee address sai che fanno i rimbalzi? 
Nulla visto che deve visualizzare il risultato su dei led.
-- 
No extensible language will be universal.  - T. Cheatham
News 2002 [v 2.3] / StopDialer / PopDuster - 
http://www.socket2000.com
Akapulce portal: 
http://www.akapulce.net

 Mi scaricherò il DS della 27C128
cercati qualche bios di motherboard "rotte", ti costano di meno e non 
hanno i difetti delle 27xxx
1) si programmano a 5 V con tempificazioni molto semplici
2) non hanno bisogno di una lampada UV per cancellarsi
a partire da quello che recuperi ti cerchi il datasheet

 alimentazioni e un controller fai tutto.
E la soluzione analoga ad usare un PIC, ma non vorrei usare sempre e 
solo i mC sopratutto qui che la logica č di "basso profilo"


 - Mostra testo citato -
aaaaaaaia! hai maledettamente ragione! chiedo scusa a chi ha letto:
non so perchè ma ho fatto il calcolo usando i Kbit invece di usare i
Kbyte...scusate ancora!

 - usare un PIC a modo di PLD?
Se la velocità lo consente, non avrei dubbi: un microcontrollore.
I PLD li userei solo quando un micro non fosse
abbastanza veloce.
La logica discreta decisamente non conviene quando
devi usare più di 3 o 4 IC.