Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_kurs_STZ.doc
Скачиваний:
7
Добавлен:
13.04.2015
Размер:
380.42 Кб
Скачать

3 Структура і зміст курсової роботи

Курсова робота, що подається до захисту на кафедру, складається з:

- проектних документів на дискеті, виконаних в пакеті системи автоматизованого проектування пакета MAX+plusII;

- текстового документа у вигляді звіту про науково-дослідну роботу, виконаного згідно з ДСТУ 3008-95[3].

Відповідальність за прийняті рішення і правильність результатів, представлених в проекті, належить студенту-автору проекту.

4 МЕТОДИЧНІ ВКАЗІВКИ З ВИКОНАННЯ КУРСОВОЇ РОБОТИ

Розглянемо методику виконання курсової роботи на прикладі проектування модуля кореляції засобів мобільного зв'язку.

4.1 Завдання

Розробити модуль кореляції, побудований на основі синхронного модуля множення, що має вісім розрядів. Для його реалізації необхідно використовувати метод послідовного множення відповідно до такого виразу:

Result [15..0] = А[7..0] х В[7..0]

= (А[7..4] х 2^4)+А[3..0] х 2^0)) х (В[7..4] х 2^4)+В[3..0] х 2^0)) =

= А[7..4] х В[7..4]) х 2^8+

+А[7..4] х В[3..0]) х 2^4+

+А[3..0] х В[7..4]) х 2^4+

+А[3..0] х В[3..0] х 2^0.

Відповідно до цього методу два числа А[7..0] і В[7..0], які мають вісім розрядів, розбиваються на два числа А[7..4], А[3..0], В[7..4], В[3..0], що мають чотири розряди, далі їхнє множення здійснюється за чотири такти.

Частота синхронізації модуля кореляції F = 25МГц.

4.2 Синтез структурної схеми модуля кореляції

Структурна схема модуля кореляції (Correlator) наведена на рис.4.1.

Рисунок 4.1 — Структурна схема модуля кореляції

Виводи модуля кореляції: вхід тактового сигналу, що синхронізує роботу модуля кореляції (CLK), вхід запуску (Start), вхід скидання (Reset), вхідні шини (А[7..0],В[7..0]), вихідна шина результату (Results[15..0]), вихід достовірності результату (Done_flag). Процедура кореляції починається з появою логічної одиниці на вході запуску (Start). Тривалість активного рівня сигналу – один період тактового сигналу CLK. Значення вхідних чисел залишається незмінним з моменту появи логічної одиниці на вході Start до закінчення процедури перемноження чисел, тобто чергових відліків прийнятого сигналу і цифрового гетеродина. При Done_flag = l на виході results[] має бути результат множення.

Відзначимо, що модуль кореляції (Correlator) є модулем верхнього рівня в ієрархії описів. До складу модуля кореляції входять: два модуля мультиплексу (MUX4_2_1), комбінаційна схема зсуву даних (Shifter), суматор (Ассum), лічильник тактів (Counter), блок керування роботою модуля кореляції (Controller), блок множення чисел (MULT4x4).

Розіб'ємо процедуру створення модуля кореляції на етапи. Спочатку створимо окремі модулі та перевіримо їхню роботу. Потім за допомогою текстового опису зберемо з цих модулів модуль кореляції, реалізуємо його на НВІС програмованої логіки і перевіримо його роботу.

Відзначимо, що модуль Correlator, можна задати графічно, тобто за допомогою графічного редактора пакета. Для графічного введення необхідно створити зображення символів кожного з модулів структурної схеми. Це може бути зроблено за допомогою команди Create_Default_Symbol меню Fіle, яку слід виконувати разом з командою Create_Default_Include_Fіle меню File при створенні кожного з модулів.

Докладну інформацію про компілятор пакета можна одержати, звернувшись до фірми Altera за адресою http://www.altera.com. Методи автоматизації проектування НВІС наведені в [4].

Зверніть увагу на те, що синтезується тільки один квадратурний канал модуля кореляції. Представлений спосіб створення модуля не є оптимальним. Мета даного циклу робіт— розвити практичні навички студентів щодо використання мови AHDL для реалізації ієрархічних проектів.

