Elektroda.pl
Elektroda.pl
X
Relpol
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Iteracyjny układ mnożący/dzielący na multiplexerach - pomocy

ziggi87 13 Paź 2007 02:03 4095 4
  • #1 13 Paź 2007 02:03
    ziggi87
    Poziom 12  

    Witam,
    na przyszły tydzień mam przygotować kilka projektów z układów iteracyjnych. Całkiem przyjemne rzeczy...gdyby nie dwa podpunkty; mam zaprojektować układy: mnożący i dzielący 8 bitową liczbę binarną (zapewne w systemie dwójkowym) przez 5. Układ ma składać się z 8 bloków, o 1 wejściu, 1 wyjściu i max 3 przeniesieniach każdy. W każdym bloku mam do dyspozycji 4 multiplexery 16/1 + negator. W układzie mnożącym wszystko sypie się na etapie rysowania grafu - za dużo stanów, szczególnie gdy liczba kończy się na 111, wtedy liczba operacji, którym trzeba przypisać osobny stan znacząco się wydłuża, więc podejrzewam, że nie tędy droga...mógłby mnie ktoś NAPROWADZIĆ na rozwiązanie?? Moja metoda polegała na zapisaniu 1 z wejścia na wyjściu i dodaniu jej dwa miejsca w lewo - co jak wspomniałem przy możliwości podania wielu jedynek pod rząd, bądź różnych kombinacji np. 1101 powoduje wzrost liczby stanów ponad 9.

    Co do układu dzielącego, to muszę rozmówić się z prowadzącym zajęcia, martwi mnie rozwijanie niektórych ilorazów - byłoby to wiele miejsc po przecinku, a ja mam tylko 8 bitów. Pewnie skończy się na liczbach całkowitych.

    0 4
  • Relpol
  • #2 13 Paź 2007 10:14
    Quarz
    Poziom 43  

    Witam,
    przecież dzielenie liczby całkowitej przez całkowitą może być tylko z niepodzielną resztą... :D

    Moim zdaniem, to Tobie brakuje wiedzy z możliwości zastosowania (niekonwencjonalnego) podstawowych układów cyfrowych, a więc do porządnego podręcznika i "przysiadaj portek", innego sposobu (przynajmniej ja) nie znam.

    Pozdrawiam

    0
  • Relpol
  • #3 13 Paź 2007 13:02
    ziggi87
    Poziom 12  

    Konstruktywna krytyka zawsze mile widziana :D Mógłbyś mi proszę jakiś dobry podręcznik polecić...na uczelni korzystamy głownie ze skryptu Dr Barskiego "Układy cyfrowe i mikroprocesory", a tam niestandardowych zastosowań nie ma.

    0
  • Pomocny post
    #4 13 Paź 2007 21:58
    Quarz
    Poziom 43  

    Witam,

    ziggi87 napisał:
    Konstruktywna krytyka zawsze mile widziana :D Mógłbyś mi proszę jakiś dobry podręcznik polecić...na uczelni korzystamy głownie ze skryptu Dr Barskiego "Układy cyfrowe i mikroprocesory", a tam niestandardowych zastosowań nie ma.

    nie znam tej pozycji, widać ukazała się niedawno, kiedy już przestałem zaglądać do księgarni technicznej (kiedyś trzeba znaleźć czas na przeczytanie innego rodzaju książek)...
    Mówisz, masz:
    1. Misiurewicz P., Grzybek M. "Półprzewodnikowe Układy Logiczne", WNT, Warszawa 1975 (z serii Automatyka, żółta okładka ze stylizowaną czerwoną małą literą a).
    2. Wagner F. "Projektowanie Urządzeń Cyfrowych", WNT, Warszawa 1978 (z serii Automatyka, żółta okładka ze stylizowaną zieloną małą literą a).
    3. Pieńkoś J., Turczyński J. " Układy Scalone TTL w systamach cyfrowych". WKiŁ, Warszawa 1986 (Wydanie trzecie zmienione).

    Mógłbym, jeszcze kilkanaście pozycji przytoczyć, ale w tej trzeciej znajdziesz bogaty spis literatury.

    Pozdrawiam

    0
  • #5 16 Paź 2007 01:26
    ziggi87
    Poziom 12  

    Rozwiązanie okazało się banalnie proste - wystarczyło zakodować stany (przeniesienia) jako wartość liczby, którą w sobie przenoszą. Potem po kolei, mnożyć, dodawać przeniesienia i wyrzucać na wyjście ostatni bit uzyskanej liczby, a dwa bardziej znaczące jako wartość przeniesienia następnego. A ja kodowałem wcześniej przeniesienia jako funkcje 2 zmiennych (ile w pamięci i co podano na wejście), dlatego wyszło mi ich tak wiele. Oczywiście mnożymy od bitu najmłodszego.

    Co do dzielenia, to wydumałem tak: dzielimy najstarszy bit przez dzielną, uzyskaną resztę przesuwamy o 1 miejsce w prawo, mnożymy przez 2 i dodajemy do młodszego bitu, następnie sprawdzamy, czy liczba jest większa bądź równa dzielnej, jeżeli tak to mamy 1 na wyjściu i jakąś resztę, która następnie mnożymy....i tak w kółko. Wszystko do zrealizowania na multiplexerach 16/1.

    Projekty gotowe, w środę realizacja.
    Dziękuję za podanie literatury, wypożyczyłem i na pewno się przyda.

    0