Дипломная (вкр): Розробка комірки функціонального обміну на ПЛІС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Розробка комірки функціонального обміну на ПЛІС

ЗМІСТ

ВСТУП

РОЗДІЛ 1. ПЛІС

.1 Загальні відомості

.2 ПЛІС сімейства FLEX10K

.3 Quartus II - система проектування ПЛІС

РОЗДІЛ 2. КОМІРКА ІНФОРМАЦІЙНОГО ОБМІНУ

.1 Радіоелектронний пристрій, в склад якого входить комірка інформаційного обміну

.2 Технічні вимоги до комірки інформаційного обміну

.3 Призначення комірки інформаційного обміну

.4 Інтерфейс РІОХ

РОЗДІЛ 3. МОВА ОПИСУ АПАРАТУРИ ЦИФРОВИХ СИСТЕМ VHDL

.1 Опис мови

.2 Опис розробленої програми

РОЗДІЛ 4. РОЗРАХУНОК НАДІЙНОСТІ КОМІРКИ ІНФОРМАЦІЙНОГО ОБМІНУ

ВИСНОВОК

ЛІТЕРАТУРА

ДОДАТКИ

ВСТУП


Станції радіолокацій раннього попередження про ракетний напад ведуть безперервний контроль повітряного простору далеко за межами кордону України, забезпечуючи наявність великого підленного часу для приведення системи ППО в бойову готовність з метою захисту території країни від ракет ймовірного супротивника.

В РЛС, що розглядається в якості оброблювального пристрою використовується обчислювальний комплекс, призначений для прийому інформації, що поступає в реальному масштабі часу від інших пристроїв РЛС (абонентів), відображення результатів контролю цих пристроїв на екранах робочих місць операторів і формування керуючої інформації, для цих абонентів. Для реалізації цього завдання має бути розроблена комірка, яка могла би прийняти дані паралельного 16-ти розрядного коду інтерфейсу PIOX, використовуваного на керуючій ЕОМ (коди технічного і функціонального управління), і передати ці дані в послідовному коді до абонентів :

·        передавальний та приймаючий пристрій;

·        синхронізатор та пристрій антенного фідера;

·        Інформація технічного та функційного контрол в послідовному коді від перерахованих пристроїв повинна бути прийнята коміркою у внутрішню ПЗУ та передана керуючій ЕОМ в параллельному коді за її запитом;

·        Отримавши сигнали запиту окомірка транслює її в модулі цифрової обробки сигналів (ЦОС) ЕОМ. Модуль орієнтований на прийом і цифрову обробку сигнальної інформації в реальному масштабі часу;

·        Модуль ЦОС та комірка інформаційного обміну (3Д-Я202) з'єднана шлейфом. Обмін даними з коміркою по інтерфейсу PIOX проводиться пакетами. Інтерфейс являє собою 16 паралельних ліній даних PIO і дві керуючі лінії PIO_WR PIO_RD (запис і зчитування).

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

РОЗДІЛ 1. ПЛІС

1.1     Загальні відомості


ПЛІС (програмована логічна інтегральна схема) - це великі інтегральні мікросхеми матричного типу, що дозволяють програмним способом реалізувати логічні функції великої складності. Фізичним обмеженням швидкодії властивої всім традиційним архитектурам процесорів є послідовне виконання команд. Архітектура ПЛІС має потенційно більшу швидкодію в порівнянні з микроконтроллерами і DSP процесорами. Це пояснюється можливістю апаратного розпаралелювання обчислень.

Тенденція розвитку ПЛІС полягає не в конкуренції з мікропроцесорами. Сучасний підхід до проектування складних систем полягає, швидше, у вдалому поєднанні архітектур ПЛІС і процесорів. При цьому відбувається органічне доповнення: можливість швидкісної обробки даних в реальному часі; реалізації вузькоспеціальних алгоритмів, з жорсткими тимчасовими діаграмами; велике число користувальницьких висновків з широкими можливостями процесорів для вирішення математичних і алгоритмічних задач.