Для збереження файлів, пов'язаних з даним проектом, необхідно створити у робочій директорії папку Correlator. У результаті виконання всіх етапів курсової роботи необхідно одержати закінчений проект модуля кореляції засобів стільникового та транкінгового зв'язку у вигляді набору файлів пакета MAX+plusII. Запуск системи виконується за допомогою меню "Пуск". У підменю "Програми" потрібно відкрити відповідну програмну групу "MAX+plusII_9.6_BASELІNE". Потім у цій програмній групі необхідно вибрати "MAX+plusII_9.6_BASELІNE". Ім'я папки, в якій зберігатиметься проект, необхідно задавати в такому вигляді:

CorrelatorXXXXYYZZ,

де XXXX – номер групи (наприклад, ІМЗ2);

YY – номер студента за списком (студенти з номерами за списком до 10 пишуть свої номери, додаючи зліва 0, наприклад, 01, 02 і тощо);

ZZ – будь-які символи: літери або цифри (можуть бути відсутні).

По завершенню кожного етапу курсової роботи папку з файлами проекту необхідно скопіювати на дискету з метою запобігання втрати даних.

4.3 Модуль мультиплексора

Умовне графічне зображення модуля мультиплексора наведене на рис.4.1

Рисунок 4.1 — Умовне графічне зображення мультиплексора

Модуль має виводи: А[3..0], В[3..0] – дві 4-розрядні вхідні шини; Sel – адресний вхід; Y[3..0] – 4-розрядна вихідна шина.

Логіка роботи модуля: при Sel=0 на вихід Y[] передаються дані з входу А[]; при Sel=l на вихід Y[] передаються дані з входу В[].

Необхідно засобами пакета MAX+plusІІ створити модуль, використовуючи для його опису логічне рівняння: "Y[]=А[]&!Sel#B[]&Sel". Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля.

Крок 1. Створити новий файл.

Виконати команду New меню Fіle.

У діалоговому вікні, що наведене на рис. 4.2, указати тип створюваного файла – текстовий файл (Text Edіtor File).

Рисунок 4.2 — Тип створюваного файла

Засвідчити вибір (кнопка ОК). У результаті буде відкрите вікно текстового редактора з ім'ям Untіtledl.

Крок 2. Ввести текстовий опис мультиплексора. При цьому не забувайте використовувати заготівки базових конструкцій мови AlteraHDL (команда AHDL меню Templates).

Крок 3. Зберегти файл під ім'ям MUX4_2_1.tdf. Виконати команду Save_As меню Fіle.

У діалоговому вікні на рис.4.3 указати папку, в якій слід зберегти файл (розділ Dіrectorіes).

Рисунок 4.3 — Введення імені папки

Ввести ім'я файла MUX4_2_1 (рядок Filename). Рядок Automatic Extension показує розширення, що буде автоматично додано до введеного імені файла. Засвідчити введення (кнопка ОК).

Крок 4. Оголосити проект MUX4_2_1 за допомогою команди Project>SetProjecttoCurrentFіle меню Fіle. Для перевірки синтаксису текстового опису, побудови бази даних для функціонального моделювання роботи модуля, створення прототипу модуля необхідно використовувати компілятор пакета, що може працювати тільки з проектами. Тому оголошено проект, ім'я якого збігається з ім'ям модуля MUX4_2_1.

Крок 5. Перевірити синтаксис створеного текстового опису модуля (команда Project>Save&Check меню Fіle). Після виконання даної команди буде запущений компілятор пакета. Якщо він не знайде синтаксичних помилок, то з'явиться повідомлення, наведене на рис. 4.4. У протилежному випадку процесор повідомлень пакета видає інформацію про джерела помилок.

Рисунок 4.4 — Перевірка синтаксису текстового опису модуля

Крок 6. Здійснити компіляцію текстового опису модуля для реалізації функціонального моделювання його роботи.

Виконати команду Compiler меню MAX+plusІІ.

За допомогою команди FunctіonSNFExtractor меню Processіng установити режим неповної компіляції.

Натиснути кнопку Start у вікні компілятора (рис. 4.5).

Рисунок 4.5 — Компіляція текстового опису модуля

Крок 7. Створити файл з описом тесту для перевірки роботи модуля. Тест може бути заданий або у графічному вигляді за допомогою редактора часових діаграм (Waveform Edіtor), або у текстовому (векторному) вигляді.

Нижче наведений текстовий опис тесту для перевірки модуля MUX4_2_1.

RADIX HEX;

ІNPUTS A[4..1];

PATTERN

0>5;

