134 5. Języki specyfikacji tihi układów programowalnych
Węzły, które są deklarowane w sekcji zmiennych, służą do określania j zapamiętywania wartości pośrednich wyrażeń boolowskich lub łączenia makrofunkcji. Użycie węzłów zwiększa czytelność opisu, a dodatkowo pozwala go uprościć, jeśli ten sam węzeł używany jest wielokrotnie w różnych wy rażeniach.
W przykładzie 5.12 węzłowi a_equals_2 przypisuje się wyrażenie al i !a0, a następnie wykorzystuje się je w kolejnym wyrażeniu boolowskim.
Przy kład 5.12
SUBDESIGN boole2 (
aO, al, b : INPUT;
out : OUTPUT;
)
VARIABLE
a_equals_2 : NODE;
BEGIN
a_equals_2 - al * !a0; out - a_equala_2 I b;
END;
Tabiice prawdy
Najłatwiejszym sposobem tworzenia układów, dla których możemy jednoznacznie określić odpowiedzi na zadane wektory wejściowe, jest użycie tablic prawdy (Tmth Table) Tablica w języku AHDL jest zapisywana w formie sekcji rozpoczynającej się od słowa kluczowego TABLE. Nagłówek umieszczony w następnym wierszu zawiera listę sygnałów wejściowych, separator (->) oraz listę sygnałów wyjściowych. Poszczególne sygnały listy (również grupowe) są oddzielane przecinkami. W następnych wierszach -zgodnie z kolejnością ustaloną w nagłówku - są podawane wartości sygnałów wejściowych i wyjściowych. Wejścia i wyjścia są oddzielone znakiem strzałki (->). Dopuszcza się specyfikację z uwzględnieniem wartości nieokreślonych (don*t carc). oznaczonych symbolem x. Specyfikację tablicy kończą słowa kluczowe END TABLE. Typowym przykładem zastosowania tablicowej specyfikacji układu kombinacyjnego jest dekoder wskaźnika siedmiosegmentowego.
Przykład 5.13
TITLE " Led a. b, g - tablica"; SUBDESIGN asogmontI
5.2 Języ k AHDI.
135
D13..01 a. b. g
B-001"
B"101"
B"000";
B-000"
B-100"
B-010"
B-010";
B-OOl"
B-000"
B"000";
TABLE (D(3..0J> B-0000-B-0001-B"0010" B"0011" B-0100" B-0101" B-OllO" B"0111"
B"1000" B-1001" END TABLE;
Specyfikacja dekodera w pliku o nazwie ascgmcnL a następnie odpowiednio przeprowadzony proces kompilacji prowadzą do powstania wielu plików wyjściowych przydatnych w dalszym przetwarzaniu układu (weryfikacja, symulacja i programowanie). Wiele istotnych dla użytkownika informacji o przebiegu procesu syntezy jest ych w tzw. raporcie (pliku z rozszerzeniem rpt). Raport taki zawiera przede informacje dotyczące organizacji sprzętowej układu w odpowiednio ~ym module FPLD, a także wyniki syntezy logicznej. Przykładowe fragmenty n asegment.rpt dla dekodera wskaźnika siedmiosegmentowego podane są poniżej.
Project compilation was successful Led a, b, g Tablica •• DEVICE SUMMARY “
Chip/ Input Output Bidir Shareable
POF Device Pins Pins Pins LCs Expar.ders t Utilized
Asegment
EPM7128SLC84-7
4 3 0 3 3 2 1
Device-Specific Information: d:\users\max2work\ahdl\asegment.rpt