układy cyfrowe, logic circuits, DMUX

kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

(1) Obtain functions \(\displaystyle{ F_{1}, F_{2}, F_{3}, F_{4}}\) using one 1-to-16 Demultiplexer (with invertors on output lines) and NAND elements.
\(\displaystyle{ F_{1} = \pi(1,5,6,9,12)_{abcd}}\)
duże pi oznacza, jak się domyślam, postać kanoniczną funkcji boolowskiej produkt sum
(2) Obtain function \(\displaystyle{ Z = ab(c+(\sim c)d)+d((\sim a)(\sim c)+bc)+(\sim b)c(\sim d)}\) using:
a. one 16-to-1 line Multiplexer (using a type 0 design).

To są pierwsze przykłady dwóch zadań, które muszę rozwiązać. Gdybyście mi pomogli z tymi przykładami to myślę, że poprzez analogię resztę już zrobię sam .
Pozdrawiam!!
PS. Mogę przetłumaczyć polecenia. Z góry dzięki za pomoc.

[ Dodano: 10 Listopada 2007, 23:29 ]
Chyba jednak przetłumaczę :
(1) Uzyskaj funkcję F1 używając jednego 1-do-16 Demultipleksera (z użyciem inwertora na liniach wyjściowych) i elementów NAND
(2) Uzyskaj funkcję Z używając jednego 16-do-1 Multipleksera (używając typu projektu 0).
Ostatnio zmieniony 11 lis 2007, o 08:21 przez kawafis44, łącznie zmieniany 1 raz.
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

układy cyfrowe, logic circuits, DMUX

Post autor: Undre »

ad pierwszego) co to jest inwentor ? chyba o inwertery chodzi ? I czy chodzi tutaj o zaprojektowanie czegos ala dekoder, ktory z 4 linii a,b,c,d bedzie dawac stan wysoki na wyjsciu tylko przy wartosciach 1,5,6,9,12 zapisanych bitowo na tych 4 liniach ? jezeli dobrze podejrzewam, ze o takie cos chodzi, to bez problemu moge pomoc
kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

to są notatki z ostatniego mojego wykładu


http://images32.fotosik.pl/40/f0d48ae476cc7ccdmed.jpg
http://images26.fotosik.pl/110/926f3c0079f0eb1amed.jpg
a to są zadania
http://images23.fotosik.pl/110/c687d0dfe04372b7med.jpg

pozdrawiam!
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

układy cyfrowe, logic circuits, DMUX

Post autor: Undre »

No o tyle wałek, że na multiplekserach to raczej nic nie robiłem, ale zobaczmy czy pamiętam cokolwiek z układów logicznych :mrgreen:

Bierzemy funkcję F i minimalizujemy za pomocą tablicy Karnaugha - od razu uprzedzam, że znaczek odnoszący się do produktu sum wzbudza u mnie pewne wątpliwości co do tego, czy cokolwiek z tego co dalej napiszę jest dobrze ... no ale w tablicy Karnaugha i tak zaznaczyć moim zdaniem należy 1-ki do minimalizacji, bo z tego co pamiętam jak projektuje się daną f-kcję na NAND-ach zawsze bierze się pod uwagę jedynki.
Postać zminimalizowana wyjdzie bodajże ( jak sie nie pomyliłem ) taka :

\(\displaystyle{ \overline{A} \overline{C} D + \overline{B} \overline{C} D + A B \overline{C} \overline{D} + \overline{A} B C \overline{D}}\)

ZONK ... niestety ale TeX widzę inaczej nie chce ... te negacje nad każdą z literek są osobne, ale niestety wyglądają na zlepione ... eh, nic no ... zamotamy i plusami sie porozdziela :mrgreen:

\(\displaystyle{ \overline{ \overline{ \overline{A}\overline{C}D } \cdot \overline{ \overline{B}\overline{C}D} \cdot \overline{ AB\overline{C}\overline{D} } \cdot \overline{ \overline{A}BC\overline{D}}} = \\ = \overline{ ( \overline{A}+\overline{C}+D) \cdot ( \overline{B} + \overline{C} + D) \cdot ( A+B+\overline{C}+\overline{D}) \cdot (\overline{A}+B+C+\overline{D})} = \\ = \overline{ ( \overline{A}+\overline{C}+D) } + \overline{( \overline{B} + \overline{C} + D)} + \overline{( A+B+\overline{C}+\overline{D})} + \overline{(\overline{A}+B+C+\overline{D})}}\)

Jak takie coś zapisać na NAND-ach >> każdy nawiasik rozpisujesz jako bramkę NAND ( np pierwszy -> doprowadzasz trzy sygnały do bramki, zanegowane A oraz C i niezanegowane D, ponieważ to NAND, to automatycznie negowane jest wyjście - co odpowiada kresce nad nawiasem ) następnie wyjście z każdego NANDa negujesz i wpuszczasz wszystkie zanegowane wyjścia na kolejnego NANDa - dlaczego tak ? bo nand z zanegowanymi wejściami działa jak AND, a wszystkie te nawiasy trzeba zwyczajnie dodać ( bez negowania dodatkowego ).
Nie jestem pewien co z taką funkcją zrealizowaną na NANDach trza dokładnie zrobić, ale może trza to po prostu podpiąć na wejście tego demultipleksera ? 4 linie x0,x1,x2,x3 wpuszczasz tak jak to na wykładzie było do dolnej części demuxa, od nich ciągniesz przedłużenia potrzebne do układu NANDowego umieszczonego z lewej ( z odpowiednimi inwerterami po drodze tam gdzie są one potrzebne ) i chyba powinno działać ( przynajmniej tak mi się zdaje ) - w końcu odpowiednia kombinacja 4 sygnałów wybiera w demultiplekserze odpowiednie wyjście, a nasza funkcja dodatkowo wysyła sygnał high lub low, zależnie od tego czy to wyjście ma być aktywne ... ale głowy se nie dam uciąć, że to tak