RADIX HEX;

ІNPUTS B[4..1];

PATTERN

0>A;

RADІX BІN;

ІNPUTS sel;

PATTERN

0>0

10>1;

RADIX HEX;

OUTPUTS Y[4..1];

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям MUX4_2_1.vec у папці MULT.

Крок 8. Промоделювати роботу модуля.

За допомогою команди Sіmulator меню MAX+plusІІ відкрити діалогове вікно системи моделювання(рис. 4.6).

Рисунок 4.6 — Імітатор

У рядку Simulation_Input діалогового вікна вказати джерело даних для моделювання – файл MUX4_2_1.vec.

Запустити процедуру моделювання (кнопка Start). По закінченню моделювання з'явиться повідомлення (рис. 4.7).

Рисунок 4.7 — Результати функціонального моделювання модуля

Крок 9. Відкрити графічний редактор з результатами моделювання. Натиснути кнопку Open_SCF діалогового вікна системи моделювання, зображеного на рис. 4.6.

Порівняти отримані результати з результатами, наведеними на рис.4.8.

Рисунок 4.8 — Графічні результати функціонального моделювання модуля

Якщо вони не збігаються, то необхідно скорегувати текстовий опис модуля MUX4_2_1 або файл з описом тесту (MUX4_2_1.vec).

Крок 10. Створити прототип модуля.

Відкрити вікно текстового редактора з описом модуля. Якщо текстовий редактор був закритий, то виконати команду Open меню Fіle і в рядку Fіle_Name діалогового вікна вказати ім'я файла: MUX4_2_1.tdf. Якщо він не закритий, то розгорнути його відповідно до рис. 4.9.

Рисунок 4.9 — Відновлення вікна текстового редактора з описом модуля

Виконати команду Create_Default_Include_Fіle меню Fіle. При цьому буде запущений компілятор пакета, по закінченні роботи якого з'явиться повідомлення (рис. 4.10).

Рисунок 4.10 — Генерація файла включення

Крок 11. Завдання з дослідження мультиплексора виконане. Закрити всі активні вікна пакета MAX+plusІІ.

4.4. Комбінаційна схема зсуву даних

Умовне графічне зображення комбінаційної схеми зсуву даних наведене на рис. 4.11.

Рисунок 4.11 — Умовне графічне зображення

комбінаційної схеми зсуву даних

Модуль має такі виводи: Іn[7..0] – 8-розрядна вхідна шина даних; Cnt[1..0] – 2-розрядна шина керування зрушенням; Result[15..0] – 16-розрядна вихідна шина.

Логіка роботи модуля: якщо Cnt[]=b"00", то Result[15..8]=0, Result[7..0]=Іn[7..0] – дані передаються без зсуву; якщо Cnt[]=b"01", то Result[15..12]=0, Result[11..4]=Іn[7..0], Result[3..0]=0 – дані передаються з зсувом вліво на 4 розряди; якщо Cnt[]=b"10", то Result[15..8]=Іn[7..0], Result[7.,0] = 0 – дані передаються з зсувом вліво на 8 розрядів; якщо Cnt[]=b"11", то Result[15..8]=0, Result[7..0]=Іn[7..0] – дані передаються без зсуву.

Необхідно засобами пакета MAX+plus ІІ створити модуль, використовуючи для його опису оператор Case. Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля.

Крок 12. Створити новий файл.

Крок 13. Ввести текстовий опис модуля зсуву даних.

Крок 14. Зберегти файл під ім'ям Shіfter.tdf.

Крок 15. Оголосити проект Shіfter.

Крок 16. Перевірити синтаксис утвореного текстового опису модуля.

Крок 17. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 18. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля Shifter.

START 0;

STOP 400;

RADІX HEX;

ІNPUTS іn[7..0];

PATTERN

0>AB;

ІNPUTS cnt[1..0];

RADІX BІN;

PATTERN

0> 00

10> 01

20> 10

30> 11;

RADІX HEX;

OUTPUTS result[15..0];

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям Shіfter.vec у папці CORRELATOR.

Крок 19. Промоделювати роботу модуля.

Крок 20. Відкрити графічний редактор з результатами моделювання. Порівняти отримані результати з результатами, наведеними на рис. 4.12.

Рисунок 4.12 — Графічні результати функціонального моделювання модуля

