GTA-Expert Forum: Esercizi Reti Logiche - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

Esercizi Reti Logiche

#1 L'utente è offline   Liko 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 5702
  • Iscritto il: 28/01/06
  • Provenienza:Roma
  • GTA Preferito:GTA: San Andreas

Inviato il 20 giugno 2012 - 15:09

Qualcuno tipo euroLokrath o Fabio se l'ha fatto e se ricorda sa fa sto esercizietto?
Fino alla tabella de verità ovviamente ce arrivo ma non so che cazzo fare coi multiplexer.

Realizzare la funzione f(A,B,C)=m3+m6+m7 con 2 multiplexer 2-a-1 (e nessun invertitore).

Me serve possibilmente entro oggi, grazie.
0

#2 L'utente è offline   Fabio206 

  • Padrino
  • Gruppo: Admin
  • Messaggi: 72430
  • Iscritto il: 05/12/05
  • GTA Preferito:GTA III

Inviato il 20 giugno 2012 - 19:39

Reti logiche qui mi pare sia solo a ingegneria sry :(
0

#3 L'utente è offline   Lokrath 

  • Assassino
  • Gruppo: Moderatori
  • Messaggi: 4156
  • Iscritto il: 03/04/10
  • ID Social Club:Lokrath
  • GTA Preferito:GTA: TLaD

Inviato il 20 giugno 2012 - 20:53

Aspe, ma "m3", "m6" ed "m7" per cosa stanno?
La funzione dovrebbe, appunto, dipendere da A,B e C...

Per 2-a-1 intendi esattamente così: http://it.wikipedia....iki/Multiplexer?
( ͡° ͜ʖ ͡°)
0

#4 L'utente è offline   Liko 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 5702
  • Iscritto il: 28/01/06
  • Provenienza:Roma
  • GTA Preferito:GTA: San Andreas

Inviato il 20 giugno 2012 - 22:24

Si, quello.
Gli m sono i mintermini, la tabella sarebbe:

A B CxxxF

0 0 0xxx0

0 0 1xxx0

0 1 0xxx0

0 1 1xxx1

1 0 0xxx0

1 0 1xxx0

1 1 0xxx1

1 1 1xxx1

Poi a sto punto non so se trovare appunto l'espressione co le lettere o se la tabella basta per fare lo schema.

Messaggio modificato da Liko il 20 giugno 2012 - 22:25

0

#5 L'utente è offline   Lokrath 

  • Assassino
  • Gruppo: Moderatori
  • Messaggi: 4156
  • Iscritto il: 03/04/10
  • ID Social Club:Lokrath
  • GTA Preferito:GTA: TLaD

Inviato il 21 giugno 2012 - 02:23

Allora, mi spiace se arrivo con più di tre ore di ritardo ma:
  • non ho fatto uso di multiplexer (proprio mai),
  • non penso di averli mai studiati seriamente
  • e nel mio corso si prevedono dei fondamenti di Elettronica...non la materia vera e propria.


Detto ciò, tu hai bisogno di sintetizzare un circuito usando solo due multiplexer 2-a-1 ed una funzione d'uscita F(A,B,C)=m3+m6+m7, dove i vari "m" sarebbero i mintermini (vocabolo appena appreso) di una sintetizzazione concettuale; come hai già detto, la tabella della verità del tuo problema sarebbe:

A B C | F
--------------
0 0 0 | 0
0 0 1 | 0
0 1 0 | 0
0 1 1 | 1
1 0 0 | 0
1 0 1 | 0
1 1 0 | 1
1 1 1 | 1

Ipotizzando che bisognasse, quantomeno, sintetizzare una rete combinatoria, ci ho provato ma non ho trovato altro metodo se non quello di inventarmi una quarta variabile (fittizia) che ho chiamato S, ponendola in tabella della verità come segue:

S A B C | F
-----------------
0 0 0 0 | 0
0 0 0 1 | 0
0 0 1 0 | 0
0 0 1 1 | 1
0 1 0 0 | 0
0 1 0 1 | 0
0 1 1 0 | 1
0 1 1 1 | 1
1 0 0 0 | 0
1 0 0 1 | 0
1 0 1 0 | 0
1 0 1 1 | 0
1 1 0 0 | 0
1 1 0 1 | 0
1 1 1 0 | 0
1 1 1 1 | 0

Dopodichè, non ricordandomi un tubo delle mappe di Karnaugh, ho fatto affidamento a Wikipedia: http://it.wikipedia....ppa_di_Karnaugh (scoprendo cosa siano mintermini e maxtermini; almeno, a livello pratico); percui:

   \         SA
    \  00  01  10  11
      ---------------
   00| 0 | 0 | 0 | 0 |
     |---------------|
   01| 0 | 0 | 0 | 0 |
BC   |---------------|
   10| 0 | 1 | 0 | 0 |
     |---------------|
   11| 1 | 1 | 0 | 0 |
      ---------------

Purtroppo non posso raggrupparli graficamente (combinerei uno sfacelo), ma secondo le regole di questo metodo: vanno raggruppati tutti gli "1", mediante "quadrati" o "rettangoli" che si basino, nelle loro dimensioni, sulle potenze di 2 (1, 2, 4, 8, 16, 32, 64, ecc...); in questo caso, ci sono due raggruppamenti possibili: i due "1" verticali ed i due "1" orizzontali.
Secondo le regole, per la scrittura della funzione booleana tramite mappa di Karnaugh, vanno prese in considerazione, per ogni singolo raggruppamento, le variabili che permangono in ognuno di essi; devono oltretutto essere considerate non invertite se il loro stato di permanenza sia "1" ed invertite nel caso in cui sia "0"; infine andranno moltiplicate fra loro, creando così degli addendi da porre nella sommatoria finale (ogni addendo è uno dei gruppi della mappa), ovvero (indicherò con " ' " le varibili invertite):
  • per il gruppo verticale: S permane a "0", A e B permangono ad "1" mentre C non permane, percui --> S'AB;
  • per il gruppo orizzontale: S permane a "0", A non permane mentre B e C permangono entrambi ad "1", percui --> S'BC.
Si ottiene: y = S'AB + S'BC.
Dato che S era solo una variabile fittizia, la elimino: y = AB + BC; verifico la soluzione trovata secondo la prima tabella della verità, convenendo di aver sintetizzato bene.
Ne raggruppo la B (semplificandola a livello logico): y = B (A + C) (in questo modo, anzichè due AND ed una OR, avrò solo una AND ed una OR).

Qui non sapevo bene che fare, in quanto i multiplexer 2-a-1 son così: http://it.wikipedia....iki/Multiplexer; tuttavia, trovando questa pagina: http://teahlab.com/2...1_Multiplexer/# (in particolar modo, sul fondo della seconda) sono venuto a conoscenza del teorema di espansione di Shannon (anche se alcuni contestano l'attribuzione, del teorema, a suo nome); volendo essere riassuntivo, spiegherebbe (senza dimostrazione) come tradurre una sintetizzazione booleana in una sintetizzazione a multiplexer 2-a-1.
Praticamente, prendo la mia funzione booleana e la valuto secondo la variabile C (perchè voglio che C sia la mia variabile finale), ovvero:
y = B (A + C)
y = C•FC + C'•FC'
dove "FC" sarebbe la funzione booleana valutata in C=1 mentre "FC'" sarebbe la funzione booleana valutata in C=0:
y = C•(B (A + 1)) + C'•(B (A + 0))
y = C•(B 1) + C'•(B A)
y = CB + C'AB
La nuova funzione ottenuta rappresenta un multiplexer 2-a-1 avente come variabile deviatrice C ed ingressi B ed AB (proprio come primo e secondo ingresso; formalmente, il primo è quello che viene piazzato in alto, il secondo quello in basso); quando C=1, l'uscita vale B mentre quando C=0 l'uscita vale AB.

Dato che, secondo il testo, sono richiesti due multiplexer, ed il primo ingresso è monovariabile, scompongo il secondo prendendolo come funzione booleana a parte:
z = AB
ed eseguendone la valutazione secondo B (perchè voglio che B diventi la mia seconda variabile):
z = B•FB + B'•FB'
z = B•(A1) + B'•(A0)
z = BA + B'0
In conclusione: come primo stadio del mio circuito, sintetizzato in multiplexer 2-a-1, avrò un multiplexer avente come primo ingresso A e come secondo ingresso la massa (ground, o gnd) mentre la variabile deviatrice sarà B; come secondo stadio avrò un altro multiplexer, avente come primo ingresso proprio la variabile B e come secondo ingresso l'uscita del primo multiplexer (i due dispositivi saranno, quindi, connessi in cascata, o serie), mentre la sua variabile deviatrice sarà C.
La funzione booleana complessiva sarà:
y = CB + C'(BA + B'0).
Nella rete sintetizzata, non sono presenti inverter (volendola osservare a multiplexer).


