Міністерство освіти і науки України
Національний університет „Львівська політехніка”
Кафедра ЕОМ
Звіт
з лабораторної роботи №3
на тему:
„ Система на кристалі : VHDL проект MICRO-8 / шина WISHBON”
Підготував: ст. гр. СКС-1
Львів 2007
Мета: ознайомитись з технологією комунікації систем на кристалі WISHBONE на прикладі VHDL-проекту MICRO8.
Теоретичні відомості:
Метод комунікації систем на кристалі (СНК) WISHBONE є способом з’єднання цифрових схем, що дозволяє сформувати інтегральну мікросхему або «чіп».
Архітектура WISHBONE вирішує фундаментальні проблеми проектування інтегральних схем – як виконати гнучке, просте та сумісне з’єднання між собою різних функціональних блоків. Під функціональним блоком будемо розуміти так звані ІР-ядра (IP-сores), що можуть бути придбані розробниками чи спроектовані ними самостійно. В якості ІР-ядер можуть бути реалізовані різні функціональні частини цифрових систем – мікропроцесори, послідовні порти, дискові інтерфейси, контролери мережі тощо. Як правило, ІР-ядра розробляються незалежно одне від одного та з’єднуються між собою і тестуються кінцевим розробником цифрових систем. WISHBONE покликана допомогти розробнику стандартизувати інтерфейси між різними ІР-ядрами. Даний підхід дозволяє значно спростити процес комунікації ядер та, як наслідок, спростити процес проектування систем на кристалі.
WISHBONE використовує архітектуру MASTER/SLAVE, тобто функціональні блоки типу MASTER ініціюють передачу даних до блоків типу SLAVE. Як видно з рисунку 1, пристрої MASTER та SLAVE з’єднані між собою з допомогою інтерфейсу, що має назву INTERCON. На рисунку дана мережа позначена як «хмара» (cloud – термін, запозичений зі сфери телекомунікації).
Рисунок 1 Спрощене представлення структури WISHBONE
Структура мережі міжз’єднань WISHBONE може змінюватися в залежності від потреб розробника (variable interconnection).
Типи міжз’єднань в архітектурі WISHBONE
1.«Точка-точка»
Даний тип міжз’єднання є найпростішим способом з’єднати ІР-ядра між собою. Як видно з рисунку 2, з’єднання «точка-точка» дозволяє одному інтерфейсу типу MASTER приєднатися до одного інтерфейсу типу SLAVE.
Рисунок 2 З’єднання типу «точка-точка»
2. «Потік даних»
З’єднання типу «Потік даних» застосовується в тому випадку, коли обмін даними відбувається послідовно. Як видно з рисунку 3, кожне ядро має як інтерфейс MASTER, так і інтерфейс SLAVE. Дані переміщуються потоками від ядра до ядра. Іноді даний тип з’єднання ще називається магістральною лінією зв’язку.
Рисунок 3 З’єднання типу «Потік даних»
3. «Спільна шина»
Використовується у випадку, коли потрібно організувати з’єднання між двома або більше інтерфейсами типу MASTER з одним або більше інтерфейсами SLAVE. Топологія представлена на рисунку 4. «Арбітр шини» або «контролер трафіку» визначає коли кожен MASTER може отримати доступ до спільної шини. Перевага даного методу полягає у простоті реалізації. Головним недоліком є необхідність очікування MASTER-ом «свого часу» доступу до шини.
Рисунок 4 З’єднання типу «Спільна шина»
4. «Багатоканальний комутатор»
Використовується для з’єднання кількох MASTER-ів між собою, кожен з яких може з’єднуватися з двома або більше SLAVE-ами. В даному типі з’єднання MASTER ініціює адресований цикл обміну з інтерфейсом типу SLAVE. Арбітр шини визначає момент, коли MASTER може отримати доступ до шини, однак на відміну від з’єднання типу «спільна шина» одночасний доступ до шини можуть отримати декілька MASTER-ів (однак з умовою, що два MASTER-a не можуть одночасно отримати доступ до одного і того ж інтерфейсу SLAVE).
Рисунок 5 З’єднання типу «Багатоканальний комутатор»
Перевагою є більш висока швидкість обміну, ніж при використанні з’єднання «спільна шина». Основним недоліком є велика кількість обладнання, необхідна для організації з’єднання.
MICRO8 – елементарний VHDL-мікропроцесор, що підтримує з’єднання по шині WISHBONE. В першій версії мав наступні інструкції: ADD, NOR, STA, JCC. Пізніше архітектура була розширена додаванням 8-бітного індексного регістра. 7-й біт цього регістра відповідає за вибір між інструкціями акумулятора та індексного регістра.
Структура проекту:
- ./ - містить усі файли, необхідні для синтезу проекту
- ./config – містить резервні копії головних файлів проекту
- ./docs – документація
- ./src – директорія для зберігання усіх hdl-файлів проекту
- ./tmp- директорія, що використовується для зберігання тимчасових файлів (наприклад, файлів побудови проекту при синтезі).
Порядок виконання роботи:
1. В середовищі Xilinx WebPack в меню File->New Project створюємо новий проект.
2. Командою Project->Add Copy of Source додаємо vhd-файли проекту MICRO8 з директорії src.
3. Переглянувши файли проекту, бачимо, що процесор, завантажувальна пам’ять та послідовний інтерфейс мають сигнали, що починаються з символів WB, тобто такі, що належать до інтерфейсу WISHBONE. Для ознайомлення з його роботою оберемо сигнали, що з’єднують процесор з завантажувальною пам’яттю. Оскільки ці сигнали є внутрішніми, для спостереження за ними необхідно включити їх до складу інтерфейсу:
Рисунок 6 Вигляд модифікованого інтерфейсу MICRO8 з сигналами WISHBONE
4. Далі необхідно виконати з’єднання цих виводів з сигналами інтерфейсу WISHBONE, які з’єднують процесор із завантажувальною пам’яттю:
Рисунок 7 З’єднання сигналів інтерфейсу WISHBONE з виводами MICRO8
5. Після завершення модифікації проекту виконуємо етапи синтезу та розміщення його в ПЛІС, задану при створенні проекту.
6. Створюємо новий файл типу VHDL testbench та виконуємо симуляцію проекту:
Висновок: на дані лабораторній роботі я ознайомився з архітектурою мікроконтролера Xilinx Picoblaze, та освоїв основні принципи його конфігурування.