Курсова робота ДПКСМ

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2024
Тип роботи:
Курсова робота
Предмет:
Дослідження та проектування комп’ютерних систем і мереж

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Кафедра ЕОМ / Курсова робота з дисципліни «Дослідження і проектування комп'ютерних систем та мереж» на тему: Проектування 8- бітного RISC-процессора на VHDL Львів 2017 АНОТАЦІЯ В курсовій роботі представлений процес проектування найпростішого 8- бітного RISC-процесора. Розробка проводилася за допомогою мови опису апаратури VHDL. Лістинг програми на мові VHDL наводиться в додатку 1. В якості засобів проектування використовувалася система автоматизованого проектування Webpack ISE фірми Xilinx. Розробка включала в себе етапи створення проекту на рівні регістрових передач, симуляції, синтезу і завантаження в кристал. Звіт про результат синтезу наводиться в додатку 2. В якості програмованого пристрою використовувалося xc3s200 сімейства Spartan 3. Його короткий опис наводиться в додатку 3. Для перевірки роботи RISC-процесора використовувалися команди для обчислення найбільшого спільного дільника двох чисел, які знаходяться в модулі пам'яті. ЗМІСТ ВСТУП .....................……………………………………....................………………………...4 РОЗДІЛ 1. Розробка RISC процесора на рівні регістрових передач .................5 1.1. Огляд архітектури процесорів ........................................................................6 1.2. Мови опису апаратури .....................................................................................6 1.3. VHDL – мова опису апаратури ......................................................................8 1.4. Рівні представлення мікросхем ......................................................................9 1.5. Архітектура проектованого RISC-процесора .............................................10 1.5.1. Архітектура автомата RISC .......................................................................10 1.5.2. Процесор ......................................................................................................11 1.5.3. АЛП ..............................................................................................................11 1.5.4. Система команд ..........................................................................................12 1.5.5. Контролер ....................................................................................................14 1.5.6. Розробка контролера ..................................................................................15 1.6. Написання VHDL-описів RISC-процесора .................................................22 РОЗДІЛ 2. ПРОЕКТУВАННЯ RISC-ПРОЦЕСОРА В САПР WEBPACK ISE ...............23 2.1. Опис середовища розробки ..........................................................................23 2.2. Етапи проектування цифрових пристроїв на базі ПЛІС Xilinx ................24 2.3. Створення проекту ........................................................................................25 2.3.1. Структура проекту ......................................................................................25 2.3.2. Навігатор проекту .......................................................................................25 2.3.3. Створення нового проекту ........................................................................27 2.3.4. Методи опису проектованого пристрою ..................................................29 2.3.5. Створення нового модуля опису ...............................................................29 2.4. Симуляція .......................................................................................................31 2.4.1. Тестовий модуль проекту ..........................................................................31 2.4.2. Створення тестового модуля .....................................................................31 2.4.3. Симуляція проекту .....................................................................................34 2.5. Синтез .............................................................................................................35 2.5.1. Зміст етапу синтезу ....................................................................................35 2.5.2. Синтез проекту ...........................................................................................36 РОЗДІЛ 3. ЗАВАНТАЖЕННЯ ПРИСТРОЮ В КРИСТАЛ ..................................38 3.1. Визначення виводів кристала .....................................................................38 3.2. Створення конфігураційної послідовності ................................................39 3.3. Завантаження конфігураційної послідовності в кристал .........................39 ВИСНОВОК ….....................................................................................................40 СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ .....................................................41 ДОДАТКИ ............................................................................................................42 ВСТУП На сьогоднішній день все популярнішим стає використання ресурсів програмованої логіки для розробки цифрових систем. Програмовані логічні інтегральні схеми та відповідні засоби проектування дозволяють дотримуватись виконання жорстких часових вимог і при цьому створювати пристрої різного ступеня складності в найкоротший термін. У цій курсовій роботі представлений приклад проектування найпростішого процесора RISC-архітектури програмними засобами фірми Xilinx. Дана розробка дозволяє наочно переконатися у зручності технології програмованої логіки, а також може бути корисною для інших студентів, які починають вивчати даний напрямок. В якості методу проектування вибрана мова опису апаратури VHDL, яка має істотну перевагу над графічним представленням системи. Це виражається в компактному записі системи, яка проектується. Представлена ​​нижче робота складається з трьох основних частин. У першій частині приводяться загальні відомості про процесори, методи проектування, а також наводиться опис обраної архітектури. У другій частині показано процес розробки пристрою в пакеті Webpack Ise. І в останній частині спроектований пристрій завантажується в кристал, де перевіряється його функціональність. РОЗДІЛ 1. РОЗРОБКА RISC ПРОЦЕСОРА НА РІВНІ РЕГІСТРОВИХ ПЕРЕДАЧ Огляд архітектури процесорів Існує два типи архітектури процесорів - CISC і RISC. Традиційні центральні процесори засновані на CISC-архітектурі. При цьому підході виконання будь-якої складної команди з системи команд процесора реалізовується апаратно всередині самого процесора. Додавання кожної нової команди веде до збільшення загального числа транзисторів в процесорі. CISC-архітектура дозволяє створювати універсальні процесори, але їх продуктивність обмежена, зокрема, складністю мікросхеми ЦП. Мікропроцесори з CISC-архітектурою (наприклад, Intel Pentium II, III і IV або Athlon і Duron компанії AMD) зазвичай встановлюються в настільних і переносних комп'ютерах загального призначення. В процесорах з RISC-архітектурою використовується обмежений набір швидких команд. У таких мікропроцесорах міститься менша кількість транзисторів, що знижує їх вартість і енергоспоживання. При цьому, як правило, підвищується їх продуктивність. Але RISC-процесори менш універсальні, ніж CISC-процесори. Мікропроцесори з RISC-архітектурою встановлюються в спеціалізованих пристроях, наприклад, в лазерних принтерах. Розробники намагаються створити процесори, які поєднували б у собі універсальність CISC-архітектури з продуктивністю RISC-архітектури. Разом з тим, ряд RISC-процесорів (наприклад, DEC Alpha або MIPS Orion 4600) використовуються в якості центральних у високопродуктивних робочих станціях. Мови опису апаратури Відповідно до відомого емпіричного правила, так званого закону Мура, ємність мікросхем подвоюється кожні 18 місяців (для процесорних систем). Це правило, сформульоване в 1965 році, коли на кристалі інтегральної схеми розміщувалося всього 30 транзисторів, на загальний подив, воно продовжує працювати й досі (коли на кристалі розміщується вже понад 50 мільйонів транзисторів). Зростання складності мікросхем на базі розвитку інтегральної технології дозволяє мати в апаратурі все більше число компонентів та схемотехнічно реалізовувати все більш різноманітні і складні функції. Для ефективного використання цих можливостей необхідний перехід на нові технології проектування і застосування апаратно реалізованих вузлів, блоків, систем. Типова логічна схема в графічному поданні містить на сторінці фрагмент, еквівалентний порядку 200 вентилів. Відповідно, мікросхема на 10 тисяч вентилів буде об'ємом в 50 сторінок. Відповідно, складання і введення в графічну нотацію схем складністю 50 тис., 100 тис., 500 тис. вентилів і т.д. займе надзвичайно велику кількість часу. Альтернативою малювання деталізованих схем з низькорівневих елементів є мови опису апаратури високого рівня. Мови цього класу називають мовами HDL (Hardware Description Language). Вони не тільки забезпечують компактний запис для проектованої схеми, дають значне скорочення трудомісткості розробки великих схем, але і спрощують міграцію, перенесення проекту на різні варіанти інтегральних технологій. Найбільш поширеною мовою цього класу, сертифікованою за міжнародними стандартами, є мова VHDL, яка розроблена в рамках американського проекту створення нового покоління високошвидкісної елементної бази (Very High Speed ​​Integrated Circuits - VHSIC). абревіатура VHDL розшифровується як VHSIC Hardware Description Language. За допомогою цієї мови і буде проводитися опис проектованого RISC-процесора. VHDL – мова опису апаратури Мова VHDL призначена для вирішення комплексу задач в ході проектування і застосування цифрових систем, їх апаратних засобів, в тому числі: 1. Опису структури системи, декомпозиції системи на підсистеми, специфікації зв'язків і взаємодії підсистем. 2. Специфікації функціонування системи, вузлів, блоків, функцій які реалізуються. Специфікація дається в алгоритмічній формі, з використанням звичних сучасноу фахівцю програмних конструкцій алгоритмічної мови, що включають в себе специфікацію тимчасової поведінки сигналів і блоків. 3. Моделювання системи і її роботи на основі чіткої специфікації структури системи, а також функціонування її компонентів. 4. Синтезу схемотехнічної реалізації системи, автоматичної генерації детальної структури на основі строгої специфікації системи на мові VHDL - специфікації на більш абстрактному рівні. Мова VHDL поступово стає стандартом при документуванні апаратних засобів, причому не тільки на рівні мікросхем, а й на рівні плат і блоків. Високий рівень опису проектованого пристрою на мові VHDL дає так званий само-документуючий характер опису проекту. Текст програми на мові VHDL сам по собі є документацією, яку досвідчений фахівець легко зможе прочитати. Не випадково є тенденція – в перелік необхідної документації на цифрові електронні блоки і пристрої включати опис на мові VHDL. Так, Європейське космічне агентство (ESA) стандартизувало мову VHDL - і як засіб обміну інформацією при проектуванні та застосуванні НВІС (ASIC), і як інструмент для роботи на рівні конструктивно-функціональних модулів, апаратних вузлів на рівні плат. Рівні представлення мікросхем Поняття мікросхеми як складного багатокомпонентного об'єкта об'єднує в себе і логічні функції (перетворення інформації, обробки даних), і структурну організацію багатокомпонентної системи, і специфічні питання їх реалізації в інтегральній технології як фізичного об'єкта – складного напівпровідникового приладу зі спеціальною багатошаровою топологією. І уявлення такого об'єкта, і організація його проектування вимагають обліку всього комплексу чинників, що становлять поняття мікросхеми, причому з урахуванням їх взаємодії і взаємного впливу. Мікросхеми, в залежності від поглядів на її природу і організацію, прийнято розглядати в трьох областях: у функціональній, структурній та геометричній. У кожній області формується своя ієрархія представлення мікросхем, що відображає їх багаторівневу організацію в рамках цієї області (Рис. 1): / Рис.1. Рівні представлення мікросхем В даний момент нас цікавить структурна область. У ній будується наступна ієрархія: рівень великих структурних блоків; на Рис.1 - «рівень блоків типу Процесор, Пам'ять, Комутатор» PMS-level; рівень регістрів, функціональних блоків, міжрегістрових зв'язків (Register Transfers Level - RTL-level); рівень логічних вентилів (Gates, Gate level); рівень транзисторів (Transistor level). Для проектування RISC-процесора обраний рівень реєстрових передач, RTL. На даному рівні абстракції як елементи проектованих електронних пристроїв є такі функціональні блоки, як регістри, суматори, лічильники, мультиплексори і т.д. 1.5. Архітектура проектованого RISC-процесора 1.5.1. Архітектура автомата RISC RISC-процесори - це процесори з невеликим набором вбудованих команд. Ці команди виконуються за короткі синхронні такти, і на кожну команду приходиться невелика їх кількість. Загальна архітектура автомата RISC представлена так (рис. 2): / Рис.2. Архітектура автомата RISC Команди автомата RISC містяться в програмі, що зберігається в пам'яті (RISC SPM). Автомат складається з контролера, процесора і пам'яті. Контролер керує всіма діями, а також відповідає за синхронізацію. Процесор виконує арифметичні і логічні операції за допомогою АЛП. В пам'яті зберігаються програмні команди і дані. Програма виконується за такою схемою: з пам'яті синхронно зчитуються команди, декодуються і згодом виконуються. Виконання команд відбувається за наступною послідовністю: Обробка даних в АЛУ; Зміна вмісту регістрів, а також лічильника команд PC (Містить адресу наступної команди для виконання), регістра команд IR (містить команду, яка відразу ж виконується) і регістра адреси ADD_R (містить адресу слова пам'яті, яке буде адресуватися далі операцією читання або запису); Зміна вмісту пам'яті; Зчитування команд і даних з пам'яті; Контроль передачі даних по шинах. 1.5.2. Процесор Процесор складається з АЛУ, регістрів, шин даних і керуючих ланцюгів. В завдання АЛУ входить виконання арифметичних і логічних операцій над операндами. За це відповідає регістр команд, що містить код операції. Як видно на схемі архітектури автомата, процесор функціонує за такою системою: Мультиплексор Mux_1 визначає джерело даних, пов'язаних з шиною Bus_1. На входи подаються сигнали з регістрів (R1, R2, R3, R4), а також із лічильника команд. Вміст шини Bus_1 може бути направлено в АЛУ, в пам'ять або на шину Bus_2. Мультиплексор Mux_2 визначає джерело даних, пов'язаних з шиною Bus_2. На входи подаються сигнали з Mux_1, АЛУ і елементів пам'яті. Тому команду можна прочитати з пам'яті, помістити на шину Bus_2 і завантажити в регістр команд. Слово даних може бути зчитано з пам'яті і направлено в регістри з великим пріоритетом для виконання в АЛП. АЛУ виробляє відповідні операції і результат поміщається на шину Bus_2, завантажується в регістр і згодом передається в пам'ять. Якщо результат обчислення в АЛУ дорівнює 0, то на це вказує прапор в тригері D_zero. Тригер D_sign містить старший біт результату обчислення АЛУ, який визначає, позитивний (0) чи негативний (1) отримаємо результат. 1.5.3. АЛП АЛП має два вхідних канали даних, data_1 (реєстр RX, що завантажується з шини bus_2) і data_2 (дані з шини Bus_1), а також вхід від регістра команд IR, який дає вказівки, яку операцію в даний момент проводити. Від’ємні числа представляються в додатковому коді. В АЛП можуть виконувати такі команди: ADD - додавання зі знаком значень data_1 + data_2 SUB - віднімання зі знаком значень data_1 - data_2 AND - порозрядне «І» значень з data_1 & data_2 NOT - порозрядне заперечення для data_2 INC - інкремент значення data_2 DEC - декремент значення data_2. 1.5.4. Система команд Процесор виконує програму, написану на машинній мові, яка містить команди, що зберігаються в пам'яті. Тому функціонування контролера залежить не тільки від архітектури автомата, але також і від системи команд в процесорі. Команди в процесорі поділяються на «довгі» і «короткі». «Короткі» займають 1 байт інформації (8 біт або слово). В загальному вигляді команда має такий формат (рис. 3.): / Рис.3. Формат «короткої» команди Останні 4 біти є кодом операції з системи команд (Таблиця 1.), 2 біти припадають на адресу вхідного регістра і решту 2 - на адресу вихідного. Як видно з таблиці команд, дана команда з кодом 0011 визначає побітно «І» для вмістимого регістрів R1 і R2 і поміщає результат в регістр R2. «Довга» команда займає 2 байти (слова). Перше слово містить 4-бітний код операції. Решта 4 біти використовуються для визначення адреси вихідного або вхідного регістра, в залежності від команди. Друге слово містить адресу слова пам'яті, яке містить операнд, необхідний командою (рис.4.). / Рис.4. Формат «довгої» команди З таблиці видно, що команда витягує слово з комірки пам'яті з адресою 74 (4A hex). У цій таблиці наведено мнемоніки команд, двійкове уявлення, а також їх дії: Таблиця 1. Мнемоніки, опису і двійкове подання команд процесора / / 1.5.5. Контролер Управління всіма діями і синхронізація здійснюється контролером. Він направляє дані за призначенням, відповідно до виконуваної команди. Отже, розробка контролера залежить від специфікації АЛП, операційних ресурсів і системи синхронізації. В даному прикладі досить використовувати один синхро-сигнал. Виконання команди починається з його переднього фронту. Контролер виконує наступні операції: • визначає, коли завантажувати регістри; • вибирає шлях для даних через мультиплексори; • визначає, коли дані повинні бути записані в пам'ять; • контролює шини. Контролер має вхідні і вихідні сигнали. До вхідних відносяться командне слово, прапор zero і прапор знака sign. Вихідні сигнали (керуючі) наведені в таблиці 2. Таблиця 2. Управляючі сигнали контролера і їх дії / 1.5.6. Розробка контролера Контролер розроблений як кінцевий автомат. Для цього визначаються його стан, архітектура, система команд і схема синхронізації. Автомат представляється у вигляді блок-схем, які описують дії всередині автомата RISC SPM і показують, як автомат працює під управлінням своїх команд. Є 3 фази виконання команд. Це зчитування, декодування і виконання. Під час зчитування команда витягується з пам'яті; під час декодування команда декодується, мультиплексори керують каналами даних, завантажуються необхідні регістри; при виконанні формуються результати команди. Фаза зчитування вимагає 2 такти: один для завантаження вмісту програмного лічильника в адресний регістр, а другий - для вилучення адресованого слова з пам'яті і записи його в регістр команд. Фаза декодування виконується за один такт, а фаза виконання може вимагати різної кількості тактів, в залежності від команди. Наприклад, команди NOT, INC, DEC виконуються в такті декодування, команди ADD, SUB, AND вимагають одного такту (результати дії завантажуються в вихідний регістр). Виконання двобайтових команд займає 2 такти: перший такт завантажує в регістр адреси другого байту команди. Залежно від команди виробляються необхідні дії в другому такті. У разі команди RDD витягується слово з осередку пам'яті, адресованої другим байтом команди, і завантажується в вихідний регістр. Якщо виконується команда WRR, то другий такт потрібний для запису вмісту вихідного регістра в адресовану другим байтом команду осередка пам'яті. В випадку команд BRE, BRG і BRZ другий такт потрібний для завантаження в програмний лічильник слова, адресованого другим байтом команди. Контролер RISC SPM має 11 станів з керуючими впливами, опис яких наведено в таблиці 3. Таблиця 3. Стани контролера і їх дії / Схеми алгоритмічного автомата приведені у відповідність з виконуваними командами. / Рис.5. Схема алгоритмічного автомата для команд NOT, INC або DEC У разі декодування команд NOT, INC або DEC вміст вихідного регістра поміщається на шину Bus_1. Далі відбувається обчислення в АЛП, результат поміщається на шину Bus_2 і потім завантажується в вихідний регістр. Також завантажуються тригери нульового прапора і знака результату обчислень в АЛП. / Рис.6. Схема алгоритмічного автомата для команд ADD, SUB або AND У разі декодування команд ADD, SUB або AND вміст вихідного регістра поміщається на шину Bus_1, потім на Bus_2, і потім завантажується в регістр RX. У стані виконання вміст вихідного регістра поміщається на шину Bus_1, відбувається обчислення в АЛП, результат поміщається на шину Bus_2 і потім завантажується у вихідний регістр. Також завантажуються тригери нульового прапора і знака результату обчислень в АЛП. / Рис.7. Схема алгоритмічного автомата для команди RDD У разі, якщо декодується команда RDD, вміст лічильника команд поміщається на шину Bus_1, потім на Bus_2 і завантажується в регістр адреси. При виконанні витягується з пам'яті другий байт команди, поміщається на шину Bus_2 і завантажується в регістр адреси. При цьому інкрементується лічильник команд. У наступному стані з сегмента даних зчитується слово даних, адресований другим байтом команди RDD, і завантажується в вихідний регістр. / Рис.8. Схема алгоритмічного автомата для команди RDD При декодуванні команди WRR, вміст лічильника команд також поміщається на шину Bus_1, потім на Bus_2 і завантажується в регістр адреси. При виконанні витягується з пам'яті другий байт команди, поміщається на шину Bus_2 і завантажується в регістр адреси. При цьому інкрементується лічильник команд. У наступному стані вміст вихідного регістра поміщається на шину Bus_1 і в разі активного сигналу write слово даних з шини Bus_1 записується в клітинку, певну другим байтом команди. / Рис.9. Схема алгоритмічного автомата для команд BRE, BRZ або BRG У разі декодування команд BRE, BRZ або BRG вміст лічильника команд поміщається на шину Bus_1, потім на Bus_2 і завантажується в регістр адреси. При виконанні витягується з пам'яті другий байт команди, поміщається на шину Bus_2 і завантажується в регістр адреси. У наступному стані слово, адресоване другим байтом команди, поміщається на шину Bus_2 і завантажується в лічильник команд. Виконання програми продовжується з команди, певної лічильником команд. Якщо умова переходу не виконується, то відбувається інкрементування лічильника команд і програма виконується до наступної команди. У разі, коли НЕ декодується жодна команда, або декодується команда HALT, то робота процесора припиняється до reset. 1.6. Написання VHDL-описів RISC-процесора Коли схеми алгоритмічного автомата пристрої побудовані, можна приступати безпосередньо до проектування, а точніше до написання VHDL-коду. Процес складання опису ділиться на кілька етапів. На початку визначаються функціональні елементи, які представлені у вигляді окремих модулів. Потім відбувається безпосередньо їх опис, що містить у собі опис портів, змінних, а також реалізується їх "поведінку". Коли опису елементів складені, проводиться їх інтегрування в єдину систему і отримана система перевіряється на функціональність. Опис RISC-процесора було складено згідно архітектурі, показаної на рис. 2. Головний модуль проекту - RISC_SPM. Він складений з модулів процесора (Processing_Unit), контролера (Control_Unit) і пам'яті (Memory_Unit). В ньому оголошуються порти і параметри всіх 3-х елементів. Це робиться для того, щоб опис виглядало більш зрозумілим і зменшується ймовірність помилок кодування. Модуль процесора, відповідно до архітектури, містить в собі описи регістрів, мультиплексорів, тригерів і АЛП, які, в свою чергу, теж представлені у вигляді окремих модулів. Контрольна частина розробляється прямо зі схем алгоритмічного автомата. Модуль пам'яті представлений у вигляді масиву D-тригерів. VHDL-опису RISC-автомата наводяться в додатку 1. Проектування на VHDL і моделювання процесора проведено в пакеті Webpack Ise фірми Xilinx. Опис середовища розробки, а також цього процесу наведено в розділі 2. РОЗДІЛ 2. ПРОЕКТУВАННЯ RISC-ПРОЦЕСОРА В САПР WEBPACK ISE 2.1. Опис середовища розробки Система автоматизованого проектування WebPACK ISE представляє набір програмного забезпечення для створення цифрових пристроїв на базі ПЛІС. Проектування таких пристроїв ділиться на наступні етапи: розробка проекту, синтез, моделювання, трасування і завантаження в кристал. Даний пакет має наступні можливості: різні методи опису проектованих пристроїв (графічні та текстові); наявність схемотехнічного редактора; створення шаблонів HDL-описів на основі поданої користувачем інформації; високоефективні засоби синтезу з можливістю оптимізації; розвинені засоби верифікації проекту; автоматичні засоби трасування проекту в кристали з урахуванням оптимізації проекту за різними параметрами; кошти програмування кристалів сімейств ПЛІС Xilinx; зручний призначений для користувача інтерфейс; 2.2. Етапи проектування цифрових пристроїв на базі ПЛІС Xilinx В процесі створення цифрових пристроїв можна виділити наступні етапи: створення нового проекту; створення опису проектованого пристрою; симуляція (дозволяє проконтролювати відповідність вихідних сигналів алгоритмам роботи пристрою); синтез (на підставі вихідних модулів проекту формується список ланцюгів, який далі використовується в якості вихідних даних засобами трасування); трасування проекту (розподіл виконуваних функцій в конфігуруються логічні блоки і формування необхідних зв'язків в кристалі); завантаження проекту в кристал (проводиться за допомогою відповідних програм і завантажувального кабелю). 2.3. Створення проекту 2.3.1. Структура проекту Проектом називається сукупність модулів, що забезпечують виконання всіх етапів розробки пристрою. Можна виділити наступні групи модулів: документація текстові та графічні описи проміжні результати звіти про виконання основних етапів проектування опису тестових впливів остаточні результати проектування Модулі розташовуються в одній папці, назва якої збігається з назвою проекту. Спочатку представлений тільки модуль заголовка і модуль, в якому вказані основні параметри проекту. Згодом до проекту додаються описові модулі, а після завершення кожного етапу розробки результати заносяться до відповідного звіт. 2.3.2. Навігатор проекту Робота з програмою починається з запуску Навігатора проекту (рис. 10). Він включає в себе наступні елементи: головне меню - забезпечує доступ до всіх команд пакета. воно складається з спливаючих при натисканні списків; оперативна панель управління - містить кнопки виконання найбільш часто використовуваних команд. Їх стан залежить від обраного на поточний момент модуля, тобто кнопки з неприпустимими по відношенню до модуля операціями будуть неактивними; панель інструментів текстового редактора HDL-коду – містить кнопки швидкого доступу, призначені для виконання найбільш частих операцій редагування тексту; вбудоване вікно вихідних модулів проекту (Sources in Project) - представляє в різних формах інформацію про структуру вихідних даних проекту; вбудоване вікно процедур для вибраних модулів проекту (Processes for Current Source) - відображає поетапну послідовність дій, які повинні бути виконані по відношенню до модуля, виділеного у вікні вихідних модулів проекту. Зміст вікна процедур залежить від типу виділеного вихідного модуля і сімейства ПЛІС, обраного для реалізації проекту; вікно консольних повідомлень програмних модулів (Console) - призначене для виведення інформаційних повідомлень про хід виконання процедур. На ній відображаються повідомлення про помилки і попередження, супроводжувані ідентифікаційними кодами; вбудований текстовий редактор - застосовується для створення описів на мовах HDL і їх подальшого коректування; рядок стану - служить для виведення повідомлень про поточні стани виконуваних команд і пояснень про призначення обраної команди. / Рис.10. Основне вікно Навігатора проекту пакета WebPACK ISE 2.3.3. Створення нового проекту Для створення нового проекту треба виконати команду New Project з меню File Навігатора проекту. В результаті відкривається діалогова панель, в якій повинні бути введені вихідні дані для нового проекту (рис. 11): його назва; диск і каталог, в якому передбачається його розташувати; тип головного модуля. / Рис.11. Діалогова панель введення вихідних даних створюваного проекту Після того, як вихідні дані визначені, натисканням кнопки Далі відбувається перехід до діалогового вікна, де потрібно ввести наступні параметри (рис. 12): сімейство ПЛІС, на базі якого розробляється пристрій; тип кристала; тип корпусу; швидкодія кристала; кошти синтезу пристрою. / Рис.12. Вибір засобів проектування і характеристик кристала На наступному кроці пропонується створити новий модуль, але можна цей момент пропустити натисканням кнопки Далі, де вже запропонують додати готовий, що теж не обов'язково. На завершальному етапі показаний список всіх встановлених параметрів створюваного проекту і при необхідності зміни будь-якого параметра існує можливість повернутися на більш ранні кроки установок і змінити їх (Рис. 13). / Рис.13. Вибір засобів проектування і характеристик кристала Процедура визначення всіх необхідних параметрів створюваного проекту завершується натисканням кнопки Готово. У разі його успішного створення вікно вихідних модулів набуває вигляду, показаного на рис. 14. / Рис.14. Робоча область нового проекту Далі необхідно створити модулі вихідного опису проектованого пристрою. 2.3.4. Методи опису проектованого пристрою Вихідні опису пристроїв можуть бути представлені у вигляді: • HDL - описів; • принципових схем; • діаграм станів і переходів між ними. Основним засобом представлення описів в пакеті Webpack Ise на Наразі є мови опису апаратури (HDL). 2.3.5. Створення нового модуля опису Для створення нового модуля проекту, слід вибрати команду New Source з розділу Project, або натиснути на відповідну кнопку на оперативній панелі. У вікні, необхідно дати назву модуля, а також вибрати його тип і вказати місце його розташування на диску (рис. 15). / Рис.15. Діалогова панель установки параметрів нового модуля проекту Установка значень всіх необхідних параметрів створюваного модуля завершується натисканням клавіші Далі. Залежно від типу модуля, існує можливість задати також і додаткові його параметри. Наприклад, якщо обраний VHDL Module, то можна ввести інформацію про входах і виходах пристрою, яка потім буде реалізована в готовому VHDL-шаблоні. При успішному створенні модуля відкривається інформаційна панель, в якої відображається інформація про всі його параметри (рис. 16). для завершення процесу створення нового вихідного модуля слід натиснути кнопку Готово. Після цього автоматично проводиться запуск програми пакета, використовуваної для створення і редагування відповідного типу вихідного опису проектованого пристрою. У вікно вихідних модулів додається піктограма, відповідна типу нового модуля. / Рис.16. Інформаційна панель параметрів створюваного модуля проекту 2.4. Симуляція Для виконання імітації необхідно сформувати опис тестових впливів, використовуваних в процесі верифікації. Такі описи формуються за допомогою створення тестового модуля. 2.4.1. Тестовий модуль проекту Тестовий модуль проекту являє модель випробувального стенду для проектованого пристрою на мові опису апаратури HDL, використовуваному при розробці. Формування вхідних тестових впливів може формуватися як в текстовому вигляді, так і в графічній формі у вигляді тимчасових діаграм. За це відповідає входить в пакет утиліта HDL Bencher. Графічна форма подання є більш наочною і не вимагає знання HDL-мов. 2.4.2. Створення тестового модуля Для початку необхідно активувати режим створення нового модуля, в якому вибирається тип Test Bench Waveform. Заодно задається ім'я і вказується розташування на диску (рис. 17). / Рис.17. Вікно створення нового тестового модуля На наступному кроці майстра підготовки модуля пропонується вибрати об'єкт, для якого створюється тестовий модуль (рис. 18). / Рис.18. Вибір об'єкта, для якого створюється тестовий модуль Після натискання кнопки Далі на екран виводяться налаштовані параметри нового модуля і прийняття їх підтверджується натисканням кнопки Готово. Тимчасові параметри різняться для синхронних і асинхронних пристроїв. HDL Benscher автоматично визначає тип пристрою, пропонуючи ввести для кожного свої параметри (рис.19): Single clock - основний тактовий сигнал; Time scale - одиниці виміру основних параметрів; Clock high time - тривалість станів високого логічного рівня періоду тактового сигналу; Clock low time - тривалість станів низького логічного рівня періоду тактового сигналу; Input setup time - мінімальне значення часу установки вхідних сигналів; Output valid delay - максимальне значення затримки вхідних сигналів. / Рис.19. Вікно введення тимчасових параметрів HDL Bencher автоматично визначає, ніж тактується пристрій - фронтом (Rising Edge), спадом (Falling Edge) або тим і іншим (Dual Edge). Однак це можна вибрати і вручну, використовуючи відповідні кнопки. Завершується процес установки натисканням кнопки ОК, після чого на екран виводяться заготовки тимчасових діаграм (рис.20). / Рис.20. Заготовки часових діаграм У верхньому рядку робочої області вікна розташована тимчасова шкала, яка відповідає періодам тактового сигналу. У лівому стовпчику вказані сигнали пристрою, а праворуч розташовані піктограми, що вказують їх тип. Якщо тип сигналів векторний, то вони позначаються шинами відповідної розрядності. Далі необхідно вибрати (переключити) значення сигналів в певні моменти часу. Для цього можна просто клікнути лівою кнопкою миші. Значення сигналу при цьому зміниться на протилежне (зі стану високого логічного рівня в низький і навпаки). Редагування тимчасових діаграм слід згодом зберегти, вибравши з меню File команду Save Waveform. 2.4.3. Симуляція проекту Після того, як тестовий модуль створений, виробляється безпосередньо симуляція. Цей процес активізується подвійним клацанням лівою кнопкою миші на рядку Simulate Behavioral VHDL Model у вікні процесів Навігатора проекту. При цьому у вікні ресурсів проекту повинен бути виділений тестовий модуль. Далі виробляється автоматичний запуск засобів симуляції. Після її завершення з'являються результати. У разі якщо виставлених сигналів мало, існує можливість «перетягування» необхідних прямо з вікна симуляції, яке розташовується замість вікна процесів (рис. 21). / Рис.21. Додавання сигналів у вікно симуляції Правда доведеться повторити процес заново, вибравши у спливаючому меню Simulation команду Restart і потім Run All. У випадку з RISC-процесором результат симуляції представлений так (рис. 22): / Рис.22. Форми сигналів в результаті симуляції проекту Для більшої наочності проходження сигналів існує можливість збільшити зображення функціональними засобами програми. Під час симуляції була також перевірена робота процесора. На наступному фрагменті показані результати знаходження НСД двох чисел: 8 і 12 (Рис. 23): / Рис.23. Фрагмент результату симуляції 2.5. Синтез 2.5.1. Зміст етапу синтезу Етап синтезу являє собою перетворення HDL-опису в список ланцюгів, виконаних на низькому логічному рівні. елементи низькорівневого опису повинні бути відповідними архітектурі ПЛІС. Процес синтезу починається з аналізу вихідного HDL-опису, в ході якого відбуватиметься виділення рядків коду, що складаються з окремих макросів. Макроси часто підвищують продуктивність розроблювального пристрою, тому кошти синтезу намагаються ідентифікувати якомога більшу їх кількість. Наступним кроком в процесі синтезу є оптимізація. Вона відбувається в 2 заходу. Спочатку оптимізуються кожен окремий модуль або об'єкт. Потім відбувається їх об'єднання і створюється повний список з'єднань проекту. Основним результатом синтезу є формування файлу NGC. Він є опис проекту в довічним форматі на низькому логічному рівні. Процес синтезу проводиться засобами Xilinx Synthesis Technology (XST). 2.5.2. Синтез проекту Для запуску процесу синтезу слід двічі клацнути на рядку Synthesize у вікні процесів Навігатора. Інформація про проведення синтезу вказується у вікні консольних повідомлень. На вдале завершення процесу синтезу вказує піктограма із зеленою галочкою (рис. 24). / Рис.24. Успішне завершення процесу синтезу Детальну інформацію про результати синтезу можна подивитися в звіті Synthesis Report (рис. 25). / Рис.25. Згенерований звіт про синтез Також результат синтезу можна представити і в схемотехнічній формі на RTL-рівні. Для цього слід у вікні процесів у вкладці синтезу вибрати рядок View RTL Schematic і клацнути по ній двічі (рис. 26). / Рис.26. Схематичний вигляд синтезованої системи РОЗДІЛ 3. ЗАВАНТАЖЕННЯ ПРИСТРОЮ
Антиботан аватар за замовчуванням

15.02.2018 20:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!