Newsgroup: it.hobby.elettronica.digitale
Titolo: Problemino con PAL

Ciao.
Ho un problemino con una PAL MMI 12H6.
E' una pal di un computer ormai obsoleto (fuori produzione da 20 anni 
circa). Vorrei riuscire a leggerla per preservare il progetto e duplicarla, 
ma il problema è che è protetta.
Con un circuitino sono riuscito a ricavare la tabella della verità, quindi 
ho tutte le combinazioni di ingresso con le relative uscite.
Che sappiate esiste un programma che permette di ricavare il file JEDEC o le 
equazioni logiche partendo dalla tavola della verità?
Finora li ho trovati che partono solo dalle equazioni e ricavano il JEDEC, o 
viceversa.
Grazie.
Roberto

 viceversa.
Ma se disponi della tavola della verità, in qualche modo puoi scrivere
facilmente le equazioni e poi ottenere il JEDEC con  programmi tipo
PALASM o similari.
Quello che magari può darsi è il fatto che l'insieme di equazioni che
scrivi non è ottimale, ma alla fine la cosa non ti interessa, dato che
alla fine quello che interessa a te è ottenere la mappa dei fusibili,
che tanto dovrebbe restare la stessa.
Altrimenti, esistono delle tecniche classiche di minimizzazione, per
esempio basate sulle mappe di Karnaugh, utili proprio per tirarti
fuori un insieme di equazioni ragionevolmente ottimizzate a partire
dalla tavola della verità.
P.S. ti faccio un grande incoraggiamento per il lavoro di
ricostruzione. L'Amico 2000 è una macchinetta interessante.

ricostruzione. L'Amico 2000 è una macchinetta interessante.
Grazie, solo che in questo caso si tratta del Delta di Nuova Elettronica (il 
compatibile Apple II).
Ciao.
Roberto

 compatibile Apple II).
Certo, mi ricordo bene. Devo anche avere qualche articolo
digitalizzato, da qualche parte del disco rigido.

X=(not(A) and B) or (A and not(B)) or (A and B)
Forse (solo forse, eh...) ho capito.
Però nel mio caso ho 12 ingressi e 6 uscite.
Quindi ad esempio una sequenza di combinazioni come
101000110101    111000
101001000110    000000
101001000111    111000
101001001000    000000
ecc. ecc.
come le scrivo?!?
Grazie.
Roberto

 come le scrivo?!?
Provo a rispondermi da solo...
Devo per caso farlo bit per bit per ogni uscita che ha valore 1?
Cioè, ad esempio il primo bit a sinistra delle uscite sarà:
U1=(I1 and not(I2) and I3 and not(I4) and not(I5) and not(I6) and I7 and I8 
and not(I9) and I10 and not(I11) and I12)
        OR
       (I1 and not(I2) and I3 and not (I4) and not(I5) and I6 and not(I7) 
and not(I8) and not(I9) and I10 and I11 and I12)
        OR
    .... e così via per tutte le 4096 combinazioni degli ingressi che danno 
un 1 in uscita.
E poi ripeto tutto per le rimanenti 5 uscite.
E' corretto?!!?!? (cazzarola, se è così mi sa che devo scrivere un programma 
per farlo....)
Ciao.
Roberto

 come le scrivo?!?
Chiamando X1...X6 le uscite e A1...A12 gli ingressi, prendi le uscite
ad una ad una e scrivi le equazioni. Per ciascuna, puoi fare la somma
logica (or) di tutte le condizioni che la rendono vera. Per esempio,
X1 sarà data da:
X1=(A1 and not(A2) and A3 and not(A4) and not(A5) and not(A6) and A7
and A8 and not(A9) and A10 and not(A11) and A12) /* La prima riga
della colonna */
or
(A1 and not(A2) and A3 and not(A4) and not(A5) and A6 and not(A7) and
not(A8) and not(A9) and A10 and A11 and A12) /* La terza riga della
colonna */
or
...) /* or logico sulle altre condizioni che rendono vera X1 */
E lo stesso principio vale per X2, X3, X4, X5 e X6.
Se la tavola è grande, otterrai 6 maxiequazioni composte dalla somma
logica di tantissimi termini. Dato che però è un processo automatico,
non dovrebbe essere difficile scrivere un programmino in un qualche
linguaggio che le fornisca automaticamente.
Si tratterà probabilmente di un insieme di equazioni ben lungi
dall'essere ottimale, ma come dicevo sopra non credo che tu abbia
bisogno di minimizzare troppo. Comunque, in casi come questi (credo)
si potrebbe utilizzare il metodo di Quine-McCluskey, ma non ho nessuna
esperienza in merito (sono un analogico ;-).

 per farlo....)
Leggo solo dopo aver spedito la mia risposta.
Questo è un metodo. Non ottimale, ma è comunque un metodo...

Questo è un metodo. Non ottimale, ma è comunque un metodo...
Ho fatto un programma in VB ed ho calcolato le 6 maxi-equazioni non 
ottimizzate.
Il problema è che il file risultante è di 632 K, e quando lo processo con il 
programma EQN2JED.EXE (trovato nel pacchetto OPAL) che dovrebbe leggerle e 
ricavare il Jedec, questo va in errore dicendo che non riesce ad allocare la 
memoria.... Probabilmente il file è troppo grosso ;-(
Quindi mi sa che in qualche modo le devo ottimizzare. Devo ancora capire 
come... :-)
Oppure conoscete qualche altro programma in grado di fare il jedec partendo 
dalle equazioni?
Grazie.
Roberto

 ha
scritto:

Ti dico come farei io. Scrivo una funzione in Verilog o VHDL
che rappresenta la tavola della verita' che hai ricavato.
Probabilmente sara' molto lunga ma puoi farlo fare a
un programmino in Basic.
Poi passo il listato a un software di sintesi logica e ottengo
le equazioni ridotte e semplificate. I programmi di sintesi
sono molto abili nel fare questo.
Infine passo le equazioni a Palasm o Opal o altro e ottengo
la mappa Jedec dei fuse.
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/