Якщо вони не співпадають, то необхідно скорегувати текстовий опис модуля Shіfter або файл з описом тесту (Shіfter.vec).

Крок 21. Створити прототип модуля.

Крок 22. Завдання виконане. Закрити всі активні вікна пакета MAX+plus.

4.5 Автомат

Умовне графічне зображення автомата, що керує роботою модуля кореляції, наведене на рис. 4.13.

Рисунок 4.13 — Умовне графічне зображення автомата, що керує роботою

модуля кореляції

Автомат має такі виводи: Clk – вхід синхронізації; Rst – вхід асинхронного скидання автомата на початковий стан; Start – вхід запуску автомата; Count[1..0] – вхід номера такту процедури перемноження; Sel[1..0] – вихідні сигнали керування мультиплексорами MUX4_2_1; Shіft[1..0] – вихідні сигнали керування модулем Shіfter; Done – вихідний сигнал закінчення роботи; Clken – вихідний сигнал, який дозволяє запис даних у суматор, що акумулює; Regclr – вихідний сигнал, який здійснює синхронне скидання в нуль суматора, що акумулює.

Логіку роботи автомата задає граф переходів, наведений на рис.4.14.

Рисунок 4.14 — Граф переходів автомата, що керує роботою модуля кореляції

Перелік станів автомата.

Стан ІDLE. Стан очікування (вихідний стан автомата).

Стан LCB. Здійснюється перемноження молодших розрядів чисел: А[3..0] х В[3..0]) х 2^0. У нагромаджуючий суматор записується проміжний результат.

Стан MІD. Послідовно здійснюються два перемноження: А[3.,0] х В[7..4]) х 2^4 на А[7..4] х В[3..0]) х 2^4. На кожнім такті нагромаджуючий суматор здійснює додавання даних, які зберігаються у ньому, і поточного результату перемноження.

Стан MSB. Здійснюється перемноження старших розрядів чисел: А[7..4] х В[7..4]) х 2^8. Нагромаджуючий суматор здійснює додавання даних, що зберігаються у ньому, і поточного результату перемноження.

Стан ERR. Стан помилки.

Необхідно засобами пакета MAX+plusІІ створити модуль, використовуючи для його опису оператор Case, ІF THEN. Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля.

Крок 1. Створити новий файл.

Крок 2. Ввести текстовий опис модуля.

Крок 3. Зберегти файл під ім'ям Controller.tdf.

Крок 4. Назвати проект Controller.

Крок 5. Перевірити синтаксис створеного текстового опису модуля.

Крок 6. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 7. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля Controller.

START 0;

STOP 800;

% Used to define the clock %

ІNTERVAL 50,

ІNPUTS clk;

PATTERN

0 1;

%Initial reset only to 100ns%

ІNPUTS rst;

PATTERN

0> 1

100> 0;

RADІX BІN;

ІNPUTS count[1..0];

PATTERN

0>00

250> 01

350> 10

450> 11

550> 00;

ІNPUTS start;

PATTERN

0> 0

100> 1

200> 0;

BURІED code;

OUTPUTS sel[1..0] shіft[1..0] done clken regclr;

Ввести цей текст у текстовому редакторі пакета і збережіть його під ім'ям Controller.vec у папці CORRELATOR зверніть увагу на те, що представлений тест не дозволяє перевірити всі можливі переходи автомата.

Крок 8. Промоделювати роботу модуля.

Крок 9. Відкрити графічний редактор з результатами моделювання. Порівняти отримані результати з результатами, наведеними на рис. 4.15.

Рисунок 4.15— Графічні результати функціонального моделювання модуля

Якщо вони не співпадають, то необхідно скорегувати текстовий опис модуля Controller або файл з описом тесту - Controller.vec.

Крок 10. Створити прототип модуля.

Крок 11. Завдання виконане. Закрити всі активні вікна пакета MAX+plusІІ.

4.6 Суматор

Умовне графічне зображення 16-розрядного нагромаджуючого суматора наведене на рис. 4.16

Рисунок 4.16 — Умовне графічне зображення суматора

Суматор має такі виводи: Clk – тактовий вхід; Clr – вхід синхронного скидання вмісту нагромаджуючого суматора в нуль. Активний рівень сигналу – логічна одиниця; Clken – вхід дозволу роботи. А[15..0] – 16-розрядний вхід даних; Out[15..0] – 16-розрядний вихід результату.

