Мета роботи: - набуття основних навиків створення принципових схем цифрових пристроїв і їх попереднього (функціонального) моделювання засобами схемного редактора САПР програмованих логічних інтегральних схем (ПЛІС) Xilinx Foundation Series.
.
ОСНОВНІ ВІДОМОСТІ
Завантаження Менеджера Проектів САПР
Менеджер Проектів завантажується програмою xilinx.bat, повне ім’я якої: G:\XILINX\ xilinx.bat (якщо інше не вказане викладачем).
Запуск
схемного
редактора
Запуск
існуючого
проекту
Створення
нового
проекту

Рис.1
На Рис.1 показане вікно Менеджера.
Рис.2

Після завантаження Менеджера Проектів необхідно створити новий проект. Для цього вибирають команду File - New Project (Ctrl+N) головного меню, або натискають кнопку панелі інструментів (див. Рис.1). При цьому система подає діалогове вікно, показане на Рис.2. В цьому вікні необхідно задати ім’я проекту (у вікні Name). Шлях, запропонований за замовчуванням у вікні Directory змінювати не потрібно. Всі інші дані (тип САПР, серію ПЛІС і тип корпусу мікросхеми, швидкодію (в наносекундах на функціональний генератор), спосіб задання схеми (схематично чи на мові проектування високого рівня)) потрібно виставити так, як це показано на Рис.2 (для визначеності). Після цього потрібно натиснути кнопку OK. При цьому система в робочій директорії PROJECTS створює файл з розширенням .pdf і ім’ям, яке збігається із заданою назвою проекту. В цьому файлі системою прописується структура і основні параметри створеного проекту. Крім того в директорії PROJECTS створюється робоча піддиректорія з ім’ям створеного проекту. В ній системою будуть розміщені файли, що відносяться до даного проекту. Наступний крок - реалізація засобами схемного редактора принципової схеми цифрового пристрою.
Побудова принципової схеми цифрового пристрою
в середовищі схемного редактора Xilinx Foundation Series
Схемний редактор можна завантажити з Менеджера Проектів, натиснувши кнопку Schematic Editor (див. Рис.1), або вибравши команду Tools - Design Entry - Schematic Editor головного меню користувача (Зауваження: - проект створюється в багатолистовому режимі, тобто всі робочі листи (схеми) в проекті будуть з’єднані наскрізь однаковими іменами з’єднань, виводів, тощо !!! Тому функціональне моделювання та інші дії здійснюється системою не по відношенню до останнього створеного листа принципової схеми, а до проекту (багатолистового) в цілому).
1
2

