Główną wadą obwód kombinacyjny oznacza to, że nie używa żadnej pamięci do zapisania stanu obecnego i poprzedniego. Stąd poprzedni stan wejścia nie ma żadnego wpływu na aktualny stan obwodu. Podczas gdy obwód sekwencyjny ma pamięć, więc wyjście może się różnić w zależności od wejścia. Ten typ obwodów wykorzystuje poprzednie wejście, wyjście, zegar i element pamięci. Tutaj elementami pamięci mogą być zatrzaski lub klapki. Układy sekwencyjne są projektowane różnymi metodami, takimi jak użycie ROM-ów i klapek, PLA, CPLD (złożone programowalne urządzenie logiczne) , FPGA (tablica bramek programowalna przez użytkownika) . W tym artykule omówimy tylko, jak zaprojektować obwód sekwencyjny za pomocą PLA.
Schemat blokowy obwodu sekwencyjnego, jak pokazano poniżej:
Schemat Blokowy Układu Sekwencyjnego
Projektowanie obwodu sekwencyjnego z wykorzystaniem PLA
Układy sekwencyjne można zrealizować za pomocą PLA (Programmable Logic Arrays) i przerzutników. W tym projekcie przypisanie stanu może być ważne, ponieważ użycie dobrego przypisania stanu może zmniejszyć wymaganą liczbę terminów dotyczących produktu, a tym samym zmniejszyć wymagany rozmiar PLA. Termin produktowy zdefiniowany jako koniunkcja literałów, gdzie każdy literał jest albo zmienną, albo jej negacją.
Rozważmy bowiem projekt konwertera kodu. Tabelę stanów pokazaną poniżej w tabeli można zrealizować za pomocą jednego PLA i trzech japonki jak pokazano na poniższym rysunku. Ta konfiguracja obwodu jest bardzo podobna do konstrukcji opartej na przerzutniku ROM, z wyjątkiem tego, że ROM jest zastępowany przez PLA o odpowiednim rozmiarze. Przypisanie stanu prowadzi do tabeli prawdy podanej poniżej. Tablica ta mogłaby być przechowywana w PLA z czterema wejściami, 13 kategoriami produktów i czterema wyjściami, ale oferowałoby to niewielkie zmniejszenie rozmiaru w porównaniu z 16-słowową pamięcią ROM.
X Q1 Q2 Q3 | Z D1 D2 D3 |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 1 0 0 1 1 0 1 1 0 1 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 0 X X X X 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 X X X X X X X X |
Tabela: Tabela prawdy
TERAŹNIEJSZOŚĆ STAN
| NASTĘPNY STAN X = 0 1 | TERAŹNIEJSZOŚĆ WYJŚCIE (Z) |
DO | PNE | 1 0 |
b do | D E I E. | 1 0 0 1 |
re JEST | H H H M | 0 1 1 0 |
H. M | A A DO - | 0 1 1 - |
Tabela: Tabela stanów
Projektowanie obwodów sekwencyjnych z wykorzystaniem PLA
Równania wejściowe i wyjściowe uzyskane na podstawie mapy Karnaugha
Tutaj, ponieważ istnieje siedem stanów, wymagane są trzy przerzutniki D. Dlatego wymagany jest obwód PLA z 4 wejściami i 4 wyjściami. Jeśli weźmie się pod uwagę przypisanie stanu konwertera kodu, wynikowe równanie wyjściowe i równania wejściowe typu flip-flop wyprowadzone z Karnaugha można zapisać następującymi równaniami
D1 = Q1 + = Q2 ”
D2 = Q2 + = Q2 ”
D3 = Q3 + = Q1 Q2 Q3 = X ”Q1 Q3” = X Q1 ”Q2”
Z = X ”Q3” + X Q3
X Q1 Q2 Q3 | Z D1 D2 D3 |
- - 0 - - 1 - - - 1 1 1 0 1 - 0 1 0 0 - 0 - - 0 jedenaście
| 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0
|
Tabela PLA, która odpowiada tym równaniom, jest podana w tabeli powyżej. Ta tabela może być zrealizowana przy użyciu PLA z czterema wejściami, siedmioma terminami produktu i czterema wyjściami. Aby wstępnie zweryfikować działanie powyższego projektu, załóżmy, że X = 0 i Q1Q2Q3 = 000. Spowoduje to wybranie wierszy - - 0- i 0 - - -0 w tabeli, więc Z = 0 i D1D2D3 = 100. Po aktywnym zboczu zegara Q1Q2Q3 = 100. Jeśli następne wejście to X = 1, to wybierane są wiersze - - 0 - i - 1- -, więc Z = 0 i D1D2D3 = 110. Po aktywnym zboczu zegara Q1Q2Q3 = 110.
Programowalna tablica logiczna (PLA)
Programmable Logic Array to programowalne urządzenie logiczne. Zwykle jest używany do implementacji kombinacyjnych układów logicznych. PLA ma zestaw programowalnych płaszczyzn AND (tablica AND), które są połączone z zestawem programowalnych płaszczyzn OR (tablica OR), które można następnie tymczasowo uzupełnić w celu uzyskania wyniku. Ten układ pozwala na syntezę dużej liczby funkcji logicznych w suma produktów (SOP) formy kanoniczne. Poniżej przedstawiono prosty schemat blokowy PLA.
Schemat blokowy PLA
Główną różnicą między PLA i PAL (programowalna logika tablicowa) jest:
PLA: Obie Płaszczyzna AND i płaszczyzna OR są programowalne.
PAL: Tylko płaszczyzna AND jest programowalna, podczas gdy płaszczyzna OR jest ustalona.
Aby lepiej zrozumieć PLA, rozważymy poniższy przykład.
Spróbujmy zaimplementować te funkcje f1 i f2 podane jako
Wejścia x1, x2, x3 i odpowiadające im sygnały uzupełnione są podawane na programowalną płaszczyznę AND, tam otrzymamy wyjścia płaszczyzny AND jako P1, P2, P3 zwane mintermami. Następnie sygnały te są przekazywane do programowalnej płaszczyzny OR w celu uzyskania wymaganej funkcji wyjściowej f1 i f2 (suma iloczynów). Poniższy rysunek przedstawia implementację PLA na poziomie bramki dla danej funkcjonalności.
Wdrożenie PLA
Chodzi o projektowanie obwodów sekwencyjnych przy użyciu PLA. Uważamy, że informacje podane w tym artykule są pomocne w lepszym zrozumieniu tej koncepcji. Ponadto wszelkie pytania dotyczące tego artykułu lub pomocy w realizacja projektów elektrycznych i elektronicznych , możesz skontaktować się z nami, komentując w sekcji komentarzy poniżej. Oto pytanie do Ciebie, Co oznacza układ sekwencyjny?