60
3. Synteza układów o wielu wejściach (kilkadziesiąt i więcej).
Jak wspomnieliśmy Jut wcześniej, podane metody minimalizacji nie mają wtedy zastosowania ze względu na złożoność obliczeń, (ilość operacji i wymagana objętość pamięci). W grę wchodzi wówczas projektowanie układów w wersji iteracyjnej, o czym będzie mowa w następnym punkcie, lub zastosowania suboptymalnych metod minimalizacji.
4. Synteza funkcji silnie nieokreślonych.
Istnieją metody łatwej minimalizacji funkcji wielu zmiennych, Jeżeli dla wielu próbek argumentów funkcja nie Jest określona.
Szczegóły dotyczące wymienionych tu problemów syntezy Czytelnik znajdzie w książce Traczyka C2S, str. 83-1563*
2.3. imUV1 ITERACYJNE [2B, str. 124]
Syntezę układu kombinacyjnego o wielu wejściach można często znacznie uprościć projektując go jako układ iteracyjny. Warunkiem takiego projektowania Jest posiadanie opisu układu w postaci rekurencyjnej, tzn. takiej, że każde kolejne wejście (lub grupa wejść) w identyczny sposób modyfikuje stan układu wywołany działaniem wejść dotychczas rozpatrywanych. W konsekwencji układ ma postać łańcucha identycznych bloków, zakończonego blokiem wyjściowym, jak to przedstawiono na rys. 2.16.
*Xt *1(1 <11 *lt
Rys. 2.16. Struktura układu iteracyjnego
Projektowanie układu w wersji iteracyjnej jest łatwe, ponieważ projektuje się tylko jeden blok o niewielkiej liczbie wejść, zaś realizacja techniczna jest dogodna ze względu na powtarzalność bloków.
Przykład 2.9
Zaprojektować układ kombinacyjny o n wejściach x^,Xj.....xQ podający
na wyjście 1, gdy przynajmniej na trzech sąsiednich wejściach są jedynki.
Gdy n jest duże, konwencjonalne zaprojektowanie układu byłoby bardzo trudne. Gdy układ chcemy zaprojektować jako iteracyjny, musimy wyznaczyć zespół sygnałów, przesyłanych pomiędzy blokami, opisujących efekt działania dotychczas rozpatrywanych wejść (stan układu).
Przyjmijmy, że do każdego z bloków na rys. 2.16 podłączone jest tylko jedno z wejść x^(M=1). Zbiór możliwych stanów układu wraz z odpowiadającymi im kodami sygnałów przesyłanych między blokami przedstawiono na rys. 2.17a.
STAN |
Ml "u Hi |
Alt WCTA/NA JtłlCU stw 3 XV*HtX A NA wuicw KiAWItO 9 |
u |
we wwr\wiA «ncn scaia 3 Jtw** A ha uuietu um« WJAW1U tli, Jtnwu H«upk tAmtąnowAĆ WVXIVWANA, KRI. |
Dl |
Nit WSTANIA jmttt ukia 3 JirmcK a na WtJiCIAOI RUK8 i listu mtmnA-jąetM H4AWW W( JCWNK1 |
1t |
WITAfttA MtlA 3 JfOWCK |
11 |
fiCiłsc:
xi |
t\i hi | |
1 1 |
1 | |
0 1 |
1 |
« 1 |
1 ( |
1 |
i i |
0 1 |
1 |
i i |
1 1 |
1 |
i i |
t 1 |
1 |
i i |
t 1 |
1 |
i 1 |
t 1 |
1 |
\ 1 |
Rys. 2.17. Kodowania stanów (a) 1 tablica przejść (b) układu lteracyjnego
z przykładu 2.9
Rys. 2.18. Schemat bloku układu lteracyjnego z przykładu 2.9
Następnie układamy tabelę przejść stanów wywołanych przez sygnały wejściowe, co przedstawiono na rys. 2.17b.
Tablica z r^s. 2.17b określa dwie funkcje
P2i ~ P11+1P21+1 + p2i+lxl