Рис.3
Вигляд вікна схемного редактора подано на Рис.3. Призначення основних функціональних клавіш на панелях інструментів - на Рис.4.
Вертикальна панель інструментів:
встановити режим виділення/
переміщення за допомогою
миші (F2)
переміщення по ієрархії елементів
вверх/вниз
виклик вікна (вікно 2 на Рис.3)
з переліком бібліотечних
елементів (F3)
рисування з’єднань (F4)
рисування шин (F5)
рисування відводів шин (F6)
призначення імен з’єднанням
(УВАГА: однакові імена автома-
тично з’єднуються)
рисування виводів схеми (IN, OUT)
(але не вхідних/вихідних портів
мікросхеми)
рисування елементів землі/
живлення
малювання прямокутників, тексту,
тощо
Горизонтальна панель інструментів:
створити нову схему
відкрити існуючу схему
зберегти схему
вибрати інший проект
надрукувати схему
вирізати виділену частину
схеми в буфер (CTRL+X)
скопіювати в буфер виділену
частину схеми (CTRL+C)
взяти з буфера (CTRL+V)
зменшити/збільшити
масштаб зображення
збільшити частину зображення,
виділену згодом лівою кнопкою
миші
вивести на екран весь робочий
лист в цілому
відмінити останню команду
виконати останню з відмінених
команд
відредагувати властивості
виділеного елементу
під’єднати виводи виділеного
елементу
від’єднати виводи виділеного
елементу
виклик вікна (вікно 1 на Рис.3)
для позначення сигналів, що
будуть переглядатися при
моделюванні, моделювання по
кроках, тощо (F8)
запуск системи моделювання
видача інформації про виділе-
ний об’єкт, пошук і переміщен-
ня за іменами (F7)
Рис.4
Принципову схему заданого вузла рекомендується створювати в наступній послідовності:
Створення принципових схем макроелементів - створюються макроси (тобто умовні зображення і їх наповнення) елементів схеми, що повторюються. Крім того, доцільно створити макроси елементів, що можуть бути використані в інших проектах, зокрема макроелемент заданого вузла в цілому.
Створення принципової схеми заданого вузла з використанням макроелементів проекту (розміщення макроелементів, під’єднання вхідних, вихідних, двонаправлених портів, вибір та розміщення вхідних та вихідних буферних підсилювачів, тощо).
Розглянемо процес побудови принципової схеми цифрового пристрою на прикладі чотирирозрядного комбінаційного суматора з послідовним переносом.
Приклад. Нехай необхідно за допомогою схемного редактора системи Xilinx Foundation Series побудувати принципову схему чотирирозрядного комбінаційного суматора з послідовним переносом.
1. Враховуючи принципи побудови комбінаційних суматорів робимо висновок, що для виконання завдання доцільно створити два макроелементи: макроелемент повного суматора (який реалізує процедуру додавання двох однорозрядних двійкових чисел (цифр) з врахуванням переносу з молодшого розряду) та макроелемент чотирирозрядного суматора з послідовним переносом.

Рис.5
Для створення макроелемента повного суматора (Рис.3) з вікна Менеджера Проектів вищезгаданим чином запускаємо Схемний Редактор, в якому кнопкою на вертикальній панелі інструментів активізуємо бібліотеку елементів (вікно 2 на Рис.3). З бібліотеки вибираємо необхідні для побудови повного суматора елементи - два суматори за модулем 2 (назва елемента в бібліотеці - XOR2), два двовходові кон’юнктори (AND2) і один двовходовий диз’юнктор (OR2) - і «перетягуємо» ці елементи мишкою на робочий лист. Далі розміщуємо на робочому листі входи та виходи макроелемента - для цього користуємося кнопкою на вертикальній панелі інструментів схемного редактора. У діалоговому вікні, яке при цьому подається редактором (Рис.5) задаємо назву виводу і його тип (вхідний, вихідний, і т.д.). Після визначення виводу його розташовують на робочому листі. Аналогічно визначають і розташовують всі виводи макроелемента.
Для виконання з’єднань між елементами схеми (бібліотечними елементами, виводами схеми, макроелементами, тощо) потрібно натиснути кнопку на вертикальній панелі інструментів і, вказуючи за допомогою лівої кнопки миші на місця з’єднань, задати зв’язки між елементами схеми (при цьому конфігурація зв’язків здійснюється автоматично і може бути відкоригована за допомогою миші (шляхом «перетягування» зв’язків) після натискання кнопки ).
При необхідності ті чи інші виводи елементів схеми можна під’єднати до шин живлення або «землі» (кнопка на вертикальній панелі інструментів).

Рис.6

