Хмельницький національний університет ПЛАНУВАННЯ ТА ПРОЕКТУВАННЯ ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ ЧАСТИНА 1 Методичні вказівки до лабораторних робіт для студентів напряму підготовки “Телекомунікації та радіотехніка” Затверджено на засіданні кафедри Телекомунікацій та комп’ютерно-інтегрованих технологій Протокол № 1 від 30.08.2017 Хмельницький 2017 Планування та проектування телекомунікаційних систем. Частина 1. Методичні вказівки до лабораторних робіт (для студентів напряму підготовки "Телекомунікації та радіотехніка") / Петрушак В.С.– Хмельницький: ХНУ, 2017.– 50 с. Укладач: Петрушак В. С., канд. техн. наук, доц. Відповідальний за випуск: Мартинюк В. В., д-р техн. наук, доц. Редактор-коректор: Комп’ютерна верстка: Макетування здійснено редакційно-видавничим центром Хмельницького національного університету (м. Хмельницький, вул. Інститутська, 7/1). Підп. © ХНУ, 2017 Вступ Широке впровадження радіотехніки в усі сфери людської діяльності, що спостерігається в даний час, пред'являє все більш жорсткі вимоги до виробів електронної техніки. Це пов'язано, з одного боку, зі зростанням важливості і складності розв'язуваних задач, а, з іншого боку, необхідністю поліпшення таких характеристик, як швидкодія, надійність, споживана потужність, габарити, вартість та інше. Одним з шляхів вирішення даної проблеми є широке використання програмувальних логічних інтегральних схем (ПЛІС - Programmable Logic Devices - PLDs). ПЛІС являють собою нову елементну базу, що володіє гнучкістю замовлених ВІС і доступністю традиційної "твердої" логіки. Головною відмітною властивістю ПЛІС, на відміну від ―жорсткої‖ логіки, є можливість настроювання на виконання заданих функцій самим користувачем. Сучасні ПЛІС характеризуються низькою вартістю, високою швидкодією, значними функціональними можливостями, багаторазовістю перепрограмування, низкою споживаною потужністю й інше. При цьому час розробки на основі ПЛІС навіть досить складних проектів може складати усього кілька годин. Власно кажучи, розробка пристроїв на основі ПЛІС являє собою нову технологію проектування електронних схем, включаючи їх виготовлення і супроводження. Доказом перспективності нової елементної бази служить щорічна поява нових поколінь ПЛІС, а також постійно зростаючий обсяг випуску вже розроблених ПЛІС. Істотною перешкодою широкого практичного використання ПЛІС є відсутність ефективних методів синтезу. Справа в тому, що в основу архітектури сучасних ПЛІС покладена структура програмувальних логічних матриць (ПЛМ — Programmable Array Logics — PALs), що являє собою пари матриць: І й АБО, у якій програмується матриця І, а матриця АБО має фіксоване положення. Методи й алгоритми синтезу на такій структурі одержали назву двухуровнего синтезу і бурхливо розвивалися в 80-х роках. З часом інтерес дослідників на багато років залучив багаторівневий синтез, використовуваний при проектуванні цифрових систем на основі FPGA (Field Programmable Gate Array). В останні роки спостерігається явне протиріччя: архітектури ПЛІС бурхливо розвиваються й удосконалюються, а методи проектування на їх основі залишаються без зміни. Інтегроване середовище MAX+PLUS II фірми Altera пропонує повний спектр можливостей логічного дизайну: різноманітні засоби опису проектів з ієрархічною структурою, потужний логічний синтез, компіляцію з заданими часовими параметрами, розподілення на підпрограми основного проекту, функціональне і часове тестування (симуляцію), тестування декількох взаємопов’язаних властивостей, аналіз часових параметрів системи, автоматичну локалізацію помилок, а також програмування і верифікацію помилок. Методичні вказівки призначені для студентів напряму підготовки ―Телекомунікації та радіотехніка‖ денної форми навчання галузі знань ―Електроніка та телекомунікації‖. Кожна лабораторна робота виконується в три етапи: – поза аудиторна самостійна теоретична попередня підготовка; – виконання роботи в лабораторії; – захист роботи. Лабораторні роботи виконуються за вказівкою викладача на персональних комп’ютерах в програмі MAX+PLUS II фірми Altera. Перед виконанням кожної роботи перевіряється підготовленість студентів методом опитування. Робота вважається закінченою після перегляду і затвердження виконаного завдання викладачем і зарахованою після захисту. Захист лабораторної роботи відбувається шляхом виконання контрольного завдання. Оцінка ―відмінно‖ виставляється студенту, який повністю виконав поставленні завдання і без помилок виконав контрольне завдання до лабораторної роботи. Глибоко засвоїв матеріал теми лабораторної роботи, та вміє його раціонально застосувати. Студент не повинен вагатися при видозміні запитання, повинен робити детальні та узагальнюючі висновки. Оцінку ―добре‖ отримує студент, який повністю виконав поставленні завдання і з двома-трьома помилками виконав контрольне завдання до лабораторної роботи. Оцінки ―задовільно‖, заслуговує студент який виконав поставленні завдання, але отримані знання і набуті практичні навички відповідають мінімальним критеріям оцінювання. Оцінка ―незадовільно‖, виставляється студенту за невиконання і нерозуміння навчального матеріалу і передбачає повторне навчання студента з дисципліни. Лабораторна робота 1 Проектування схем телекомунікаційних систем на базових елементах в середовищі MAX+plus II Мета: Ознайомлення з вікном менеджера пакета, з вікном графічного редактора пакета програмного середовища MAX+plus II Baseline. Теоретичні відомості Після запуска пакета MAX+plus II активізується вікно менеджера пакета (рис. 1.1). Title Bar Menu Tool Bar Application Workspace Status Bar Рис.1.1. Вікно менеджера пакета Елементи вікна: Рядок заголовку (Title Bar) відображає назву пакета (MAX+plus II), повний шлях до папки з текучим проектом та ім’я текучого проекта. Меню команд (Menu). Рядок інструментів (Tool Bar) містить графічні позначення (ікони) найбільш часто використовуваних функцій пакета. Рядок інструментів може бути виключений командою Preferences → Show Tool Bar меню Options. Робоча область додатків пакета (Application Workspace). Рядок стану (Status Bar) містить опис іконки, на яку вказує курсор. Рядок стану може бути виключений командою Preferences → Show Status Bar меню Options. Для виходу з пакета може бути використана команда Exit MAX+plus II меню File. Опис іконок рядка інструментів наведено в табл.1.1. Іконки вікна менеджера пакета є загальними для всіх додатків пакета. При цьому кажний додаток може розширити набір доступних користувачу іконок. Таблиця 1.1 Іконка Опис Створити новий файл Зберегти файл Вирізати Іконка Опис Відкрити існуючий файл Надрукувати файл Копіювати Вставити Вімінити останню дію Отримати підказку по будьякому об’єкту або слову Відкрити вікно з ієрархичним відображенням текучого проекта Відкрити вікно компілятора Відкрити редактор разведення СВІС Відкрити окно системи моделювання Відкрити вікно системи програмування СВІС Задати ім’я проекта Зберегти всі відкриті файли з описом проекта і здійснити його лексичний аналіз (запускається компілятор) Зберегти файл с описом часової діаграми і здійснити моделювання (запускається система моделювання) Відкрити вікно часвого аналізатора Об’явити файл проектом Відкрити файл верхнього рівня в ієрархії описів проекта Зберегти все відкриті файли з описом проекта і здійснити його компіляцію (запускається компілятор) Рядок меню менеджера пакета містить наступні команди: MAX+plus II ― відкриває меню, що дозволяє запускати будь-який додаток пакета; File ― відкриває меню роботи з файлами; Assign ― відкриває меню призначень проекта; Options ― відкриває меню опцій менеджера; Help ― відкриває меню допомоги. Вікно графічного редактора представлено на рис. 1.2. Рис. 1.2. Вікно графічного редактора В лівій частині вікна знаходяться іконки інструментів редактора. Їх опис наведено в табл. 1.2. Таблиця 1.2 Іконка Призначення Вибір, переміщення, копіювання об’єкта (Selection Tool) Ввід ортогональних ліній (Orthogonal Line Tool) Ввід дуг (Arc Tool) Збільшення зображення (Zoom In button) Відображення у вікні редактора всього листа (Fit in Window button) Включення режима, що забезпечує нерозривність кіл (шин) (Rubberbanding On button) Іконка Призначення Ввід текста (Text Tool) Ввід ліній з довільним кутом (Diagonal Line Tool) Ввід кола (Circle Tool) Зменшення зображення (Zoom Out button) Установка вузлів з’єднання кіл (Toggle Connection Dot button) Виключення режима, що забезпечує нерозривність кіл (шин) (Rubberbanding OFF button) Набір команд В графічному редакторі базовий набір команд в рядку меню, визначений для менеджера пакета, розширений за рахунок наступних команд: Edit — відкриває меню редагування; View — відкриває меню управління відображенням схеми; Symbol — відкриває меню управління вводом символів; Utilities — відкриває меню утиліт; Window — відкриває меню управління вікнами. Ввід схеми Елементами схеми, що вводиться в графічному редакторі пакету є: символи; кола (шини), що з’єднують входи і виходи символів. Символами є: Базові примітиви пакета (папка — <Drive>:\maxplus2\max2lib\prim). Непараметризовані модулі (макрофункції), в том числі библиотека елементів середнього ступення інтеграції (папка <Drive>:\maxplus2\max2lib\mf). Параметризовані модулі та мегафункції (папка <Drive>:\maxplus2\max2lib\mega_lpm). Створені користувачем модулі (розташовані в робочій папці проекта). При вводі схеми користувач реалізує наступні процедури: ввід символів; видалення елементів схеми; переміщення елементів схеми; копіювання елементів схеми; з’єднання елементів схеми; найменування елементів схеми. Будь-яка схема обов’язково має містити хоча б один примітив INPUT і хоча б один примітив OUTPUT, що задають вхід і вихід схеми. Розглянемо процедури, які реалізуть під час вводу схеми. Ввід символа 1. Вибрати команду Enter Symbol меню Symbol. Дана команда активізується автоматично при подвійному кліку по лівій кнопці маніпулятора в рабочій зоні редактора. 2. Задати ім’я символа, що вводиться у вікні Enter Symbol(рис.3) одним із наступних способів: - ввести ім’я символа в рядку Symbol Name; - вибрати символ створеного вами модуля із вікна Symbol Files; - вибрати бібліотечний символ, використвуючи вікно Symbol Libraries і вікно Symbol Files. 3. Підтвердити вибір (кнопка ОК). Рис. 1.3. Вікно Enter Symbol При вводі символа параметризованого модуля відображаєтся діалогове вікно налаштування модуля (Edit Ports/Parameters). Опис модуля можно отримати, активізувавши кнопку Help вікна налаштування. В залежності від того, включена чи ні опція Show Parameters меню Options, символ параметризованого модуля буде відображатися або з вікном введених параметрів (рис. 1.4), або без нього. Якщо символ відображається з вікном параметрів, то для редагування параметрів необхідно: помістити курсор у вікне параметрів; подвійним клацанням по лівій кнопці маніпулятора активізувати діалогове вікно налаштування модуля; здійснити редагування і підтвердити внесені зміни (кнопка ОК). Якщл символ відображається без вікна параметрів, то для редагування параметрів необхідно: помістити курсор на тіло модуля; клацанням правою кнопкою маніпулятора визвати контекстно-залежне меню; вибрати команду Parameters, що активізує діалогове вікно налаштування модуля; здійснити редагування і підтвердити внесені зміни (кнопка ОК). Рис. 1.4. Символ параметризованого модуля з вікном введених параметрів З’єднання виводів символів: 1. Підвести курсор до виводу символа. 2. Натиснути ліву кнопку маніпулятора і, утримуючи її, провести лінію до іншого, вивода що з’єднується. 3. Відпустити ліву кнопку маніпулятора. Якщо не можливо за один прийом провести лінію, що з’днує виводи, то можливо зробити наступне: 1. Провести ділянку лінії. 2. З’єднати кінець лінії з необхідним виводом по описаній вище процедурі, або провести ще одну ділянку лінії і т.д. З’єднання виводів символів можна здійснити або за допомогою кіл (тонка неперервна лінія), або шин (широка неперервна лінія). Тип лінії вибирається редактором автоматично в залежності від типу виводів, що з’єднуються. Проте він може бути заданий і вручну за помогою команди Line Style меню Options (рис. 1.5). Рис. 1.5. Меню Options З’єднання кіл (шин) Пакет дозволяє здійснити як графічне з’єднання кіл (шин), так і з’єднання по іменам. Графічне з’єднання Якщо до існуючого кола (шини) необхідно підєднати коло (шину), то від введеного кінця цього кола (шини) проводять лінію до тіла існуючого кола (шини). При цьому автоматично формирується вузол, що відповідає місцю з’єднання кіл (шин). Якщо проведена лінія пройде через існуюче коло (шину), то такі кола будуть перехрещені, але не з’єднані. Відповідно, вузла, що відповідає місцю з’єднання, не буде (рис. 1.6). Рис. 1.6. Перехрещені кола З’єднання по іменам Два кола (шини) можна важати з’єднаними, якщо вони мають однакові імена. З’єднання по іменам — зручний спосіб вводу довгих кіл з розгалудженими з’єднанями (рис. 1.7). Рис. 1.7. З’єднання по іменам Найменування примітивів INPUT (OUTPUT) Все примітиви INPUT і OUTPUT, що використовуються в схемі мають мати унікальні імена, що є іменами входів і виходів схеми. Введення імені: 1. Помістити курсор в зону імені виводу (т. е. на текст «PIN_NAME») і вибрати цю зону подвійним клацанням по лівій клавіші маніпулятора. 2. Ввести на клавіатуре ім’я виводу. (Старе ім’я буде автоматично стерте). 3. Натиснути кнопку Enter на клавіатурі. (Якщо існує інший примітив типа INPUT або OUTPUT, разташований нижче даного примітиву, то у нього буде автоматично вибрана зона імені). Редагування імені: 1. Помістити курсор в зону імені вивода і вибрати цю зону подвійним клацанням по лівій клавіші маніпулятора. 2. Використовуючи клавіші ← (→) клавіатури, підвести курсор до символу, що редагується. 3. Після закінчення редагуванния натиснути клавішу Enter клавіатури. Найменування кіл (шин) Введення імені: 1. Вибрати коло (шину). Помістити курсор на тіло кола (шини) і клацнути по лівій клавіші маніпулятора. Вибране коло (шина) буде мати красний контур. 2. Ввести ім’я кола. 3. Натиснути клавішу Enter на клавіатурі. Редагування імені: 1. Помістити курсор в зону імені, що редагується і подвійним клацанням по лівій клавіші маніпулятора вибрати цю зону. 2. Використовуючи клавіші ← (→) клавіатури, підвести курсор до редагованого символу. 3. Після закінчення редагування натиснути клавішу Enter клавіатури. Видалення, переміщення, копіювання імен кіл (шин) здійснюється так само, як і інших елементів схеми. Порядок виконання роботи 1. 2. 3. 4. З додатку А вибрати свій варіант (таб.А1) та розробити схему тригера (рис.А1, А2). Запустити оболонку пакета та з меню Max+plus ІІ запустити графічний редактор Graphic Editor. У вікні, що відкрилося, починаємо будувати схему з базових символів, що доступні через пункт меню Symbol->Enter Symbol. При вставці символу необхідно вибрати бібліотеку символів і сам елемент з вікна, що відкрилося (рис. 1.8). Рис. 1.8. 5. 6. 7. Використовуючи провідники (доступні після натискання передостанньої кнопки на панелі ліворуч) з'єднуємо елементи в схему. Після створення схеми вказуємо, що даний файл і складає основу проекту. Для цього вибираємо меню File->Project->Set Project to Current File і зберігаємо проект, задавши при цьому шлях до нього та ім'я файлу в якому буде зберігається створений проект. Обираємо пристрої на якому буде реалізовуватися проект. Для цього через меню властивостей кожного об'єкта, що доступне за кліком правої кнопки миші, при виділеному об'єкті входимо в меню Assign>Pin/Location/Chip і задаємо сімейство ПЛИС у цьому випадку це МАХ3000A і вибираємо назву мікросхеми даного сімейства (рис.1.9). Рис. 1.9. 8. 9. 10. 11. 12. 13. Після того, як схема буде зібрана необхідно виконати процес компіляції для цього з панелі кнопок угорі вибираємо «Compiler». Ознакою успішної компіляції є повідомлення про відсутність помилок. При наявності помилок їх необхідно усунути й повторити компіляцію проекту. Для створення тестових векторів впливів запускаємо редактор Waveform Editor з меню File та графічно задаємо сигнали на всі входи схеми. При створенні сигналів можна регулювати розмір кроку часової шкали (Option->grid size) і сам розмір шкали (File->End time). Кнопкою меню запускаємо тестування проекту. З додатку Б вибрати свій варіант (таб.Б1) та розробити схему тригера (рис.Б1, А1, А2). Повторити пункти з 2 по 10. Скласти звіт, в якому навести: тему, мету, варіант завдання, схеми, осцилограми і висновки. Література: [11 с. 115–167] Лабораторна робота №2 "Проектування схеми телекомунікаційних систем з використанням булевих виразів в середовищі САПР MAX+PLUS II" Мета: Навчитись проектувати схеми телекомунікаційних систем з використанням булевих виразів в середовищі САПР MAX+PLUS II Теоретичні відомості Процедура розработки нового проекта (project) починаєтся зі вказівки імені файла проекта верхнього рівня (Top of hierarchy) в якості імені проекта (Project name). Для вказівки імені файла проекта верхнього рівня необхідно вибрати Project із меню File. При натискані на Project відкривається вікно зі списком команд. Тут небхідно вибрати пункт Name. Ця команда вікриває вікно діалога Project Name (рис 2.1). Вікно вводу імені проекта Місце розташування проекта Диск для проекта Рис. 2.1. Створення нового проекта Тут необхідно викнати наступне: ─ вибрати місце розташування проекта, що створюється; ─ вказать ім’я проекта. В результаті цього у вибраній папці створюється файл призначеннь і конфігурації з розширенням .acf. В цьому файлі є всі типи призначень ресурсів, зондів (Probes) і пристроїв (Devices) і конфігураційні установки (Assign) для компілятора, симулятора і часового аналізатора. Проектування цифрового пристрою починається зі створення нового файла (design file) проекта або ієрархічної структури декількох файлів проекта з використанням редакторів розробки проекта в системі MAX+plus II, тобто графічного, текстового і сигнального редакторів. Зпроектуємо пристрій заданий булевим виразом: A B C D A B C D A B C D A B C D . A B C D A B C D A B C D Y Щоб спроектувати даний пристрій, використаємо стандартні логічні елементи: чотири елемента NOT, сім елементів AND і один елемент OR. Так як в бібліотеці прімітивів MAX+plus II немає семивходового елемента OR створимо його самі, викорситовуючи MegaWizard Plug-In Manager. Вибираємо MegaWizard Plug-In Manager з меню File. В вікні, що з’явилося необхідно поставити галочку напроти Create a new custom megafunction variation і натиснути Next. Створення нової мегафункції Редагування існуючої мегафункції Рис. 2.2. Перший крок при створені мегафункції В наступному вікні необхідно вибрати мегафункцію, на базі якої буде створено новий елемент, мову опису вихідного файла і його ім’я. Виберемо в розділі Схеми (Gates) мегафункцію LPM_OR і вихідний файл – AHDL. Назвемо мегафункцію or7. Тип опису вихідного файла Перелік доступних мегафункцій Ім’я мегафункції, що створюється Рис. 2.3 – Другий крок в створені мегафункції Натиснувши Next – попадаємо на третю сторінку створення мегафункції. Кількість входів для даних Відображення виводів як шин Ширина вхідних даних Установка мінімальних розмірів символа Рис. 2.4. Третій крок в створенні мегафункції В цьому вікні необхідно вибрати кількість входів для даних, ширину вхідних даних (в бітах), а також можливо задати відображенн виводів у вигляді шин і зробити розміри символа якомога меншими. Вкажемо кількість входів – 7, ширину вхідних даних – 1 біт. Натиснувши на кнопку Finish – завершимо створення мегафункції. Якщо натиснути на Next, то можно побачити які файли були створенні для даної мегафункції і закінчити роботу. Тепер рисуємо принципову схему в графічному редакторі Graphic Editor MAX+plus II. Виходячи з наведеного булевого виразу маємо схему (рис. 2.5). Рис. 2.5. Принципова схема пристрою Запускаємо Graphic Editor з меню MAX+plus II. Рисуємо принципову схему, використовуючи бібліотеку символів MAX+plus II, яка відкривається за подвійним натисканням лівої кнопки маніпуляторпа (рис. 2.6). Бібліотеки символів Ім’я символа Менеджер створення нового символа Доступні символи Рис. 2.6. Вибір символів В результаті отримуємо графічний файл проекта project.gdf (рис. 2.7). Рис. 2.7. Окно графического редактора со схемой Коли схема вже нарисована, можно подавати на її входи тестові сигнали. Подамо сигнали у відповідності з таблицею істинності, отриманої з булевого виразу. Таблиця 2.1 – Таблиця істиності D 0 0 0 Входи C 0 0 0 B 0 0 1 A 0 1 0 Вихід Y 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 Використовучи сигнальний редактор (Waveform Editor) MAX+plus II задамо вхідні сигнали (A, B, C, D) і позначимо вихід схеми (Y) (рис. 2.8). Рис. 2.8. Вікно сигнального редактора зі вхідними сигналами Таким чином ми задалися вхідними даними. Тепер можно почати процес реалізації даного пристрою на ПЛІС фірми Altera. Спочатку виконаємо компіляцію проекта. Для цього виберемо на інструментальній панелі піктограму Compiler. В компіляторі, в меню Processing необхідно вибрати пункт Generate AHDL TDO File, щоб сформувати AHDL опис. Натиснувши кнопку Start, запускаємо компіляцію. По закінченню компіляції можно побачити які файли були зформованні, яке сімейство і конкретний пристрій були вибрані автоматично. Також виводиться повідомлення про успішне прохождення компіляції (рис. 2.9). Рис. 2.9. Компіляція проекта Компілятор генерує файл звіту (.rpt) (report file), в якому задокументована інформація про розбиття проекта, іменах вхідних і вихідних контактів, часових параметрах проектах і невикористаних ресурсах для кожного пристрою в проекті. Він також автоматично формує файл трасування (.fit). В ньому документуються призначення ресурсів і пристроїв для всього проекта, а також інформація про трасування. Компілятор створює файл (.snf) для функціонального тестування і тестування часових параметрів у симуляторі. Далі необхідно зайнятися верифікацією проекта. Для цього використовуємо симулятор (Simulator), аналізатор часових параметрів (Timing Analizer) і сигнальний редактор (Waveform Editor). Щоб узнати часові затримки сигналу під час прохождення від входу до виходу використовуємо аналізатор часових параметрів, який запускається піктограмою з інструментальної панелі. Рис. 2.10 Завершення часового аналіза Симулятор запускається шляхом вибору на інструментальній панелі піктограми ―Simulator‖. Отриманий в процесі компіляції файл SNF завантажується автоматично під час відкривання симулятора. В якості джерела вхідних векторів використовується графічний сигнальний файл каналів тестування – Simulator Channel File (.scf), створений в сигнальному редакторі. Натиснувши ―Start‖ – здійснемо тестування логічних операцій і внутрішню синхронизацію проекта. Рис. 2.11. Завершення симуляції Після завершення симуляції проекта відкриємо файл SCF кнопкою Open SCF. Рис. 2.12. Змодельовані значення вихідного сигналу Вибравши в меню File команду Create Table File можна сформувати табличний файл, що містить результати моделювання, з росширенням .tbl, який можна переглядати в текстовому редакторі. Порівнявши параметри вихідного сигналу з таблицею істиності, можна робити висновок про те, що пристрій, реалізований на ПЛІС Altera сімейства MAX7000, працює правильно. 1. 2. 3. 4. Порядок виконання роботи Спроектувати, зкомпілювати і просимулювати пристрій описаний в теоретичних відомостях. З додатку В вибрати свій варіант (таб.В1) і у відповідності до булевого виразу побудувати схему в графічному редакторі Graphic Editor. Здійснити компіляцію і симуляцію проекта на ПЛІС зі створенням всіх необхідних файлів. З додатку В вибрати свій варіант схеми пристрою (рис.В1-В10) і у відповідності до булевих виразів (таб.В2) побудувати схему в графічному редакторі Graphic Editor. Здійснити компіляцію і симуляцію проекта на ПЛІС зі створенням всіх необхідних файлів. Скласти звіт, в якому навести: тему, мету, варіанти завдань, схеми, осцилограми і висновки. Література: [11 с. 115–167] Лабораторна робота №3 "Проектування схем телекомунікаційних систем на тригерах в середовищі САПР MAX+PLUS II" Мета: Навчитись проектувати схеми телекомунікаційних систем на тригерах в середовищі САПР MAX+PLUS II Теоретичні відомості Спроектуємо схему на одному D-тригері і перевіримо її роботу на симуляторі. Після запуску MAX+PLUS II вибираємо File->New. У вікні (рис.3.1), що відкрилося вибираємо Graphic Editor file. Рис. 3.1. Після чого з’являється вікно графічного редактора. Два рази клікаємо в середині цього вікна. З’являється віконце Enter Symbol (рис. 3.2). Рис. 3.2. У вікні Symbol Name вказуємо dff і натискаємо ОК. Після чого з’являється синхронний D-тригер (рис. 3.3). Рис. 3.3. Синхронний D-тригер Синхронний D-тригер має наступні виводи: D – синхронний вхід даних, стан на якому записується по фронту тактового сигналу. CLK – вхід тактового сигналу. PRN – асинхронна установка тригера. CLRN – асинхронне скидання. Q – вихід тригера. Створимо на основі D-тригера схему формувача коротких імпульсів (рис. 3.4.). Рис. 3.4. Формувач коротких імпульсів Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.5). Рис. 3.5. Осцилограми роботи формувача коротких імпульсів На основі формувача коротких імпульсів створимо помножувач частоти на 2 (рис. 3.6). Рис. 3.6. Помножувач частоти на 2 Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.7). Рис. 3.7. Осцилограми роботи помножувача частоти на 2 Створимо на основі D-тригера схему фазового детектора (рис. 3.8.). Рис. 3.8. Фазовий детектор Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.9). Рис. 3.9. Осцилограми роботи фазового детектора Створимо на основі D-тригера схему подільника на 2 (рис. 3.10.). Рис. 3.10. Подільник на 2 Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.11). Рис. 3.11. Осцилограми роботи подільника на 2 Створимо 4-х розрядний лічильник, схема якого представлена на рис. 3.12. Рис. 3.12. 4-х розрядний лічильник Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.13). Рис. 3.13. Осцилограми роботи 4-х розрядного лічильника В даній схемі кожен тригер вносить свою затримку – в результаті послідовного з’єднання ці затримки підсумовуються. Для того щоб всі тригери спрацьовували одночасно нарисуємо іншу схему (рис. 3.14), яка представляє собою 4-х розрядний паралельний регістр. Рис. 3.14. 4-х розрядний паралельний регістр Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.15). Рис. 3.15. Осцилограми роботи 4-х розрядного паралельного регістра Спроектуємо на основі D-тригерів 4-х розрядний генератор псевдовипадкової послідовності (рис.3.16). Рис. 3.16. 4-х розрядний генератор псевдовипадкової послідовності Зберігаємо, компілюємо і здійснюємо симуляцію (рис. 3.17). Рис. 3.17. Осцилограми роботи 4-х розрядного генератора псевдовипадкової послідовності 1. 2. 3. 4. 5. Порядок виконання роботи Спроектувати, зкомпілювати і просимулювати всі пристрої, що описано в теоретичних відомостях. Спроектувати, зкомпілювати і просимулювати N розрядний лічильник, де N=4+H, а Н – це ваш номер в списку групи. Спроектувати, зкомпілювати і просимулювати N розрядний паралельний регістр. Спроектувати, зкомпілювати і просимулювати N розрядний генератора псевдовипадкової послідовності. Елемент XOR створити за допомогою MegaWizard Plug-In Manager. Скласти звіт, в якому навести: тему, мету, варіанти завдань, схеми, осцилограми і висновки. Література: [11 с. 115–167] Лабораторна робота №4 "Проектування частотного перетворювача для телекомунікаційних систем в середовищі САПР MAX+PLUS II з використанням мегафункцій" Мета: Навчитись проектувати частотний перетворювач телекомунікаційних систем в середовищі САПР MAX+PLUS використанням мегафункцій. для II з Теоретичні відомості Всі мегафункції MAX+PLUS II знаходяться в каталозі mega_lpm. Для запуску потрібної мегафункції необхідно відкрити вікно Enter symbol. В меню Symbols Files вибрати необхідну мегафункцію. Вказати необхідні параметри у вікні Edit Ports/Parameters (рис. 4.1). Рис. 4.1. Вікно параметрів мегафункції Виберемо мегафункцію LPM_COUNTER і зпроектуємо на її основі лічильник (рис.4.2). Рис. 4.2. Лічильник Рис. 4.3. Осцилограми роботи лічильника Розглянемо ще одну мегафункцію divide. Дана мегафункція здійснює операцію ділення. Тут numerator – чисельник, denominator – знаменник, quotient – ціле, remainder – остача. Використовуючи мегафункцію divide створемо дільник (рис. 4.4), задавши наступні параметри: LPM_PIPELINE = 0; WIDTH_D=8; WIDTH_D_MIN=5; WIDTH_N=8; WIDTH_Q=4; WIDTH_R=8. Рис. 4.4. Дільник Рис. 4.5. Осцилограми роботи дільника Спроектуємо схему перетворювача частоти використовуючи мегафункцію лічильника і дільника (рис. 4.6). Для лічильника задати наступні параметри: LPM_AVALUE= <none>; LPM_DIRECTION= "DEFAULT"; LPM_MODULUS=0; LPM_SVALUE=<none>; LPM_WIDTH=16. Для дільника задати наступні параметри: LPM_PIPELINE = 0; WIDTH_D=16; WIDTH_D_MIN=9; WIDTH_N=16; WIDTH_Q=8; WIDTH_R=16. Рис. 4.6. Перетворювач частоти Рис. 4.7. Осцилограми роботи перетворювача частоти Порядок виконання роботи 1. Спроектувати, зкомпілювати і просимулювати всі пристрої, що описано в теоретичних відомостях. 2. Спроектувати, зкомпілювати і просимулювати N розрядний лічильник, де N=4+H, а Н – це ваш номер в списку групи. 3. Спроектувати, зкомпілювати і просимулювати N розрядний дільник, параметр дільника WIDTH_D_MIN розрахувати за формулою: WIDTH_D_MIN= WIDTH_N -WIDTH_Q +1. 4. Для спроектованого перетворювача частоти задайте вхідні сигнали у вигляді послідовностей прямокутних імпульсів з періодом (То=100мкс, Тх=10мкс, 15мкс, 23мкс, 42мкс, 56мкс, 89мкс) і відобразіть всі вихідні сигнали. 5. Модернізуйте схему змінивши розрядність лічильників і дільника (8, 12, 20, 24 розряди) задавши WIDTH_Q=4; WIDTH_N=(8, 12, 20, 24 ). 6. Скласти звіт, в якому навести: тему, мету, варіанти завдань, схеми, осцилограми і висновки. Література: [11 с. 115–167] Лабораторна робота №5 "Проектування фазочастотного перетворювача для телекомунікаційних систем в середовищі САПР MAX+PLUS II з використанням мегафункції" Мета: Навчитись проектувати фазочастотний перетворювач для телекомунікаційних систем в середовищі САПР MAX+PLUS II з використанням мегафункції. Теоретичні відомості Фазочастотний перетворювач призначений для вимірювання фазових зсувів більше 360˚. До складу фазочастотного перетворювача входить: реверсивний лічильник фазових циклів, частотний компаратор і фазометр миттєвих значень. Принцип дії фазочастотного перетворювача наступний. Послідовності прямокутних імпульсів надходять на вхід реверсивного лічильника фазових циклів і частотного компаратора. На виході реверсивного лічильника фазових циклів отримуємо кількість цілих фазових циклів рівних 2 , яка відповідає цілій частині повного фазового зсуву. Коли миттєві значення частот будуть однакові, тоді ці сигнали будуть надходити на вхід миттєвого фазометра. Миттєвий фазометр буде визначати миттєве значення фазового зсуву в межах фазового циклу 0;2 , яке відповідає дробовій частині повного фазового зсуву за кожний період сигналу. Рис. 5.1. Структурна схема фазочастотного перетворювача Спроектуємо на основі мегафункції LPM_COUNTER фазометр миттєвих значень (рис. 5.2 - 5.3). Рис. 5.2. Фазометр миттєвих значень Рис. 5.3. Осцилограми роботи фазометра миттєвих значень Спроектуємо частотний компаратор (рис. 5.4 - 5.6). Рис. 5.4. Частотний компаратор Рис. 5.5. Осцилограми роботи частотного компаратора Рис. 5.6. Лічильник Джонсона Спроектуємо на основі мегафункції LPM_COUNTER реверсивний лічильник фазових циклів (рис. 5.7 - 5.8). Рис. 5.7. Реверсивний лічильник фазових циклів Рис. 5.8. Осцилограми роботи реверсивного лічильника фазових циклів Повна схема фазочастотного перетворювача і його осцилограми представлені на рис. 5.9 – 5.10. Рис. 5.9. Фазочастотний перетворювач Рис. 5.10. Осцилограми роботи фазочастотного перетворювача 1. 2. 3. Порядок виконання роботи Спроектувати, зкомпілювати і просимулювати всі пристрої, що описано в теоретичних відомостях. Модернізуйте схему фазочастотного перетворювача змінивши розрядність лічильників LPM_WIDTH=N, де N=4+H, а Н – це ваш номер в списку групи. Скласти звіт, в якому навести: тему, мету, варіанти завдань, схеми, осцилограми і висновки. Література: [11 с. 115–167] Лабораторна робота №6 "Програмування схем телекомунікаційних систем на ПЛІС серії MAX II" Мета: Навчитись програмувати схеми телекомунікаційних систем на ПЛІС серії MAX II. Теоретичні відомості Після розробки та відлагодження схеми можна приступати до її апаратної реалізації. Апаратна реалізації потребує виконання наступних кроків: 1. Експорт схеми в середовище Quartus (для ПЛІС серії: Cyclone, Stratix, MAX II і вище). 2. Назначення виводів схеми відповідним виводам ПЛІС. 3. Програмування ПЛІС. Для апаратної реалізації раніше розроблених схем краще скористатися відлагоджувальною платою (development board). Перевагою таких плат є: 1. Заздалегідь запаяна ПЛІС відповідної серії. 2. Наявність додаткових схем (керування, індикації прийому/передачі даних, генератор тактових імпульсів). 3. Стандартний інтерфейс програмування. Скористаємося стандартною платою фірми Altera: MAX II Development board, яка представлена на рис. 6.1. Рис. 6.1. Відлагоджувальна плата MAX II Development board На платі MAX II Development board встановлено: 1. ПЛІС серії MAX IІ EPM1270F256C5. 2. Генератор тактових імпульсів з частотою 64 МГц. 3. Дво рядковий рідинно-кристалічний індикатор на 16 символів. 4. 4 кнопки керування. 5. 4 світлодіоди для відображення інформації. 6. Давач температури. 7. Мікросхема статичної пам’яті. 8. USB інтерфейс. 9. PCI інтерфейс. 10. Стандартний інтерфейс програмування. Структурна схема плати MAX II Development board представлена на рис. 6.2. Рис. 6.2. Структурна схема плати MAX II Development board Оскільки попередні схеми розроблялись в середовищі САПР MAX+plus II, яке не підтримує ПЛІС серії MAX II, то необхідно експортувати схему в середовище САПР Quartus. Для прикладу візьмемо схему представлену на рис. 6.3. Для експорту необхідно: 1. Запустити САПР Quartus. 2. З меню File вибрати команду Convert MAX+PLUS II Project… 3. У вікні Convert MAX+PLUS II Project вказати шлях до файлу схеми і натиснути ОК. 4. У вікні Project Navigator вибрати файл схеми і двічі по ньому клацнути лівою клавішою миші. 5. З меню Assignments вибрати команду Device… 6. У вікні Settings вибрати сімейство МАХ ІІ і ПЛІС ЕРМ1270F256C5 7. та натиснути кнопку ОК. З меню Processing вибрати команду Start Compilation і зкомпілювати проект. A Y A N Y B NA2 A A Y A N B x2 B Y C Y y4 Y y2 Y y1 Y y3 C D NAO3 D NAOA2 x4 A x1 B Y A B NEX2 C D NAO3 x3 A Y B A NO2 N Рис. 6.3. GND Наступним кроком є призначення виводів схеми відповідним виводам ПЛІС. Для цього з меню Assignments вибираємо команду Pin Planner. В результаті відкриється вікно планувальника виводів ПЛІС (рис. 6.4.). Рис. 6.4. Вікно планувальника виводів ПЛІС Підведемо вхідні контакти схеми до виходів кнопок схеми SW1..SW4. Для цього: навпроти Х1 зі спадаючого меню пункту Location вибираємо PIN_M9, навпроти Х2 зі спадаючого меню пункту Location вибираємо PIN_R14, навпроти Х3 зі спадаючого меню пункту Location вибираємо PIN_T15, навпроти Х4 зі спадаючого меню пункту Location вибираємо PIN_R16 так як це показано на рис. 6.5. Рис. 6.5. Розташування вхідних виводів схеми Підведемо вихідні контакти схеми до входів світлодіодів схеми LED1..LED3. Для цього: навпроти Y1 зі спадаючого меню пункту Location вибираємо PIN_T13, навпроти Y2 зі спадаючого меню пункту Location вибираємо PIN_R13, навпроти Y3 зі спадаючого меню пункту Location вибираємо PIN_P13 так як це показано на рис. 6.6. Рис. 6.6. Розташування вихідних виводів схеми Після того як назначені всі виводи ПЛІС можна переходити до процесу програмування. Для цього з меню Tools необхідно вибрати команду Programmer. У вікні, що з’явиться встановити прапорці у пунктах Erase та Blank-Check, так як це показано на рис.6.7., і натиснути кнопку Start. Рис. 6.7. Вікно програматора Порядок виконання роботи У відповідності до свого варіанту завдання (Додаток В) експортувати файл у САПР Quartus, назначити виводи схеми відповідним виводам ПЛІС та запрограмувати її. 2. У відповідності до свого варіанту завдання генератора псевдовипадкової послідовності (л.р.3) експортувати файл у САПР Quartus, назначити виводи схеми відповідним виводам ПЛІС та запрограмувати її. Роботу генератора перевірити осцилографом. Література: [11 с. 535–571] 1. Додаток А Таблиця А1 Параметри Вхід R Вхід S Входи С Вхід D 1 п п п п 2 п і п п 3 п п п 4 і п п п 5 і і п п 6 7 і - п п п п п 8 і п п Варіанти 9 10 11 12 13 - п п п і - п і - п п і і і і п п п п п 14 і і і п 15 16 17 18 19 20 і - - - п п - п і - п і і і і і п п п п п п - - Примітка: тут R – вхід скидання; S – вхід встановлення; C – вхід синхронізації; D – інформаційний вхід; ―і‖ – інверсний, ―п‖ – прямий, ―-‖ – відсутній. Рис. А1. Синхронний RS – трігер Рис. А2. Тактований D – трігер Додаток Б Таблиця Б1. Варіанти завдань Параметри 1 2 3 4 Вхід R(асинхр.) п п п п Вхід С ф с ф с Входи R i S - - - (синхронні) Вхід D - - - Входи J і K п п п п 5 і ф - 6 і с - 7 8 і і ф с - - п п п п - Варіанти 9 10 11 12 13 п п п п і ф с ф с ф - - - - - 14 і с - п - п - п п - - п - п - 15 16 17 18 19 20 і і п п п п ф с ф с ф с п п п п п п - - - - - - Примітка: тут R – вхід скидання; S – вхід скидання; С – вхід синхронізації; D – інформаційний вхід; J і K – входи дозволу переходів 0->1 і 1->0, відповідно; "і" – інверсний, "п"- прямий, "-" – відсутній, "ф" – прямий динамічний, "с"інверсний динамічний. Рис. Б1. JK – трігер тактований фронтом Додаток В Таблиця В1 – Варіанти завдань для самостійної розробки Варіант Булевий вираз f1 = x2 x3 x4 + x1x2x4 + x1x2x3 + x1x2x3 1 2 f1 = (x1+ x2 + x4 )( x2 + x3 + x4 )( x1 + x3 + x4 )( x1 + x3 + x4 ) 3 f1 = x1x3 + x2 x3 + x3 x4 + x1x2 + x1x4 4 f2 = (x1+ x3 )(x1+ x2 + x4 )(x2 + x3 + x4 ) 5 f = x1x2 + x2 x3 + x1x2x3 + x1x2 x3 6 f = x1x2 + x2 x3 + x1x2x3 + x1x2 x3 7 ABCD ABC D ABC D ABCD ABC F 8 ABCD ABCD BCD ABC D ABCD F 9 AB C D ABC ABC D AB CD A B F 10 AB CD A BCD ABC ABC D A BC D F Таблиця В2 – Опис функцій Функція Опис y AB A2 NA2 y AB Функція A3 NA3 Опис y ABC y ABC y A B O3 y ABCD y A B C O2 NO2 y A B NO3 y A B C NO4 y A B C D EX2 y AB AB NEX2 y AB AB NOA2 y A BC NOA3 y A BCD NAO2 y A( B C ) NAO3 y A( B C D) NAO22 y ( A B)(C D) NAOA2 y A( B (CD)) NA3O2 y AB(C D) NO3A2 y A B DC NOAO2 y A B(C D) NMX2 y ( A V )( B V ) NA4 A B y4 Y C D NAO3 A A x2 Y Y B NA2 B A NA2 A B Y Y y3 Y y1 C N A3 x4 A x3 B Y A B C A NA3 Y C N D NAOA2 A A Y B B Y C EX2 Y y2 VCC D NAOA2 x1 Рис. В1 A Y B C NAO3 A B Y C B Y A NAOA2 NMX2 Y A N x3 B A A Y B Y Y y5 C B A B NEX2 Y D NAO3 C NOA2 C NO3 A Y N D V A y1 D A x2 x4 Y C NOA2 x1 y2 A B A Y B N Y C D NO3A2 A B Y Y C A Y D N NAOA2 Рис. В2 GND y4 y3 x3 y1 A B x2 A Y N Y C A D B NO3A2 x1 Y y2 C D x4 A NO3A2 Y N y3 A Y B A EX2 A B Y A N Y B C Y y4 C D A NOA3 Y D N A NAO22 Y N Рис. В3 A B y1 Y C D NOAO2 x2 A A Y B N Y C NA3 A Y N A A B x3 Y A Y N C Y y2 C NA3 A B D NOAO2 Y N y4 x4 A x1 B Y A NA2 B Y C A Y NO2 Рис. В4 D NO4 B y3 A Y y1 B O2 A B Y V NMX2 A B A B A Y Y A C B NA3 Y C N Y C D NOAO2 D NAO22 x1 y4 y3 A A Y B N Y A C B NO3 x4 Y A x3 x2 y2 Y N C D NO3A2 A B Y C D NO4 Рис. В5 x1 A B y2 Y C A x4 D B NOAO2 Y C NA3 A A B B Y y1 Y C NOA2 C Y y4 Y y3 VCC D NA3O2 A Y B A2 x3 A Y A N B x2 A Y N Y B D C NA4 A B A C D NAO3 Y C O3 Рис. В6 A A Y B N A Y y2 Y y1 C NOA2 Y N A A Y N A B B Y D NA3 A Y C C NAO3 Y N x2 x4 A Y B A NO2 x1 A x3 B Y A A Y Y B NO2 B N EX2 y5 NA2 A B A Y Y y4 Y y3 C N A3 GND Рис. В7 A Y N A B Y A B C NOA2 Y C NO3 A Y N A B y1 Y V A NMX2 Y B A NA2 x3 x1 A A Y N A Y y4 C N x2 B Y D NAO22 Y N y2 A x4 A B B A Y Y C D C N A Y NA3 NAO3 Y N A B Y C D NA3O2 Рис. В8 A Y N y3 A B Y A C A B NO3 Y N Y B D C NOA3 A A C Y y5 Y y4 Y y3 D NAO3 Y N GND x4 A A Y A N Y A Y B N B O2 x1 x3 x2 Y C A B NA3 C A3 y2 y1 A Y A N Y N A Y B NO2 A Y N A B Y C A Y N D NOAO2 Рис. В9 A A Y B B Y y4 C NA2 D NAO3 y3 A Y A N A B B A Y Y C N Y C D NAO2 NOAO2 A A Y B N Y C A NOA2 x2 A x1 B Y A B Y B NO2 Y y2 C D EX2 NAO3 A B x3 Y C NA3 x4 A Y A N Y B NO2 Рис. В10 y1 Література Антонов А.П., Язык описания цифровых устройств AlteraHDL. Москва, РадиоСофт, 2002. – 224с. 2. Денисенко Е.Л. Иерархический синтез асинхронных автоматов на программируемых логических интегральных схемах (ПЛИС) с учетом ограничений. М.: УсИМ, 1997. – 476 стр. 3. Осадчий Ю.Ф., Глудкин О.П. Гуров А.И. Аналоговая и цифровая электроника. М.: Горячая линия – телеком, 2000. – 762 стр. 4. Соловьев В.В. Использование программируемых матриц логики при синтезе комбинационных схем. Минск: БГУИР, 1995. – 233 стр. 5. Соловьев В.В., Самаль Д.И. Методы синтеза произвольной логики на программируемых логических устройствах. М.: Автоматика и вычислительная техника, 1997. 561 стр. 6. Соловьев В.В., Васильева А.Г. Программируемые логические интегральные схемы и их применение. Минск: Беларуская навука, 1998. – 270 стр. 7. Соловьев В.В. Проектирование цифровых систем на основе программируемых логических интегральных схем. М.: Горячая линия – телеком, 2001. - 636 стр. 8. Соловьев В.В. Проектирование функциональных узлов цифровых систем на программируемых логических устройствах. Минск: Бестпринт, 1996. - 252 стр. 9. Соловьев В.В. Синтез комбинационных и последовательных схем на программируемых логических устройствах. М.: Горячая линия – телеком, 2001. - 233 стр. 10. Соловьев В.В. Синтез произвольной регистровой логики на программируемых логических устройствах. М.: Горячая линия – телеком, 2000. - 81 стр. 11. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. – Москва: ДОДЭКА, 2007 – 572с. 1.