Soffermandosi sulle porte logiche, realizzanti tale rete, si hanno:
  • 2 porte NOT,
  • 4 porte AND
  • e 2 porte OR,
per un totale di 8 porte logiche.
Andando ancor più nel dettaglio, ed usando la migliore tecnologia (di precisione) possibile, si avranno:
  • 2 PMOSFET e 2 NMOSFET per la realizzazione delle porte NOT,
  • 8 PMOSFET (in parallelo a coppie) ed 8 NMOSFET (in serie a coppie), con conseguenti 4 PMOSFET e 4 NOMSFET, per la realizzazione delle porte AND
  • ed altri 4 PMOSFET (in serie a coppie) e 4 NMOSFET (in parallelo a coppie), con conseguenti 2 PMOSFET e 2 NMOSFET, per la realizzazione delle porte OR;
nel complesso, verrebbero usati 20 PMOSFET e 20 NMOSFET per un totale di 20 coppie CMOSFET.
(Volendo eseguire una realizzazione puramente elettronica)
( ͡° ͜ʖ ͡°)
0

#6 L'utente è offline   Liko 

  • Assassino
  • Gruppo: Utenti
  • Messaggi: 5702
  • Iscritto il: 28/01/06
  • Provenienza:Roma
  • GTA Preferito:GTA: San Andreas