Рис.7
Після розміщення всіх необхідних елементів і виводів на схемі і задання зв’язків між ними, створюємо макросимвол командою Hierarchy - Create Macro Symbol From Current Sheet, яку вибираємо з головного меню Схемного Редактора. При цьому система подає вікно, показане на Рис.6. У вікні задаємо назву макросимвола і короткий коментар до нього. Після цього натискаємо кнопку OK - макросимвол створений. При необхідності макросимволи (тобто їх параметри і зовнішній вигляд) можна редагувати. Для цього вибирають команду Options-Symbol Editor (Ctrl+E) головного меню схемного редактора. Вигляд вікна Редактора Символів подано на Рис.7.
Для створення макроелемента чотирирозрядного суматора з послідовним переносом відкриваємо в Схемному Редакторі новий робочий лист. Для цього вибираємо команду File-New Sheet (Ctrl+N) головного меню, або натискаємо кнопку на горизонтальній панелі інструментів. На робочому листі, який при цьому відкривається, розміщуємо чотири макросимволи SM (див. Рис.8), вибираючи їх з вікна бібліотечних елементів проекту. Так, як було описано вище, визначаємо і розташовуємо на листі входи і виходи схеми. Далі виконуємо з’єднання між елементами схеми. Для того, щоб не завантажувати зображення, деякі зв’язки, відведені від виводу елемента, обриваємо подвійним «кліком» лівою кнопкою миші. Після цього натискаємо кнопку на вертикальній панелі інструментів і у вікні, яке при цьому відкривається, назначаємо даному зв’язку необхідне ім’я. При чому це ім’я має збігатися з ім’ям інших зв’язків (або входів/виходів схеми), з якими даний вивід має з’єднуватися (Рис.8).

Рис.8
Після того, як всі необхідні зв’язки визначені, створюємо на основі схеми макросимвол SM4 так само, як це було описано для повного суматора.
2. Для створення принципової схеми чотирирозрядного комбінаційного суматора з послідовним переносом відкриваємо в Схемному Редакторі новий робочий лист (команда File-New Sheet (Ctrl+N) головного меню, або кнопка на горизонтальній панелі інструментів). На робочому листі розташовуємо макроелемент SM4 (Рис.9). Всі вхідні сигнали будуть подаватися в схему через вхідні порти, тому вибираємо з бібліотеки і розміщуємо на робочому листі відповідну кількість елементів IPAD (вхід). За кількістю вхідних сигналів в схемі необхідно передбачити відповідну кількість вхідних буферних підсилювачів (бібліотечний елемент IBUF, або потужний тактовий буфер BUFG для тактових сигналів). Те саме стосується виходів схеми - на кожен вихід - вихідний буферний підсилювач OBUF і вихідний порт OPAD. Створення принципової схеми завершується проведенням необхідних зв’язків (Рис.9).
Примітка. Подвійним «кліком» лівою кнопкою миші по елементу входу (IPAD) або виходу (OPAD) можна викликати вікно, в якому (в стрічках Name і Description в нижній частині цього вікна) даному вхідному (вихідному) сигналу можна назначити конкретний номер виводу корпусу мікросхеми ПЛІС. Особливо доцільно це робити для швидкісних тактових сигналів, для яких використовують спеціальні виводи на корпусі.

