Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 28

3.2.4 Засвоїти синтез із використанням основних операторів логічного блоку на прикладі заданого варіанта дешифратора

3.2.4.1 Здійснити синтез дешифратора (додаток А, варіанти завдання 3,б) з використанням оператора таблиці відповідності Truth Table Statement: надати нове ім’я проекту 3XXtab і створити текстовий файл 3XXtab.tdf; відтак:

1) ввести заголовок (Title Statement);

2) ввести вхідні і вихідні вектори (SubdesignSection);

3) ввести логічний блок Logic Section (ці дії докладно описано в п. 2.2.5; приклад див. нижче);

4) між ключовими словами (BEGIN та END;) розташувати курсор (краще з відступом Tab) і ввести підсекцію таблиці відповідності: В2 > AT > Truth Table Statementта вставити в утворений таким чином шаблон мовою AHDL: а) заголовок таблиці (змінні у вигляді масиву або їх перелік через кому, потім, після відокремлювальної стрілки шаблона, так само функції у вигляді масиву або їх перелік через кому і в кінці залишити крапку з комою; б) тіло таблиці, кожний рядок якого відображає або значення змінних і функцій у вигляді кодів певної системи числення, або перелік логічних значень через кому (нагадує звичайну таблицю) і завершується крапкою з комою; у підсумку текстовий файл набуває вигляду як у наведеному нижче прикладі;

5) виконати компіляцію, функціональне моделювання та автоматичне порівняння утворених таким чином часових діаграм з п.3.2.3.9 з метою проаналізувати результати проектування.

< Приклади:  d:\max2work\tutorial\3lab\300tab і 300tabl – .gdf, .scf.

                                                                 %  Коментарі:                                %

TITLE "Дешифратор 2:4 (таблиця)";  % 1) Title Statement                     %

SUBDESIGN 300tab                              % 2) Subdesign Section                %

(                                                                %  Варіант:%

          a[1..0]                    : INPUT;         % (a1, a0            : INPUT;              %

          y[3..0]          : OUTPUT;               % y3, y2, y1, y0   : OUTPUT);       %

)

BEGIN                                                    %       3) Logic Section                   %

          TABLE                                           %     4) Truth Table Statement   %

            a[] => y[];    % Варіант заголовку таблиці:   |a1,a0=>y3,y2,y1,y0; %

                                 %  Варіанти тіла таблиці:         |                                    % 

            0   =>  1;      %  B"00"=>B"0001";|0 => H"1";|0,  0 =>0,  0,  0,  1;    %

            1   =>  2;       % B"01"=>B"0010";|1 => H"2";|0,  1 =>0,  0,  1,  0;    %

            2   =>  4;       % B"10"=>B"0100";|2 => H"4";|1,  0 =>0,  1,  0,  0;    %

            3   =>  8;       % B"11"=>B"1000";|3 => H"8";|1,  1 =>1,  0,  0,  0;    %

          END TABLE;

END;

F Примітки:

1. Ім’я в секції Subdesign обов’язково має збігатися з ім’ям проекту (див. п. 3.2.3.2).

2. Компілятор використовує лише дані, помічені в текстовому файлі чорним (у тому числі розділові знаки), тому ця його частина має точно відповідати операторному синтаксису (інакше замість компіляції видається повідомлення про помилки та їх локалізацію – зазначаються номери рядків тексту і що в них є помилкове). Ключові слова шаблону (синього кольору) відокремлюють підрозділи. Все інше не має значення: прогалини між символами, відступи і табуляції, порожні рядки, зокрема, після заголовку таблиці визначають лише стиль оформлення, легкий для читання і розуміння. Проте кожний рядок коментарів (довільні написи зеленого кольору, а червоні заголовки тут виділено нами) має заключатися з обох боків знаками „%”.