Інший областю застосування ПЛІС є побудови високошвидкісних систем введення / виведення даних, завдяки вбудованим швидкісним приемопередатчиком, а також великій кількості користувальницьких висновків (сучасні ПЛІС мають більш 1000 користувальницьких висновків!) Що робить їх, найчастіше, єдино прийнятним рішенням.

Ще однією сферою застосування ПЛІС явялется прототипування замовних НВІС (ASIC), коли проект спочатку реалізується на ПЛІС, а потім переводиться в базис замовний мікросхеми.

Виходячи з вищесказаного, можна перелічити основні області застосування ПЛІС:

Високошвидкісна обробка даних;

Алгоритми ЦГЗ, особливо де потрібна обробка даних в реальному часі;

Завдання обробки інформації, що вимагають великої кількості користувальницьких висновків;

Проміжних етап проектування НВІС;

Вузькоспеціальні алгоритми, побудовані на жорстких часових діаграмах;

Проекти, де потрібна велика кількість портів введення-виведення.

В даний час найбільшу поширеність отримали два типи архітектур ПЛІС:

1) CPLD (англ. complex programmable logic device). Прикладами ПЛІС даної архітектури є сімейство MAX фірми Altera і CoolRunner фірми Xilinx. Для архітектур даних ПЛІС характерні великі логічні блоки - макрокомірки (macrocells). Сучасні ПЛІС містять до декількох сотень макрокомірок. Кожна макрокомірка реалізує функцію декількох змінних і містить тригер для зберігання отриманого результату. Для ПЛІС даної архітектури характерно вкрай низька споживана потужність у статичному режимі (споживаний струм порядку десятків мікроампер), яка лінійно зростає зі збільшенням тактової частоти. Також для даної архітектури характерні жорсткі часові затримки між макрокомірками а отже і висновками мікросхеми. Типовий час затримки між висновками (pin-to-pin) складає одиниці наносекунд. Прошивка ПЛІС даної архітектури зберігається всередині мікросхеми в незалежній пам'яті.

2) FPGA (англ. field-programmable gate array). ПЛІС даної архітектури володіють набагато більш розвиненою архітектурою, в порівнянні з CPLD. Основною структурною одиницею ПЛІС даної архітектури є LUT (англ. Lookup tables) - таблиці перетворення, що дозволяють реалізовувати логічні функції. Сучасні ПЛІС містять апаратні помножувачі в тому числі з накопиченням (MAC), блоки внутрішньої пам'яті, апаратні інтерфейси для DDRx SDRAM, апаратні ядра PCIexpress, вбудовані мікропроцесорні ядра, трансивери для організації швидкісної передачі даних між ПЛІС і зовнішніми пристроями.

У процесі проектування пристроїв на ПЛІС використовують мови опису пристроїв HDL (Hardware description language) - VHDL, Verilog, Abel, AHDL. Раніше був поширений спосіб проектування за допомогою рисування схемотехніки. Етап проектування пристрою на ПЛІС полягає в описі пристрою на мові HDL, перекладу опису в базис обраної ПЛІС, трасування внутрішніх ресурсів ПЛІС відповідно до зі списком ланцюгів, генерація результуючої прошивки.

На даний момент основними виробниками ПЛІС є: Xilinx, Altera, Actel, Lattice.

1.2     ПЛІС сімейства FLEX10K


ПЛІС сімейств FLEX10K, FLEX10KA, FLEX10KE на даний момент, найпопулярніша елементна база для реалізації алгоритмів цифрової обробки сигналів (ЦОС), побудови складних пристроїв обробки даних і інтерфейсів. Це пояснюється тим, що завдяки великій логічної ємності, зручною архітектурі, що включає вбудовані блоки пам'яті, досить високій надійності і вдалому співвідношенню ціна - логічна ємність дані ПЛІС задовольняють різноманітним вимогам, що виникають у розробника як систем ЦОС, так і пристроїв управління, обробки даних і т . п. Враховуючи ці особливості, для комірки інформаційного обміну була обрана ПЛІС цього сімейства. У таблиці 1.1 наведені основні відомості про ПЛІС сімейства FLEX10K.

Таблица 1.1. Основные сведения о ПЛИС семейства FLEX10K