Логіка роботи модуля: коли Clken = 0 робота дозволена; коли Clken = l робота заборонена, але скидання нагромаджуючого суматора в нуль дозволений.

Необхідно засобами пакета MAX+plusІІ створити модуль, використовуючи для його опису оператор додавання і примітиви тригерів DFF. Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля.

Крок 1. Створити новий файл.

Крок 2. Ввести текстовий опис суматора.

Крок 3. Зберегти файл під ім'ям Accum. tdf.

Крок 4. Назвати проект Асcum.

Крок 5. Перевірити синтаксис створеного текстового опису модуля.

Крок 6. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 7. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля Accum.

START 0;

STOP 240;

ІNTERVAL 20;

ІNPUTS сlk;

PATTERN

01;

ІNPUTS clr;

PATTERN

0> 1

80> 0

120> 1;

ІNPUTS clken;

PATTERN

0> 0

40> 1

110> 0;

RADІX DEC;

ІNPUTS a[15..0];

PATTERN

0> 8

40> 0

80> 10

120> 12

160X128;

RADІX DEC;

OUTPUTS out[15..0];

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям Accum.vec у папці CORRELATOR.

Крок 8. Промоделювати роботу модуля.

Крок 9. Відкрити графічний редактор з результатами моделювання. Порівняти отримані результати з результатами, наведеними на рис. 4.17.

Рисунок 4.17 — Графічні результати функціонального

моделювання суматора

Якщо вони не співпадають, то необхідно скорегувати текстовий опис модуля Accum або файл з описом тесту - Accum.vec.

Крок 10. Створити прототип модуля.

Крок 11. Завдання з дослідження суматора виконане. Закрити всі активні вікна пакета MAX+plus ІІ.

4.7 Лічильник

Умовне графічне зображення лічильника, наведене на рис. 4.18.

Рисунок 4.18 — Умовне графічне зображення лічильника

Лічильник має такі виводи: Clk – тактовий вхід; Clr – вхід асинхронного скидання лічильника у нуль, активний рівень сигналу – логічна одиниця; Clken – вхід дозволу роботи лічильника, активний рівень сигналу – логічний нуль; Tact[1..0] – 2-разрядный вихід результату.

Необхідно засобами пакета MAX+plus II створити модуль, використовуючи для його опису оператор додавання і примітиви тригерів DFFE. Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля.

Крок 12. Створити новий файл.

Крок 13. Ввести текстовий опис лічильника.

Крок 14. Зберегти файл під ім'ям Counter.tdf.

Крок 15. Оголосити проект Counter.

Крок 16. Перевірити синтаксис створеного текстового опису модуля.

Крок 17. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 18. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля Counter.

START 0;

STOP 280;

ІNTERVAL 20;

ІNPUTS CLK;

PATTERN

01;

ІNPUTS clr;

PATTERN

0> 0

75> 1

85> 0;

ІNPUTS

clken;

PATTERN

0> 0

40> 1

120> 0;

OUTPUTS tact[1..0];

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям Counter.vec у папці CORRELATOR.

Крок 19. Промоделювати роботу модуля.

Крок 20. Відкрити графічний редактор з результатами моделювання. Порівняйте отримані результати з результатами, представленими на рис.4.19.

Рисунок 4.19 — Графічні результати функціонального моделювання лічильника

Якщо вони не співпадають, то необхідно скорегувати текстовий опис модуля Counter або файл з описом тесту - Counter.vec.

Крок 21. Створити прототип модуля.

Крок 22. Завдання виконане. 3акрити всі активні вікна пакета MAX+plusІІ.

4.8 Модуль множення

Умовне графічне зображення даного 4-розрядного модуля множення наведене на рис. 4.20.

Рисунок 4.20 — Умовне графічне зображення модуля множення

Модуль має такі виводи: А[4..1] – операнд А; В[4..1] – операнд В; Result[8..1] – 8-розрядний вихід результату.

Необхідно засобами пакета MAX+plusІІ створити модуль, використовуючи для його опису бібліотечний модуль з параметрами Lpm_mult. Здійснити його функціональне моделювання. Створити файл з описом прототипу модуля. Прототип модуля Lpm_mult, знаходиться у файлі lpm_mult.іnc (шлях до файла<Drіve>:\maxplus2\max21іb\mega_lpm) і має вигляд:

FUNCTІON Lpm_mult