I jeszcze coś bardzo pożytecznego, co umożliwi ci być może zweryfikowanie powyższego postu :

1) jest sobie taki program Karnaugh Minimizer - podajesz funkcję w postaci tablicy prawdy bądź wpisujesz w tablicę Karnaugha, a on ci robi minimalizację funkcji i jest nawet w stanie wygenerować odpowiedni schemat na bramkach
2) jest sobie taki program Digital Works - za pomocą prostych narzędzi i gotowych elemencików montować można sobie proste układy cyfrowe, także możesz sobie np poskładać te bramki z wyżej wyprodukowanego przeze mnie wzoru, podłączyć odpowiednie sygnały sterujące i sprawdzić, czy rzeczywiście funkcja działa tak, jak powinna. Obawiam się jednak, że w programie nie ma gotowych obiektów typu mux / demux ( oczywiście zawsze możesz je zrobić sam schemaciki na necie znajdziesz na luzie )
Ostatnio zmieniony 14 lis 2007, o 00:31 przez Undre, łącznie zmieniany 1 raz.
kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

dzięki wielkie za pomoc.
czy nie powinno być wszystko w odwrotnie zanegowane? ale pewnie się mylę.
po wykładzie mieliśmy jeszcze ćwiczenia z innym gościem na ten temat. oto materiały:


http://images30.fotosik.pl/111/9d46e04818d7de3fmed.jpg
http://images24.fotosik.pl/111/0376af7f7126c00fmed.jpg
http://images34.fotosik.pl/41/724f432aae558d3cmed.jpg
pozdrawiam!
ps. Karnaugh Minimizer znalazłem w necie i jest świetny, gdzie mogę znaleźć Digital Works ?
mój mail kawafis44@gmail.com
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

układy cyfrowe, logic circuits, DMUX

Post autor: Undre »

Odwrotnie zanegowane chyba nie - jak minimalizujemy w tablicy Karnaugha i zaznaczamy w grupy jedynki, to jeżeli dla danej zminimalizowanej grupy dana zmienna przyjmuje 1, to w wyrażeniu reprezentującym tę grupę jest to wartość niezanegowana. Analogicznie jeżelibyśmy zaznaczali zera chcąc zminimalizować funkcję do postaci produktu sum, zaznaczając w grupy zera i przedstawiając te grupy zmiennymi negujemy właśnie te zmienne, które przyjmują dla danej grupy wartość 1.

Digital Works w nieco starej wersji dostępny jest tu : ... howto.html
kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

zobacz czy moje rozwiązanie jest prawidłowe.


co to są te inwertery ?
pozdrawiam
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

układy cyfrowe, logic circuits, DMUX

Post autor: Undre »

Nie no mi sie wydaje ze caly ten uklad bramkowy trzeba podpiac pod demux z lewej, w samym demux masz na dole sygnaly abcd i od nich prowadzisz linie do tego ukladu, wyjscia demuxa zostawiasz bez niczego, bo wtedy demux daje jedynki tylko na liniach wskazanych przez funkcje F.

a inwerter podpinasz przed bramke i jest to element negujacy wartosc wejsciowa.

wroce ze studiow do domu ( po 18stej dzis ) to sie odezwij na ICQ to ci wyjasnie co i jak
kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

niestety nie udało nam się skontaktować przez icq.
czy ktoś z uczestników forum może mi napisać, która mapa Karnaugha jest poprawna - ta 4x4 w pierwszym pliku czy 8x2 w drugim?
wdzięczny byłbym za skan rozwiązania demultipleksera DLA TEJ FUNKCJI razem ze wszystkimi ścieżkami, NANDami itd. albo przynajmniej jakieś wskazówki.
pozdrawiam
Awatar użytkownika
Undre
Użytkownik
Użytkownik
Posty: 1430
Rejestracja: 15 lis 2004, o 02:05
Płeć: Mężczyzna
Lokalizacja:
Podziękował: 3 razy
Pomógł: 92 razy

układy cyfrowe, logic circuits, DMUX

Post autor: Undre »

juz sie udalo

[ Dodano: 14 Listopada 2007, 02:52 ]
PS

Przejrzyj materialy na
imo warto, sporo tam konkretow ;]
kawafis44
Użytkownik
Użytkownik
Posty: 474
Rejestracja: 22 paź 2007, o 20:55
Płeć: Mężczyzna
Lokalizacja: Gliwice
Podziękował: 416 razy
Pomógł: 2 razy

układy cyfrowe, logic circuits, DMUX

Post autor: kawafis44 »

chyba juz wiem jak uzyskiwac mux i dmux dla dowolnej funkcji


pytanie pozostaje jak zrobić drugie zadanie
http://images23.fotosik.pl/110/c687d0dfe04372b7med.jpg

pozdrawiam
ODPOWIEDZ