EPF10K10

EPF10K50

EPF10K70

EPF10K130

EPF10K250

Число еквівалентних вентилів

10000

50000

70000

130000

250000

Число лог. елементів

576

2880

3744

6656

12160

Вбудовані блоки памяті

3

10

9

16

20

Обсяг памяті, біт

6144

20480

18432

32768

40960

Максимальне число виводів користувача

150

310

358

470

470

Узагальнена функціональна схема ПЛІС сімейства FLEX10K наведена на рис. 1.1. В основі архітектури лежать логічні блоки (ЛБ), що містять 8 логічних елементів і локальну матрицю з'єднань (ЛМС). Глобальна матриця з'єднань розділена на рядки і стовпці, має безперервну структуру. Посередині рядка розташовуються вбудовані блоки пам'яті. Крім того, є глобальні ланцюга управління, синхронізації і управління введенням-висновком.

Вбудований блок пам'яті (ВБП) являє собою ОЗУ ємністю 2048 (4096) біт і складається з локальної матриці з'єднань, власне модуля пам'яті, синхронних буферних регістрів, а також програмованих мультиплексорів. Сигнали на вхід ЛМС ВБП надходять з рядка ГМС. Тактові та керуючі сигнали надходять з глобальної шини керуючих сигналів. Вихід ВБП може бути скомутувати як на рядок, так і на стовпець ГМС.

Наявність синхронних буферних регістрів і програмованих мультиплексорів дозволяє конфігурувати ВБП як накопичувач з організацією 256 х 8, 512х4, 1024х2, 2048х1.

Наявність ВБП дає можливість табличній реалізації таких елементів пристроїв ЦГЗ, як перемножителя, АЛУ, суматори і т.п., що мають швидкодію до 100 МГц (звичайно за найсприятливіших умов, реально швидкодію арифметичних пристроїв, реалізованих на базі ВБП становить 10 - 50 МГц) .

Всі ПЛІС сімейства FLEX10K сумісні за рівнями з шиною PCI, мають можливість як послідовної, так і паралельної завантаження, повністю підтримують стандарт JTAG.

Елемент вводу-виводу (ЕВР) ПЛІС сімейства FLEX10K з'єднує канал рядки чи шпальти ГМС з виводом мікросхеми. ЕВР дозволяє здійснити введення-виведення біта даних з різними швидкостями, тимчасове зберігання даних, емуляцію відкритого колектора. Наявність вхідного і вихідного регістра дозволяють зберігати дані, що знижує логічне навантаження на ЛЕ і вивільняє ресурси ПЛІС для реалізації інших функцій. Швидкість перемикання буфера ЕВР може бути задана при конфігурації ПЛІС. Знижена швидкість перемикання дозволяє знизити рівень імпульсних перешкод і «дзвону» в системі.

Рис.1.1 Архітектура ПЛІС FLEX10K

1.3     Quartus II - система проектування ПЛІС


Quartus II (QII) - це система проектування на ПЛІС Altera, підходяща для усіх випущених сімейств мікросхем Altera. Це саме система, т. к. вона включає весь необхідний набір утиліт, підпрограм і налаштувань для повного створення проекту.

Всі підпрограми і утиліти QII можна розділити на групи згідно з етапами виконання проекту на ПЛІС, які виглядають наступним чином:

·        Створення файлу проекту;

·        Аналіз і синтез проекту;

·        Трасування зв'язків та розміщення проекту;

·        Часовий аналіз за допомогою утиліти Time Quest. При необхідності створення бази даних для передачі в іншу САПР для моделювання;

·        Програмування конфігураційної пам'яті.

Розглянемо деякі етапи детальніше.

Створенная проекту файлу.

Файл проекту можна створювати на апаратних мовах, графічному редакторі і редакторі кінцевих автоматів.

Рис.1.2. Файл з описом проекту

Апаратні мови, застосовуються для QII, VHDL (розширення файлу *. Vhd), Verilog (*. V) і System Verilog.

При створенні проекту може бути використати будь-яку мову з перерахованих вище.

Текстовий редактор можна використовувати будь-який, але той, який вбудований в QII, дозволяє наступне:

• вносити групові коментарі;

• можливість використання мовних шаблонів;

• синтаксичне підсвічування;

• пошук за ключовим словом;

• можливість згортання громіздких функцій;

• написання скриптів TСL.

Редактор пам'яті ROM. Дуже зручна утиліта для створення власних табличних значень. Наприклад, можна створити таблицю синусів (адреса - це аргумент функції, значення - це значення комірки пам'яті) або змоделювати сигнал в оболонці Mathlab і отримані значення записати в таблиці пам'яті. Також такий редактор може стати в нагоді для запису стійких станів при створенні, наприклад, модулятора. Значення можна записувати як в двійковому, так і в шістнадцятковому поданні. Записані значення будуть зберігатися в конфігураціонной пам'яті або флешпамяті, якщо мова йде про CPLD.

Редактор кінцевих автоматів існує для створення автомата станів з призначенням умов переходу в графічному вигляді (графами) з можливістю подальшого перетворення в HDL мова (будь-який) для можлиовсті перегляду реалізації вашого автомата.

Основне вікно проекту крім відображення самого проекту містить навігатор проекту, в якому описана ієрархія файлів проекту і список використовуваних бібліотек, символів і файлів, а також вікно стану компіляції (синтезу) проекту і вікно повідомлення помилок і попереджень.

Аналіз та синтез

Синтез - це процес створення проекту з урахуванням особливостей мікросхеми (ОЗУ, DSP-блоків, логіки) для перегляду використання ресурсів на ранньому етапі. Реальне використання ресурсів матриці буде видно тільки після компіляції. Цифри, показані в синтезі, можуть відрізнятися до 20-30%.

Для того, щоб оцінити чи правильно виконана поведінкова модель проекту після синтезу в Quartus II, можна переглянути тимчасові діаграми без урахування трасувальних особливостей, хоча можна задати і режим симуляції з прив'язкою до часу.

Установки - це такі глобальні налаштування, як:

• вибір мікросхеми, хоча він виробляється і при старті проекту;

• оптимізатор синтезу (за часом);

• найпростіші установки Фіттер (трасувальника);

• установки аналізатора оцінки споживаної потужності.

Рис.1.3. Вікно вибору ПЛІС

За допомогою аналізатора потужності можна отримати приблизне обчислення споживання потужності за результатами синтезу (з завданням тактової частоти і параметра, типу мікросхеми, використання логічних елементів).

Також існує окремий калькулятор потужності в оболонці Excel для попередньої оцінки її споживання ще до виходу версії QII, підтримуючої цю функцію в нових сімействах. Однак точність такого попереднього обчисленні 50% називається ця утиліта «Ранній оцінювач потужності».

На етапі синтезу можна оптимізувати лист зв'язків двома способами:

) отримати після синтезу файл в графічно редакторі RTL-Viewer, відредагувати його і знову відправити на синтез

) за допомогою Gate-level оптимізації можна здійснювати тимчасове вирівнювання між регістрами всередині матриці, наприклад, час проходження сигналу між регист-рами R1 і Rn, рівне 15 нс, вирівнюється за співвідношенням 15/n.

Компіляція

В САПР QII існує два типи компіляції:

• глобальна, тобто проект компілюється весь одночасно. Така компіляція доступна в Веб-версії QII;

• інкрементальних, тобто частична. Доступна тільки в ліцензійної версії і Logic Lock.

Рис.1.4.Повна та інкрементна компіляція

Перед запуском компіляції проекту необхідно виконати налаштування (assigments).Planer - утиліта, що дозволяє призначати сигнали на фізичні висновки мікросхеми. Їх можна призначити як жорстко прив'язані так і перекидати за певними правилами (в межах банку) для поліпшення результатів трасування.

Рис.1.5. Інтерфейс утиліти Pin Planer

Тут-же призначаються групи зв'язків, наприклад це шина, яку необхідно вирівняти (при цьому в групі можна призначати невирівняні, наприклад, старші розряди для поліпшення результатів трасування).

Источник: https://www.bibliofond.ru/detail.aspx?id=805497