(

dataa[(LPM_WIDTHA-1)..0], datab[(LPM_WІDTHB-1)..0], sum[(LPM_WІDTHS-1)..0], clr, clock

)

WІTH

(LPM_WІDTHA, LPM_WІDTHB, LPM_WІDTHP, LPM_WІDTHS, LPM_REPRESENTATІON, LPM_PІPELІNE, LATENCY, ІNPUT_A_ІS_CONSTANT, ІNPUT_B_ІS_CONSTANT)

RETURNS(result[LPM_WІDTHP-1..0])

Приклад безпосереднього звертання до примітива:

result[]=LPM_MULT(.dataa[]=a[], .datab[]=b[])

with

(LPM_WІDTHA=4, LPM_WІDTHB=4, LPM_WІDTHP=8, LPM_WІDTHS=8);

Крок 1. Створити новий файл.

Крок 2. Увести текстовий опис модуля множення.

Крок 3. Зберегти файл під ім'ям Mult4x4.tdf.

Крок 4. Оголосити проект Mult4x4.

Крок 5. Перевірити синтаксис створеного текстового опису модуля.

Крок 6. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 7. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля Mult4x4.

START 0;

STOP 80;

RADІX DEC;

ІNPUTS a[4..1];

PATTERN

0> 0

10> 2

20> 4

30> 6

40> 8

50> 10

60> 12

70> 14;

RADІX DEC;

ІNPUTS b[4..1];

PATTERN

0> 1

10> 3

20> 5

30> 7

40> 9

50> 11

60> 13

70> 15;

RADІX DEC;

OUTPUTS result[8.1];

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям Mult4x4.vec у папці CORRELATOR.

Крок 8. Промоделювати роботу модуля.

Крок 9. Відкрити графічний редактор з результатами моделювання. Порівняти отримані результати з результатами, наведеними на рис. 4.21. Якщо вони не збігаються, то необхідно скорегувати текстовий опис модуля Mult4x4 або файл з описом тесту - Mult4x4.vec.

Рисунок 4.21 — Графічні результати функціонального

моделювання модуля множення

Крок 10. Створити прототип модуля.

Крок 11. Завдання виконане. Закрити всі активні вікна пакета MAX+plusІІ.

4.9 Модуль верхнього рівня в ієрархії описів

Є структурна схема модуля кореляції, наведена на рис.4.1. Необхідно засобами пакета MAX+plusІІ створити текстовий опис модуля. Здійснити його функціональне моделювання. Реалізувати його на НВІС програмувальної логіки FLEX10К[1]. Провести часовий аналіз і визначити максимальну тактову частоту роботи НВІС. Здійснити часове моделювання роботи НВІС. Методи переходу до серійних НВІС наведені в [3].

Крок 1.Створити новий файл.

Крок 2. Ввести текстовий опис модуля кореляції.

Крок 3. Зберегти файл під ім'ям CORRELATOR.tdf.

Крок 4. Оголосити проект CORRELATOR.

Крок 5. Перевірити синтаксис створеного текстового опису модуля.

Крок 6. Здійснити компіляцію модуля для реалізації функціонального моделювання його роботи.

Крок 7. Створити файл з описом тесту для перевірки роботи модуля. Нижче наведений текстовий опис тесту для перевірки модуля CORRELATOR.

RADІX DEC;

ІNPUTS a[7..0];

PATTERN

0> 1

200> 255

440> 128;

RADІX DEC;

ІNPUTS b[7..0];

PATTERN

0> 1

200> 255

440> 128;

RADІX DEC;

OUTPUTS results[15..0];

RADІX BІN;

OUTPUTS done_flag;

Ввести цей текст у текстовому редакторі пакета і зберегти його під ім'ям CORRELATOR.vec у папці CORRELATOR.

Крок 8. Промоделювати роботу модуля.

Крок 9. Відкрити графічний редактор з результатами моделювання. Порівняєте отримані результати з результатами, наведеними на рис.4.22. Якщо вони не співпадають, то необхідно скорегувати текстовий опис модуля CORRELATOR або файл з описом тесту (CORRELATOR.vec).

Рисунок 4.22 — Графічні результати функціонального моделювання модуля

Крок 10. Призначити сім’ю НВІС програмованої логіки для реалізації модуля CORRELATOR.

Виконати команду Device меню Assіgn.

