Pagina 1 di 4

LogicaCombinatoria

MessaggioInviato: 12 gen 2018, 20:45
da ElettroNewbie
Salve a tutti :-)
Innanzitutto mi complimento per l'interessantissimo forum :ok:
Potreste gentilmente aiutarmi a risolvere un esercizio riguardante la progettazione di un circuito logico combinatorio?
L'esercizio è il seguente: progettare un circuito logico avente come ingressi due parole digitali A e B a 3 bit ciascuna (A2A1A0 ed B2B1B0) ed un bit di controllo C0.Con C0=1,l'uscita Y del circuito sarà attiva alta solo se le due parole hanno distanza pari a 2,mentre se C0=0 l'uscita Y del circuito sarà attiva alta solo se sommando le parole A e B il bit di overflow (riporto) é 1.
In pratica il prof risolve questi esercizi disegnando uno schema a blocchi generale indicando tutti i dispositivi (comparatore,mux, sommatore ecc.) che occorrono per la soluzione e successivamente dettagliare i vari blocchi quanto piu è possibile.

Re: LogicaCombinatoria

MessaggioInviato: 12 gen 2018, 20:54
da posta10100
E' semplice, fai due logiche separate:
1) Fai la sottrazione A-B e se il risultato è 2 l'uscita è 1, altrimenti è 0
2) Fai la somma A+B e prendi il bit del riporto come uscita
3) porti in uscita il risultato di 1) o 2) in funzione di C0

Ora prova a metter giù lo schema (con FidocadJ come si usa da queste parti) e se hai bisogno di aiuto chiedi pure.

O_/

Re: LogicaCombinatoria

MessaggioInviato: 12 gen 2018, 22:39
da ElettroNewbie
Buonasera a tutti :-)
Ciao posta10100 e grazie per la pronta risposta :D
Per quanto riguarda il punto 1) avevo pensato di usare un comparatore.
Sarebbe possibile??
Potresti gentilmente dirmi cos'è Fidocadj?
Grazie nuovamente per l'attenzione.

Re: LogicaCombinatoria

MessaggioInviato: 12 gen 2018, 22:58
da posta10100
ElettroNewbie ha scritto:Potresti gentilmente dirmi cos'è Fidocadj?

E' un tool sviluppato da Foto UtenteDarwinNE, qui trovi un articolo con un po' di informazioni.

ElettroNewbie ha scritto:Per quanto riguarda il punto 1) avevo pensato di usare un comparatore.

perché un comparatore? come intendi usarlo?

O_/

Re: LogicaCombinatoria

MessaggioInviato: 12 gen 2018, 23:50
da ElettroNewbie
Salve :-)
Ciao posta10100 e grazie per la risposta (scusa il gioco di parole.....a proposito di parole :lol: )
Mi sono messo a documentare su fidocadj.....
Io avevo pensato di usare un comparatore per vedere a due a due quali sono le coppie di bit (procedendo dall'lsb all'msb) non uguali;dettagliando meglio il comparatore però mi fermo al punto di dire di utilizzare tre exnor per le tre coppie di bit di ugual peso e vedere se sono uguali ( o magari tre exor e vedere quindi quali coppie di bit non sono uguali).Il problema però dice che la distanza deve essere due(ah a proposito ma cosa si intende per distanza di hamming??Io ho capito che si intende il numero di coppie di bit diverse tra due stringhe di bit.) cioè il numero di coppie di bit diverse dovrebbe essere due :(

Re: LogicaCombinatoria

MessaggioInviato: 13 gen 2018, 0:13
da posta10100
ElettroNewbie ha scritto:Io avevo pensato di usare un comparatore per vedere a due a due quali sono le coppie di bit (procedendo dall'lsb all'msb) non uguali

perché vuoi complicarti la vita? La sottrazione proprio non ti piace?
Oppure, visto che hai solo 6 bit (3+3) puoi anche scriverti la mappa di karnaugh e mettere insieme le poche porte logiche che ti servono.
Dovreste aver già trattato l'argomento a lezione.
ElettroNewbie ha scritto:ah a proposito ma cosa si intende per distanza di hamming??

Guarda qui.
Ma cosa c'entra con l'esercizio?

O_/

Re: LogicaCombinatoria

MessaggioInviato: 13 gen 2018, 13:46
da ElettroNewbie
Buongiorno a tutti :-)
Grazie posta10100 per l'aiuto :D
L'esercizio dice che le stringhe di bit (parole) devono avere distanza 2 (il prof ha parlato di distanza di hamming).Una domanda:se la differenza tra le due stringhe è due questo mi assicura che tra due strighe siano differenti solo due coppie di bit di ugual peso?
Si si abbiamo trattato la mappa di karnaugh però devo per forza passare da questa strada,non posso ragionare sui confronti con le exnor e aggiungere porte or magari... boh?E se l'esercizio mi avesse chiestro di stabilire se due stringhe di 4 bit ciascuna abbiano distanza 2?In questo caso con la mappa di K non ci riesco....
Aiutoooo :cry:

Re: LogicaCombinatoria

MessaggioInviato: 13 gen 2018, 14:53
da IsidoroKZ
Provo a descrivere una soluzione per la prima parte. Se la distanza e` numerica, la soluzione e` facile, basta scrivere in binario i numeri da 0 a 7 e guardare che relazione c'e` fra 0 e 2, fra 1 e 3 e cosi` via... si vede che e` una relazione molto facile da verificare.

Se invece la distanza e` quella di Hamming, si fa lo stesso, ma ci vuole qualche componente in piu`. Con tre porte exor si confrontano le due parole bit a bit, poi bisogna vedere quando ci sono due bit attivi sulle tre uscite. Due e` un numero pari, quindi con due exor si calcola la parita`, che deve essere appunto pari, poi bisogna ancora escludere il caso di due parole uguali, ma basta una porta or e una and.

So benissimo che questa descrizione e` difficile da seguire, ma lo stesso vale per le tue considerazioni se non fai uno schema con FidoCadJ :-)

Re: LogicaCombinatoria

MessaggioInviato: 13 gen 2018, 14:57
da ucr
Usare Karnaugh/ Quine-McCluskey è la soluzione al tuo problema. Non è detto che sia una soluzione ottima, ma risolve comunque il quesito. Riguardo al tuo dubbio sulla distanza ti rispondo dicendo che in genere si procede per blocchi già costruiti sfruttando la progettazione gerarchica (di cui trovi una spiegazione nel Kime Mano). Per esempio: se devi realizzare un comparatore a 16 bit (non potendo usare il PC) come fai? Cominci a realizzare un comparatore con operandi ad 1 bit e poi impieghi ripetutamente il comparatore realizzato fino a poter accettare in ingresso operandi da 16 bit.

Re: LogicaCombinatoria

MessaggioInviato: 13 gen 2018, 21:12
da ElettroNewbie
Salve :-)
Innanzitutto ringrazio per l'attenzione :D
Scusate ho qualche difficoltà con l'utilizzo di fidocadj.......
Io avevo pensato di confrontare i bit di ugual peso con porte exor il problema è che poi non so come "esprimere"
con porte logiche la condizione che la distanza (si si è quella di hamming!!!) sia pari a due;forse confronto nuovamente a due a due le uscite delle tre exor...Va be provo nuovamente a smanettare con fidocadj in modo da riportare il disegno :? .
Per quanto riguarda le mappe di karnaugh...il procedimento è lungo e poi ripeto con parole a piu di tre bit come faccio??Non si possono usare.Quine-mcluskey non lo abbiamo trattato però so che c'è).
Attendo chiarimenti grazie :-)