VHDL, як мова для проектування комп’ютерних систем

Застосування мови VHDL для проектування комп’ютерних систем. Проектування комбінаційних схем, цифрових автоматів. Варіанти побудови процесу проектування цифрового пристрою на базі ПЛІС. Перехід синтезної моделі до логічної структури та бітового потоку.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 08.09.2011
Размер файла 248,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

VHDL, як мова для проектування комп'ютерних систем

Вступ

На сучасному етапі розвитку інформаційних технологій важливе місце займає синтез цифрових пристроїв на основі функціональних моделей. Його суть полягає в автоматизованому формуванні логічної структури пристрою на основі необхідної поведінки. Логічна структура описується інженером за допомогою спеціальної мови програмування - HDL (Hardware Description Language - мова опису обладнання та апаратного забезпечення). Найбільшого поширення серед мов класу HDL набули такі мови як ABEL, Verilog та VHDL.

Потреба застосування мов опису обладнання та апаратного забезпечення виникла внаслідок необхідності створення складних систем, проектування яких без застосування ЕОМ стало нераціональним. Існує стійка тенденція до створення складних системи, в тому числі й комп'ютерних, на програмованих логічних мікросхемах.

Лідерами у їх виробництві є такі фірми, як Xilinx, Altera, Lattice та Actel. Мікросхеми виготовляють за технологіями FPGA (Field Programmable Gate Array - програмована користувачем вентильна матриця) та CPLD (Complex Programmable Logic Device - комплексний програмований логічний пристрій).

Перевагою FPGA у порівнянні з СPLD є висока кількість системних вентилів та низьке енергоспоживання. Переваги СPLD полягають у більш високій швидкодії та забезпеченні можливості встановлення захисту від копіювання.

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

Мікросхеми CPLD-технології застосовують для проектування нестандартних арифметико-логічних пристроїв, дешифраторів, мультиплексорів та ін.

1. Застосування мови VHDL для проектування комп'ютерних систем

Комп'ютерні системи на програмованих логічних мікросхемах створюють із використанням логічного, схемного проектування та проектування за допомогою мов опису апаратного забезпечення.

Проектування за допомогою мов опису апаратного забезпечення виконує:

а) розробник, який описує необхідну поведінку цифрового пристрою за допомогою поведінкової моделі на функціональному рівні. Для цього він може скористатися спеціалізованими мовами опису апаратного забезпечення, графів скінченних автоматів та ін. В подальшому основну увагу буде приділено методам синтезу на основі мови опису апаратного забезпечення VHDL;

б) система автоматизованого проектування синтезує логічну структуру. Після цього апаратне забезпечення відтворює бажану поведінку.

На рис. зображено один з можливих варіантів побудови процесу проектування цифрового пристрою на базі ПЛІС від формулювання проектного завдання до кінцевого результату - реалізованого зразка.

Перший етап розробки технічного завдання на проектування цифрового пристрою полягає у:

- формуванні вимог та обмежень до проекту;

- виборі способу реалізації та елементної бази;

- формуванні плану роботи над проектом.

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

Поведінкове проектування цифрових пристроїв на базі ПЛІС

Поведінкова модель (Behavioral model, Interpreted model) показує реакцію моделі на зміну вхідних сигналів з урахуванням часу реакції, але не містить детального опису апаратної реалізації пристрою, що моделюється. Рівень абстракції залежить від детальності опису моделі. Наприклад, поведінкова модель може описувати процесор, що виконує абстрактний алгоритм, або це може бути модель процесора на нижчому рівні абстракції - рівні множини інструкцій. Точність деталізації вхідних і вихідних даних залежить від рівня абстракції моделі.

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