Рис.9
Функціональне моделювання спроектованої схеми
Для моделювання перш за все необхідно позначити на схемі входи і виходи, сигнали на яких будуть відображатися на часовій діаграмі в процесі моделювання. Для цього натискають кнопку на горизонтальній панелі інструментів редактора. При цьому відкривається вікно, показане на Рис.3 (вікно 1). Натиснувши кнопку в цьому вікні, за допомогою лівої кнопки миші відмічають входи схеми, сигнали на яких будуть задаватися для моделювання. Натиснувши кнопку цього ж вікна, помічають виходи схеми, сигнали на яких будуть відтворюватися при моделюванні. Після цього натискають кнопку згаданого вікна - відкривається вікно Моделювальника, показане на Рис.10. В одній з панелей цього вікна (панель 2 на Рис.10) мають бути вказані всі виводи схеми, відмічені раніше для показу при моделюванні. Якщо якогось виводу не вистачає, його можна додати у вікно Моделювальника, вибравши команду Signal - Add Signals головного меню користувача. При цьому відкривається вікно, показане на Рис.11. В середній панелі цього вікна (панель 1 на Рис.11) вказано всі елементи (бібліотечні) проекту. Вибравши серед них потрібний подвійним «кліком» лівою кнопкою миші, в правій панелі вікна (панель 2 на Рис.11) побачимо перелік входів/виходів даного елементу. Лівою кнопкою миші вибираємо серед них потрібний вхід (вихід) і натиснувши кнопку Add, додаємо цей вивід у вікно Моделювальника (як приклад, на Рис.11 подібним чином додано входи A1, A2, B0 бібліотечного елемента (макросимвола) SM4.
2
1

Рис.11
4
2
3
1

Рис.10
Наступний крок - задання тестових сигналів на входах схеми. Для цього у вікні Моделювальника (панель 2 на Рис.10) відмічають один з входів схеми і після цього вибирають команду Signal - Add Stimulators головного меню користувача, або натискають кнопку на горизонтальній панелі інструментів (див. Рис.10). Вікно, яке при цьому подає система, показане на Рис.12. Якщо лівою кнопкою миші вказати на одну з клавіш панелі Keyboard цього вікна, то при моделюванні натискання цієї клавіші на клавіатурі приведе до інвертування сигналу на даному вході (з високого рівня на низький, з низького - на високий). Якщо на даний вхід необхідно подавати послідовність імпульсів, можна скористатися сигналами з виходів 16 - розрядного віртуального лічильника (Bc - прямі виходи тригерів лічильника, NBc - інверсні виходи), або подати на цей вхід один з попередньо визначених спеціальних тактових сигналів, скориставшись клавішами панелі Clocks. Після аналогічного визначення сигналів на всіх відмічених входах схеми вікно Stimulator Selection закривають клавішею Close і приступають до функціонального моделювання. Для цього натисканням вибраних на попередньому кроці клавіш визначають початковий стан сигналів на всіх входах схеми (крім тих, на які подано послідовності імпульсів). При цьому назва керуючих клавіш відображається в панелі 3 Моделювальника (Рис.10), а стан сигналів на входах схеми в даному такті - в панелі 4. Далі роблять перший крок моделювання, натискаючи кнопку на горизонтальній панелі інструментів Моделювальника (Рис.10). Причому в сусідньому з цією кнопкою вікні можна задати тривалість кроку моделювання, тим самим скоротивши або подовживши мінімальний проміжок моделювання. Аналогічно роблять наступні кроки моделювання, при необхідності змінюючи значення вхідних сигналів на тих чи інших входах схеми. Результатом моделювання є часова діаграма, яка відображає стан сигналів на входах і виходах схеми в різні такти її роботи і тим самим ілюструє роботу спроектованої схеми.

Рис.13

Рис.12
Примітка. Якщо при моделюванні на деякі входи схеми подано послідовності імпульсів з виходів тригерів віртуального лічильника або з виходу спеціального тактового генератора, часто буває необхідним узгодити частоту цієї послідовності імпульсів з швидкодією вибраної елементної бази. Для цього вибирають команду Options - Preferens головного меню. У вікні, яке при цьому відкривається, вибирають закладку Simulation, і у вікні Clocks (Рис.13) задають значення частоти (або періоду) не більше (не менше), ніж максимальна частота, з якою може переключатися тригер вибраної серії ПЛІС.
ЛАБОРАТОРНЕ ЗАВДАННЯ
1.Ознайомитися з відомостями про основні принципи проектування принципових схем в середовищі схемного редактора САПР Xilinx Foundation Series.
2.Побудувати в схемному редакторі принципову схему двійкового синхронного трирозрядного лічильника з послідовністю зміни станів 0, 2, 1, 3, 7, 5, 6, 4 (схему такого лічильника наведено на Рис.14). Завдання виконати в такій послідовності: 1) створення макросимвола заданого лічильника; 2) створення повної принципової схеми з використання розробленого макросимвола. При виконанні завдання використати бібліотечні елементи схемного редактора, подані на Рис.15 (або інші).
3.Промоделювати розроблену схему лічильника і замалювати часові діаграми його роботи.
ЗМІСТ ЗВІТУ:
Назва і мета роботи.
Часові діаграми роботи заданої схеми лічильника.
Короткі висновки за результатами роботи.
Рис.14
EMBED CorelFLOW.Document

Рис.15