TMP29

TMP29



138


5 Języki specyfikacji dla układów programow alnych

W niektórych przypadkach instrukcje IF i CASH można stosować wymiennie.

Użycie instrukcji CASH nic zawsze jest możliwe np z powodu zbyt wielu kombinacji warunków, które należy uwzględnić. Z kolei korzystając z wyrażenia IF możemy doprowadzić do sytuacji, w której opisane warunki będą zbyt skomplikowane dla kompilatora, sprawdzanie bowiem każdego kolejnego warunku ELSIF pociąga za sobą konieczność włączenia do opisującego go równania negacji wszystkich poprzednich warunków.

Deklarowanie i odwołanie się do rejestrów    /

Rejestry deklaruje się jako zmienne typu np. DFF. DFFE, JKFF, SRFF. Formalnie każdy przerzutnik rejestru jest obiektem, którego wejścia i wyjścia (wejścia informacyjne D. T, JK, SR. wejście zegarowe CLK, wejście zezwolenia ENA i wyjście Q) są obejmowane wspólną nazwą z rozszerzeniem określającym rodzaj wejścia.

Przykład 5.16

SOBDESIGW bur_reg (

: INPUT;

: OUTPUT;


clk, load, d(7..0) q|7..oj

)

VARIABLE

: DFFE;


ffl7..0J

BEGIN

ffU.clk - clk; ffU.ena - load; ff11.d - d(); qll - ffll.q;

END;

Port ff(). clk jest wejściem zegarowym przerzutników, ff[]-ena - wejściem zezwolenia (enable), ffll.d - wejściem D. a    wyjściem. Poszczególne

wyrażenia łączą je z portami definiowanej makrofunkcji. W przypadku potrzeby bramkowania globalnego zegara w układzie, zaleca się wykorzystywanie wejść Clock Enable. Możliwe jest deklarowanie wyjść układu jako synchronicznych; w takim wypadku wyrażenia, które zostały przypisane poszczególnym wyjściom układu są wprowadzane na wejścia D przerzutników i dopiero po aktywnym zboczu zegara pojawiają się na wyjściu układu.

3.2. Mzyk AU DL

139


przykład 5.17

SOBDESIGN reg_out

ł

clk, load, d (7..0)    : INPUT;

q[7..0]    : OUTPUT;

)

VARIABLE

q(7..0)    : DFFE; % also declared as outputs \

BEGIN

q[].clk - clk; q(].ena - load; q() - dM;

END.

W przykładzie pokazano jedynie sposób wykorzystania przerzutników do tworzenia wyjść synchronicznych. Sposób ten może być szczególnie przydatny w przypadku automatu Mealy'ego. JeZeli w wyrażeniu boolowskim po nazwie zmiennej typu przerzutnik nie określimy portu, to przyjmuje się, że jest on:

; - wejściem d, jeżeli zmienna występuje po lewej stronie jak w linii q (J - d[|;

£r wyjściem q, jeżeli zmienna występuje po prawej stronic.

anie automatów

Automaty tworzy się deklarując ich nazwę oraz nazwy i kody stanów. Kodowanie nie jest jednak konieczne; można podać jedynie ich listę, a kompilator cznic zakoduje stany i wybierze odpowiedni typ przerzutnika do ich realizacji, pełnego opisu jest niezbędna specyfikacja działania automatu oraz określenie gnatów sterujących dla przerzutników: Resct, Clock, Enable. Sygnały te definiuje się T-Cbnie jak w przypadku pojedynczych przerzutników. tj. posługując się identyfikatorem z rozszerzeniem. Działanie układu (np. jego tablice przejść oraz wyjść) można opisać kilkoma sposobami, wykorzystując instrukcje typu IF, CASE lub opis tablicowy (TABLE). W podanych dalej przykładach pokazano różne sposoby opisu. W pierwszym posłużono się instrukcjami IF i CASE, za pomocą których opisano tablice przejść oraz wyjść, elementarne zaś kodowanie stanów pozostawiając kompilatorowi.

Przykład 5.18

T1TLE "Automat wykrywający sekwencje 001";

SUBDES1GN detl


Wyszukiwarka

Podobne podstrony:
TMP26 132 5 Języki specyfikacji dla układów programowalnych c)    (a.b.c)•,d.e,i) ozn
TMP23 126 5 Języki specyfikacji dla układów programowalnych -    PARAMETERS (opcjonal
TMP26 132 5. Języki specyfikacji dla układów programowalnych C) (a,b,c)•id.e, f) oznacza (ald.ble.cl
TMP28 1365 Języki specyfikacji dla układów programowalnych •• EOUATIONS •• DO
TMP30 140 S. Języki specyfikacji dla układów programowalnych 5.2. Język AHDL 141 Odpowicdni plik rap
TMP35 150 5 Języki specyfikacji dla układów programowalnych qI].clk - zegar; wyjII - qll; y - (
TMP25 i 130 5 Języki specyfikacji dla układów programowalnych 5 2 Język AHDl.131 Liczby i stale Zgod
TMP31 142 5 Języki specyfikacji dla układów programowalnych WITH STATES ( stanl - B"000",
TMP36 152y Ję:yki specyfikacji dla układów programow alnych Device-Specific
TMP34 148 f Języki specyfikacji dla ukladtm programowalnych •• EOUATIONS •• CLOCK
TMP22 5 Języki s/wnfikacji dla układów programowalnych B3 JS - [83,B2,B1.B0
TMP27 134 5. Języki specyfikacji tihi układów programowalnych Węzły, które są deklarowane w sekcji z
TMP32 144 5 Języ ki specyfikacji dla układów programowalnych sygnałów grupowych Zatem modyfikacja
TMP34 148 f J‘: ki 5fH cyfikacji dla układów programowalnych •• F.QUATIONS ** CLOCK
Biotechnologia molekularna dla zdrowia - program funkcjonalno - użytkowy przypadkach system będzie
Biotechnologia molekularna dla zdrowia - program funkcjonalno - użytkowy przypadkach system będzie
elektronika0002 138 Elektronika. Zbiór zadań ZADANIA 6.J. Dla układów przedstawionych na rysunkach o

więcej podobnych podstron