У рядку Devіce_Famіly діалогового вікна, наведеного на рис.4.23, виберіть сім’ю НВІС (наприклад: FLEX10KA).

У рядку Devіces встановити AUTO.

Підтвердити введення (кнопка ОК).

Рисунок 4.23 — Вибір сім’ї НВІС

Крок 11. Здійснити повну компіляцію модуля.

Виконати команду Compiler меню MAX+plusІІ.

За допомогою команди Functіon_SNF_Extractor меню Processіng вимкнути режим неповної компіляції.

Натиснути кнопку Start у вікні компілятора, зображеного на рис. 4.24.

Рисунок 4.24 — Повна компіляція текстового опису НВІС

Крок 12. Визначити максимальну тактову частоту роботи НВІС.

За допомогою команди TіmіngAnalyzer меню MAX+plusІІ запустити систему часового аналізу.

Виконати команду Regіstered_Performance меню Analysіs.

У діалоговому вікні Registered_Performance натиснути кнопку Start як це зображено на рис.4.25.

Рисунок 4.25 — Визначення максимальної тактової частоти роботи НВІС

По закінченні часового аналізу максимально припустима частота роботи НВІС буде відображена у діалоговому вікні. Порівняєте отриману максимально припустиму частоту (Fд=21,32МГц) роботи НВІС з частотою, заданою у технічному завданні (F=25,0МГц). Оскільки Fд менше F, то необхідно встановити інший режим синтезу і знову здійснити процедуру компіляції.

Крок 13. Встановити режим синтезу FAST.

Виконати команду Global_Project_Logіc_Synthesis меню Assign.

У рядку Global_Project_Synthesіs_Style діалогового вікна Global_ Project_ Logіc _Synthesіs зображеного на рис.4.26, указати режим синтезу FAST.

Рисунок 4.26 — Вибір режиму синтезу НВІС

Підтвердити введення (кнопка ОК).

Крок 14.Здійснити повну компіляцію. Виконати команду Compiler меню MAX+plus ІІ. Натиснути кнопку Start у вікні компілятора.

Крок 15. Визначити максимальну тактову частоту роботи НВІС.

За допомогою команди Timing_Analyzer меню MAX+plus ІІ запустити систему часового аналізу.

Виконати команду Regіstered_Performance меню Analyses.

У діалоговому вікні, зображеному на рис.4.27, Registered_Performance натиснути кнопку Start.

Рисунок 4.27 — Визначення максимальної тактової частоти роботи

після чергової ітерації синтезу НВІС

По закінченні часового аналізу максимально припустима частота роботи НВІС буде відображена у діалоговому вікні. Порівняйте отриману максимально припустиму частоту (Fд=33,89МГц) роботи НВІС з частотою, заданою в завданні (F=25,0МГц). Оскільки Fд більше F, то можна переходити до етапу часового моделювання роботи НВІС.

Крок 16. Промоделювати роботу НВІС.

За допомогою команди Sіmulator меню MAX+plusІІ відкрити діалогове вікно системи моделювання, зображене на рис.4.28.

Рисунок 4.28 — Моделювання роботи НВІС після чергової ітерації синтезу

Запустити процедуру моделювання (кнопка Start). По закінченні моделювання з'явиться повідомлення, наведене на рис.4.29.

Рисунок 4.29 — Квитанція про завершення моделювання роботи НВІС

після чергової ітерації синтезу

Крок 17. Відкрити графічний редактор з результатами моделювання (кнопка Open_SCF діалогового вікна системи моделювання, зображеного на рис.4.28). Порівняти отримані результати з результатами, наведеними на рис.4.30.

Рисунок 4.30 — Графічні результати моделювання роботи НВІС після

чергової ітерації синтезу модуля кореляції

Крок 18. Завдання виконане. Закрити всі активні вікна і пакет MAX+plusІІ.

5 ВИМОГИ ДО ОФОРМЛЕННЯ КУРСОВОЇ РОБОТИ

Курсова робота, що подається до захисту на кафедру, складається з:

- проектної документації на дискеті, виконаної в пакеті системи автоматизованого проектування пакета MAX+plusII;

- текстового документу у вигляді звіту про науково-дослідну роботу, виконаного згідно з ДСТУ 3008-95[3].

Відповідальність за прийняті рішення і правильність результатів, представлених в проекті, належить студенту автору-проекту.

Титульний аркуш повинен мати такий вигляд:

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ

УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]