Структурна модель (Structural model) представляє компоненти чи системи з погляду взаємозв'язків між підкомпонентами, що їх утворюють. Структурна модель має відповідати фізичній ієрархії в описуваному об'єкті. Ієрархія, в свою чергу, визначається фізичною організацією конкретної реалізації. Структурна модель описує фізичну структуру конкретної реалізації шляхом визначення компонентів та топології їх взаємозв'язків. Компоненти можуть бути описані на структурному, функціональному чи поведінковому рівнях. Моделювання структурної моделі вимагає наявності поведінкових моделей всіх нижчих гілок ієрархії, отже, ступінь деталізації модельного часу, значень об'єктів даних та функціональності моделі залежить від ступеня деталізації моделей компонентів.

Модель продуктивності (Performance Model, Uninterpreted Model) дозволяє визначити лише часові аспекти роботи цифрового пристрою, що моделюється (тобто швидкість реакції на зміну вхідного сигналу, але не значення вхідного сигналу).

Модель інтерфейсу (Interface Model, bus functional) називають ще чорною скринькою. Може містити деталізацію за всіма аспектами процесів обміну інформацією між об'єктом та зовнішнім середовищем, включаючи функціональність, часові характеристики, значення даних тощо. Така модель не містить інформації про внутрішню структуру об'єкта.

Модель змішаного рівня, гібридна модель (Mixed-Level Model, Hybrid Model) - модель, що містить компоненти, описані на різних рівнях абстракції або різними класами моделей.

Віртуальний прототип (Virtual Prototype) - це комп'ютерна імітаційна модель кінцевого продукту, компонента чи системи. При цьому від такої моделі не вимагається дотримання жодних спеціальних умов щодо її характеристик. Термін «віртуальний прототип» позначає клас моделей, що відіграють певну роль у процесі проектування, зокрема:

* показує можливі варіанти реалізації проекту;

* демонструє концепцію проекту;

* дає можливість перевірки проекту на відповідність вимогам та адекватності поставленій задачі.

Повернемося до процесу проектування, наведеному на рис. Весь процес розбито на 4 головні етапи.

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

На другому етапі формується поведінкова модель. У VHDL під поведінковою розуміється модель, написана із застосуванням всіх існуючих в цій мові конструкцій та типів даних, наприклад, дійсних чисел, файлів, вказівників динамічної пам'яті тощо. Поведінкова модель, розроблена на другому етапі, повинна повністю відповідати вимогам, сформованим на першому етапі. Саме це й перевіряється на підетапі IIb.

Після формування остаточного вигляду поведінкової моделі розробник переходить до етапу III - створення синтезної моделі. Синтезна модель також належить до класу поведінкових, однак може бути написана лише за допомогою певної підмножини конструкцій мови VHDL, які підтримуються засобами синтезу логічної структури. На даному етапі розвитку засоби синтезу (перетворення VHDL-програми на схему логічних елементів) підтримують не всі можливі у VHDL мовні конструкції, наприклад, не підтримуються операції з дійсними числами чи вказівники. Такі конструкції, як, наприклад, файли, із зрозумілих причин відносяться до природно-несинтезованих. Перехід від поведінкової моделі до синтезованої характеризується зниженням рівня абстракції описання пристрою.

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

2. Проектування комбінаційних схем

мова цифровий бітовий комп'ютерний

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

До комбінаційних функціональних вузлів відносяться перетворювачі коду (окремим випадком яких є шифратори і дешифратори), мультиплексори, демультиплексори, комбінаційні суматори та ін.

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

Якщо логічна функція має N вхідних змінних, то загальне число комбінацій вхідних змінних складає M = 2N.

Реалізація логічної функції на базі мультиплексора припускає, що використовується мультиплексор з числом керуючих входів, що дорівнює числу вхідних змінних логічної функції (N), і відповідно у мультиплексора є 2N інформаційних входів. Для реалізації логічної функції на базі мультиплексора необхідно подати всі N вхідних сигнали на керуючі входи мультиплексора. Далі необхідно подати логічні «1» на всі інформаційні входи мультиплексора, адреса яких входить в набір комбінацій вхідних змінних, для яких вихідне значення функції визначене як «1». На решту всіх інформаційних входів мультиплексора необхідно подати «0». На рис. представлений приклад реалізації на базі мультиплексора логічної функції, яка задана таким рівнянням (1):