Inviato il 21 giugno 2012 - 16:45

Grazie EuroLok :lode: tra l'altro lo stronzo ha messo un esercizio diverso con una funzione a 4 variabili invece che a 3 e 3 multiplexer -.- invece di 2 -.- ancora più difficile -.- che pezzo demmerda sto esercizietto l'ho sbagliato sicuro se lo facevo giusto passavo a mani basse -.-

EDIT: Comunque se te po' interessà l'aggiunta della variabile S è inutile, la mappa di Karnaugh non deve per forza essere a 4 variabili :asd: si può fare anche a 3 lasciando solo A sopra e facendo la griglia 2x4 con sopra 0 da una parte e 1 dall'altra.

Messaggio modificato da Liko il 21 giugno 2012 - 16:48

0

#7 L'utente è offline   Lokrath 

  • Assassino
  • Gruppo: Moderatori
  • Messaggi: 4156
  • Iscritto il: 03/04/10
  • ID Social Club:Lokrath
  • GTA Preferito:GTA: TLaD

Inviato il 21 giugno 2012 - 17:34

Ci ho pensato solo dopo essermi svegliato, solo che le mappe di Karnaugh le ho viste circa cinque anni fa e non mi ricordavo più alcunchè (eccetto il raggruppamento degli "1"); praticamente mi hai gettato in una vasca ghiacciata ed ho dovuto trovare il metodo per uscirne fuori sfruttando quel poco che ricordavo.
Poi, le ho sempre fatte a quattro variabili percui ho usato un po' di creatività per ricondurmi a quel che facessi un tempo.

Se si considerasse, anche, che sia la prima volta che vengo a conoscenza di quel teorema di Shannon...
( ͡° ͜ʖ ͡°)
0

#8 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 22 giugno 2012 - 01:49

Minchia sta roba è uguale alla redstone di Minecraft :rotfl:
"Audentes Fortuna iuvat"
0

#9 L'utente è offline   Lokrath 

  • Assassino
  • Gruppo: Moderatori
  • Messaggi: 4156
  • Iscritto il: 03/04/10
  • ID Social Club:Lokrath
  • GTA Preferito:GTA: TLaD

Inviato il 22 giugno 2012 - 03:28

Non per dire ma, se ben usata, E' elettronica.

Si possono fare parecchie robe: deviazioni, operazioni logiche, mux, demux, encode, decode, ecc...
Solo che si è costretti a realizzare tutto direttamente dalla logica ad interruttori.
( ͡° ͜ʖ ͡°)
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi