Witam
Zadanie jak poniżej. Na pewno się dogadamy, pisz na e-mail: mefiiuu@o2.pl.
Wiem, że już było ale nie mogę do nikogo się dopisać.
Zaprojektować układ, który dla słowa wejściowego A:(ai, i=0, n-1) produkuje słowo wyjściowe B(bi, i=0, n-1) pomijając pierwszą jedynkę od lewej i pierwszą jedynkę od prawej strony.
A|11111|01011|01100|00100|00000|
B|01110|00010|00000|00000|00000|
Zadanie z techniki cyfrowej
Zadanie z techniki cyfrowej
Ostatnio zmieniony 08 maja 2015, 15:13 przez mefiiuuu, łącznie zmieniany 1 raz.
A rozwiążę, tak dla sportu.
Forumowiczów proszę o sprawdzenie czy nie strzeliłem gafy.
1. Podziel problem na bloki elementarne.
2. Zaprojektuj blok logiczny mający 2 WE i 2 WY który obsłuży jeden bit ze słowa wejściowego, jeden bit ze słowa wyjściowego, na wejściu przeniesienia dostanie informację z poprzedniego bloku czy pierwsza jedynka została już usunięta, a na wyjściu wyśle tą informację do kolejnego bloku logicznego.
A - bit wejścia
X - bit wyjścia
Ci - wejście przeniesienia
Co - wyjście przeniesienia
Zgodnie z tabelką, blok zwraca 0 jeśli: na wejściu A jest 0 lub na wejściu przeniesienia jest 0 (poprzedni blok nie wykrył 1).
Na wyjściu przeniesienia pojawia się 1 jeśli ten lub poprzedni blok dostał 1 na wejściu.
Obie funkcje zrealizujesz pojedyńczą bramką.

3. Zbudowany układ powielasz n razy, na Ci pierwszego podajesz 0, Co ostatniego olewasz. Otrzymujesz układ przetwarzający A => X zgodnie z poniższymi danymi:
A|11111|01011|01100|00100|00000|
X|01111|00011|00100|00000|00000|
B|01110|00010|00000|00000|00000|
Czyli masz gotową elminację pierwszej jedynki, ostatnia jedynka zostaje. Proste?
4. To teraz czas wyelminować ostatnią jedynkę. Podpowiem że podstawowy blok logiczny zostaje, a zmieniasz tylko kolejność bitów, zatem potrzebujesz 2n bloków.
Na koniec zagadka, da się rozwiązać ten problem używając 2*(n-1) bloków?
Forumowiczów proszę o sprawdzenie czy nie strzeliłem gafy.
1. Podziel problem na bloki elementarne.
2. Zaprojektuj blok logiczny mający 2 WE i 2 WY który obsłuży jeden bit ze słowa wejściowego, jeden bit ze słowa wyjściowego, na wejściu przeniesienia dostanie informację z poprzedniego bloku czy pierwsza jedynka została już usunięta, a na wyjściu wyśle tą informację do kolejnego bloku logicznego.
A - bit wejścia
X - bit wyjścia
Ci - wejście przeniesienia
Co - wyjście przeniesienia
Zgodnie z tabelką, blok zwraca 0 jeśli: na wejściu A jest 0 lub na wejściu przeniesienia jest 0 (poprzedni blok nie wykrył 1).
Na wyjściu przeniesienia pojawia się 1 jeśli ten lub poprzedni blok dostał 1 na wejściu.
Obie funkcje zrealizujesz pojedyńczą bramką.
3. Zbudowany układ powielasz n razy, na Ci pierwszego podajesz 0, Co ostatniego olewasz. Otrzymujesz układ przetwarzający A => X zgodnie z poniższymi danymi:
A|11111|01011|01100|00100|00000|
X|01111|00011|00100|00000|00000|
B|01110|00010|00000|00000|00000|
Czyli masz gotową elminację pierwszej jedynki, ostatnia jedynka zostaje. Proste?
4. To teraz czas wyelminować ostatnią jedynkę. Podpowiem że podstawowy blok logiczny zostaje, a zmieniasz tylko kolejność bitów, zatem potrzebujesz 2n bloków.
Na koniec zagadka, da się rozwiązać ten problem używając 2*(n-1) bloków?