(1)

Реалізація логічної функції на базі мультиплексора

Для реалізації логічної функції від N вхідних змінних на базі дешифратора необхідно об'єднати через багатовхідний логічний елемент АБО всі виходи дешифратора, адреса яких належить до набору комбінацій вхідних змінних, для яких вихідне значення функції визначене як «1». На рис. представлений приклад реалізації логічної функції на базі дешифратора.

Реалізація логічної функції на базі дешифратора

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

Елементи архітектури основного проекту

Оголошення компоненту проводиться в декларативній частині архітектури головного проекту:

component ім'я_компонента

port (порт_1: режим тип

порт_2: режим тип

порт_N: режим тип);

end component;

При оголошенні компонента необхідно вказати в полі ім'я_компонента початкову назву проекту нижнього рівня, вказану при його оголошенні (Entity), а також описати його інтерфейс. Імена, режими та типи портів інтерфейсу компонента повинні відповідати іменам, режимам і типам портів в операторі Entity його початкового файлу. Нижче представлений приклад оголошення паралельного восьмирозрядного синхронного регістра:

component parallel_reg

port (clk: in std_logic; - вхід синхронізації

rst: in std_logic; - вхід скидання

load: in std_logic; - вхід дозволу запису

data_in: in std_logic_vector (7 downto 0);

data_out: out std_logic_vector (7 downto 0));

end component;

Далі у виконуваній частині архітектури основного проекту після слова begin виконується підключення компоненту:

Ідентифікатор: ім'я_компонента

port map (порт_1 => сигнал_1

порт_2 => сигнал_2

порт_N => сигнал_N);

end component;

Підключаючи компонент необхідно дотримувати такі правила:

тип порту компоненту повинен відповідати типу сигналу, до якого він підключається;

якщо порт компоненту не використовується, то записується слово open;

якщо розрядність порту не відповідає розрядності сигналу, то необхідно вказати розряди сигналу які підключаються до порту.

Наприклад, якщо компонент має восьми розрядний порт data_out, а підключається до старшого байта 16-розрядного сигналу (шини) data_bus, то в рядку, де записується підключення порту, слід записати: data_out => data_bus (15 downto 8).

3. Проектування цифрових автоматів

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

Для опису будь-якого цифрового автомата використовують:

безліч допустимих станів цифрового автомата S = {S0, S1, S2, … SK}, де К - кількість станів. При цьому один із станів S0 є початковим.

безліч входів I = {I0, I1, I2, … IN}, де N - загальна кількість входів цифрового автомата;

безліч виходів O = {O0, O1, O2, … OM}, де M - загальна кількість виходів цифрового автомата;

функція переходів визначає стан цифрового автомата у момент часу залежно від стану автомата та вхідних сигналів у момент часу : .

функція виходів визначає значення вихідних сигналів за станом цифрового автомата (для цифрового автомата Мура) та за станом цифрового автомата і вхідних сигналів (для автомата Міля).

Узагальнена структура цифрового автомата (рис. 0.5) містить:

State Register - схема пам'яті на базі n-розрядного паралельного регістра. Використовується для зберігання інформації про поточний стан (Current State) цифрового автомата;

Next State Logic - вхідна комбінаційна схема. Використовуючи значення вхідних сигналів і сигналу Current State формує сигнал Next State, що визначає перехід цифрового автомата з поточного в наступний стан (реалізує функцію переходів);

Output Logic - вихідна комбінаційна схема. Формує вихідні сигнали на основі стану цифрового автомата та вхідних сигналів (реалізує функцію виходів).

На практиці використовують два типи цифрових автоматів: автомат Міля та автомат Мура. В автомата Мура значення вихідних сигналів визначається тільки станом самого цифрового автомата. В автомата Міля значення вихідних сигналів визначається як станом автомата, так і вхідними сигналами.

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

Наприклад, в таблиці 1 представлено суміщену таблицю переходів і виходів автомата Міля в якого є:

безліч допустимих станів S = {RED, BLUE, GREEN, WHITE};

безліч входів I = {X1, X2};

безліч виходів O = {led_0, led_2, led_3};

функція переходів і функція виходів задається суміщеною таблицею переходів і виходів (табл. 0.1).

Суміщена таблиця переходів і виходів цифрового автомата Міля

Вхідні сигнали

Стани

RED

BLUE

GREEN

WHITE

X(0)

BLUE / led0, led3

WHITE / led1, led2

RED / led2, led3

RED / led0, led1

X(1)

WHITE / led1, led3

GREEN / led0, led2

BLUE / led3

GREEN / led2

Комірка в таблиці, що знаходиться на перетині рядка вхідного сигналу X(0) або X(1), а також стовпця поточного стану автомата (RED, BLUE, GREEN, WHITE) вказує наступний стан автомату. Після косої межі вказуються активні вихідні сигнали в поточному стані, якщо відповідний вхід цифрового автомата є активним (присутня логічна «1»). Граф вказаного автомата Міля представлений на рис.

Граф автомата Міля

Кожна вершина представленого графа співвідноситься з одним із можливих станів автомата. Ребра графа визначають перехід з поточного стану. При цьому умова переходу в наступний стан визначатися сигналом вказаному в чисельнику. В знаменнику вказані активні вихідні сигнали для поточного стану при вхідному активному сигналі.

В табл. представлено суміщену таблицю переходів і виходів для цифрового автомата Мура, а на рис. представлено його граф.

Суміщена таблиця переходів і виходів цифрового автомата Мура

Вхідні сигнали

Стани

RED

BLUE

GREEN

WHITE

X(0)

BLUE

WHITE

RED

RED

X(1)

WHITE

GREEN

BLUE

GREEN

led0, led3

led1, led2

led2, led3

Led0, led1

Вихідні сигнали

Граф автомата Мура

Для цифрових автоматів Мура характерна залежність значення вихідних сигналів тільки від стану автомата. Тому вершини графа, які відображають його стан, сполучені ребрами, на яких вказаний активний вхідний сигнал, що визначає умова переходу. Перелік активних вихідних сигналів для кожного стану записують безпосередньо у вершині графа.

Размещено на Allbest.ru


Подобные документы

  • Загальні відомості про мову VHDL, яка використовуються для проектування цифрових електронних систем та створення програмного продукту, її елементи. Способи структуризації програми, принципи об’єктно-орієнтованого програмування, засоби налагоджування.

    курсовая работа [34,9 K], добавлен 09.06.2010

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

    реферат [1,5 M], добавлен 13.06.2010

  • Синтез на основі поведінкового опису, виконаний розробниками на мові програмування класу HDL, як перспективний напрямок проектування цифрових пристроїв. Опис RISC-архітектури комп'ютерів. VHDL-модель прототипу RISC-комп'ютера. Основні модулі моделей.

    курсовая работа [1,1 M], добавлен 23.01.2014

  • Проектування офісу за допомогою системи 3D Home Architect 8, його зовнішнього та внутрішнього виду, устаткування. Підготовка інженерів-педагогів в галузі комп'ютерних технологій для моделювання об'єктів у різних системах автоматизованого проектування.

    курсовая работа [4,7 M], добавлен 01.07.2010

  • Різні можливості й границі застосування обчислювальної техніки для автоматизації проектування. Початкові дані для проектування офісу. Опис призначення офісу і його програмне забезпечення. Альтернативне комп'ютерне встаткування та критерії його вибору.

    курсовая работа [2,7 M], добавлен 14.12.2010

Работа, которую точно примут
Сколько стоит?

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.