pls manoilov

68
Системи с Програмируема логика. Архитектура и организация. Методи и средства за проектиране. Петър Маноилов 1. Интегралните схеми като основа на системите с програмируема логика. Класификации и характеристики. Интегралната схема (Integrated Circuit) отбелязвана също като микрочип или просто чип) представлява миниатюризирана електронна схема, направана от парче от пластина от полупроводников материал. Първата интегрална схема е проектирана и демонстрирана от Jack Kilby от Texas struments и Robert Noyce от Fairchild Semiconductor (през 1958). Kilby получава Нобелова премия по физика за това през 2000 г. Интегралните схеми са съставени главно от електронни компоненти като транзистори, диоди, резистори, кондензатори , реализирани върху тънка пластина от полупроводников материал. [1], [2], [3]. Един типичен съвременен чип съдържа милиони електронни компоненти (главно транзистори). Понастоящем интегралните схеми изграждат почти цялата електронна апаратура (вкл. и компютрите). Съществуват различни типове устройства, реализирани върху интегралните схеми в момента – например процесори за компютри, реализирани върху един чип (така наречените микропроцесори), или запомнящи устройства за процесори, мобилни телефони, фотоапарати, съдържащи памет за двоични кодове и данни. Фиг. 1 показва графично параметрите - време за закъснение на сигналите в един логически елемент и отделяна мощност от един логически елемент за различните видове

Upload: ivo-dimitrov

Post on 03-Jan-2016

214 views

Category:

Documents


5 download

DESCRIPTION

PLS Manoilov

TRANSCRIPT

Page 1: PLS Manoilov

Системи с Програмируема логика. Архитектура и организация. Методи и средства за проектиране.

Петър Маноилов

1. Интегралните схеми като основа на системите с програмируема логика. Класификации и характеристики.

Интегралната схема  (Integrated Circuit) отбелязвана също като микрочип или просто чип) представлява миниатюризирана електронна схема, направана от парче от пластина от полупроводников материал.

Първата интегрална схема е проектирана и демонстрирана от Jack Kilby от Texas struments и Robert Noyce от Fairchild Semiconductor (през 1958). Kilby получава Нобелова премия по физика за това през 2000 г.

Интегралните схеми са съставени главно от електронни компоненти като транзистори, диоди, резистори, кондензатори , реализирани върху тънка пластина от полупроводников материал. [1], [2], [3]. Един типичен съвременен чип съдържа милиони електронни компоненти (главно транзистори).

Понастоящем интегралните схеми изграждат почти цялата електронна апаратура (вкл. и компютрите). Съществуват различни типове устройства, реализирани върху интегралните схеми в момента – например процесори за компютри, реализирани върху един чип (така наречените микропроцесори), или запомнящи устройства за процесори, мобилни телефони, фотоапарати, съдържащи памет за двоични кодове и данни.

Фиг. 1 показва графично параметрите - време за закъснение на сигналите в един логически елемент и отделяна мощност от един логически елемент за различните видове технологии за реализация на логическите елементи на интегрални схеми [7].

Page 2: PLS Manoilov

Фигура 1На горната графика означените технологии са:- nMOS – технология на реализация само с n- канални MOS –

транзистори;-CMOS – технология на реализация чрез двойки от n- канален

и p- канален MOS – транзистори ;-BiCMOS – технология на реализация чрез двойки от n-

канален и p- канален MOS – транзистори и биполярни транзистори в изходните стъпала на схемите;;

-ECL – технология на реализация чрез емитерно свързани стъпала от биполярни транзистори;

-GaAs - технология на реализация върху пластини от GaAs.1.1. Класификация на интегралните схеми, според броя на елементите им.

Често интегралните схеми се класифицират според броя на транзисторите (или на други електрони компоненти – например логически елементи) в структурата им. Този брой е наричан Степен на Интеграция (Scale Integration) на интегралните схеми [3], [7].

Page 3: PLS Manoilov

В зависимост от постигнатата Степен на Интеграция при производството им, интегралните схеми се разделят общо на пет групи. По-долу в тези групи да дадени като примери програмируеми (електрически конфигурируеми ) интегрални схеми, които са разглеждат по-подробно в този материал като носители (върху които са реализирани) цифровите системи с програмируема логика.

Интегрални схеми с малка степен на интеграция (SSI - small-scale integration): до 100 електронни компонента на чип.

В тази група влизат интегрални схеми с малък брой електронни компоненти – логически елементиI (Фигура 1) или буферни схеми.

Интегрални схеми със средна степен на интеграция (MSI - medium-scale integration): От 100 до 3,000 електронни компоненти в чип.В тази група влизат т.нар. Програмируеми Логически

Устройства (Programmable logiц devices -PLD) - PAL,PLA, PROM, EPROM .

Програмируемо Логическо Устройство върху чип (Programmable array logic -PAL), използвано за реализация на логически

схеми .

Изтриваема постоянна памет (Erasable Programmable R ead- O nly   M emory - EPROM), представляваща чип с

постоянна памет, запазваща записаните в нея данни и при изключване на захрахващото напрежение. Малкото кварцово прозорче позволява данните да бъдат изтривани чрез ултравиолетова светлина.  Интегрални схеми с голяма степен на интеграция (LSI - large-scale integration): От 3,000 до 100,000 електронни компоненти в чип.На тази група принадлежат класическите по-стари

микропроцесори (Microprocessors), сложните програмируеми логически устройства (Complex Programmable Logic Devices - CPLD), чиповете с памет с произволен достъп (Random Access Memory - RAM).

Page 4: PLS Manoilov

Сложно програмируемо логическо устройство

(Al tera MAX 7000-series Complex Programmable Logic Device - CPLD) , използвано за имплементиране (програмиране

в него) на сложни управляващи цифрови устройства.

Интегрални схеми със свръхголяма

степен на интеграция (VLSI - very large-scale integration): От 100,000 до 1,000,000 електронни компоненти в чип.В тази група влизат чиповете със съвременни

микроконтролери, и т.нар. програмируеми матрици (Field programmable gate arrays - FPGA).

Програмируема матрица ( Altera Stratix II GX Field Programmable Gate Array - FPGA), използвана за имплементиране на специализирани високоскоростни контролери и Системи – върху- чип (systems-

on-chip). Интегрални схеми с ултра свръхголяма степен на интеграция (ULSI  - ultra large-scale integration): С повече от 1,000,000 електронни компоненти в чип.

На тази група принадлежат съвременните процесори за компютри, високопроизводителните системи – върху – чип .

1.2. Класификация на Интегралните Схеми според технологията на производство и методите за реализация на цифрови устройства върху тяхСъгласно технологията за реализация и използване, съвременните интегрални схеми са два типа (Фиг.2): Стандартни интегрални схеми (Standard integrated circuits) и Интегрални Схеми със Специализирано Приложение ( Application Specific Integrated Circuits - ASICs ) [2], [7].

Page 5: PLS Manoilov

ИНТЕГРАЛНИ СХЕМИ

СТАНДАРТНИИНТЕГРАЛНИ

СХЕМИИНТЕГРАЛНИ СХЕМИ СЪС

СПЕЦИАЛИЗИРАНО ПРИЛОЖЕНИЕ(ASIC)

Фигура 2

Стандартните интегрални схеми се произвеждат в големи серии и се използват за конструирането на много цифрови устройства и системи. Процесорите и блоковете “памет” за съвременните персонални компютри са в тази група:

Процесор Intel Pentium Dual-Core E2140

SIM - Модули с RAM - динамична памет, използвани в персоналните компютри.

Интегралните схеми със специализирано приложение (The Application-specific Integrated Circuits - ASICs) се проектират и произвеждат за конкретни проекти, задавани от потребителите (конструктори на електронна и компютърна техника). Те осигуряват възможност конструкторите допълнително да променят тези схеми в процеса на производството им, с цел покриване на конкретните потребителски изисквания.

Page 6: PLS Manoilov

Общ топологичен (layout) план на система върху чип със специализиранo приложение

В момента са разпространени две

основни ASIC –технологии: конфигуриране чрез фотомаски и електрическо конфигуриране (Фиг. 3):

Конфигурируеми чрезфотомаски интегрални

схеми

ИНТЕГРАЛНИ СХЕМИ СЪССПЕЦИАЛИЗИРАНО ПРИЛОЖЕНИЕ

(ASIC)

Електрически конфигурируемиинтегрални схеми

(Програмируеми интегралнисхеми)

Фигура 3

Конфигурируемите чрез фотомаски интегрални схеми (масково конфигурируеми устройства) могат да бъдат произведени и конфигурирани само от производителя по фотохимични и електрохимични технологии, включващи използване на фотомаски [3], [7]. Реализираните върху тези чипове устройства и системи не могат да бъдат променяни след процесите на производство, тоест, те са с фиксирани електронни схеми, организация и архитектура.

Page 7: PLS Manoilov

Устройствата и системите върху електрически конфигурируемите интегрални схеми (програмируеми интегрални схеми) могат да бъдат реализирани (програмирани) от потребителя (конструктора на цифрови устройства) в лаборатория чрез електрическо конфигуриране на предварително произведения чип, за да изпълняват функции, необходими на потребителя. Такива устройства и системи наричаме устройства и системи с програмируема логика.

2. Програмируеми (електрически конфигурируеми ) интегрални схеми (PLD) [4]

На Фиг.4 е представена една класификация на електрически конфигурируемите (програмируеми) интегрални схеми според архитектурата и предназначението им:

Програмируемипостоянии памети

Програмируемилогически устройства

(PLD)

Електрически конфигурируемиинтегрални схеми

(програмируеми интегрални схеми)

PROM

EPROM

EEPROM

FLASH

PROM

PAL

GAL

CPLD

FPGA

Page 8: PLS Manoilov

Фигура 4

Постоянните програмируеми памети от тази класификация се използват за съхраняване в тях на програми и (масиви от ) данни. Те се използват като памети в компютърните системи.

Програмируемите логически устройства (Programmable Logic Devices - PLD) могат да бъдат конфигурирани по електрически път (програмирани) от потребителите за широк спектър от приложения – логически схеми и устройства, последователностни схеми (крайни автомати), контролери, микрокомпютри, процесорни системи върху чип.

2.1. Архитектурни и схемотехнически характеристики на програмируемите логически устройства в интегрални схеми със средна степен на интеграция (MSI – chips) – PROM, PLA, PAL, GAL. [4], [8]

Програмируемите Логически Устройства(PLD) имат следните основни характеристики:

в структурата им съществуват сравнително голям голям брой (стотици и хиляди) логически елементи, тригери, регистри, буферни схеми , свързващи линии и шини;

биват конфигурирани (програмирани) от потребител да изпълняват логически функции (комбинационни логически схеми)и да имат поведение на последователностни схеми (крайни автомати) за управление;

при “класическите” програмируеми логически устройства програмирането се извършва чрез прекъсване (прогаряне) от токови импулси на свързващи линии (fusible links) от структурата им.

Базова архитектура на PLD: Съставени са от

матрица с И (AND) – логически елементи и матрица от ИЛИ (OR) – логически елементи;

Всеки вход се свързва към неинвертираща буферна схема и към инвертираща буферна схема за получаване на истинската

Page 9: PLS Manoilov

и инвертирана логическа форма на всяка входна логическа променлива - това са входните линии за AND-матрицата;

Всеки изход на AND – матрицата (наричан product line) се свързва към вход на OR - матрицата;

Някои основни характеристики на PLD:

PROM PAL PLAAND - матрица С непроменими

връзкиПрограмируема Програмируема

OR - матрица Програмируема С непроменими връзки

Програмируема

Гъвкавост за различни потребителски реализации

Малка Приемлива за практиката

Голяма

Трудности при производството, програмирането и тестването

Малка Задоволителна Голяма

Стандартни означения, използвани в схеми на PLD

Графично представяне на трите основни вида PLD :

Page 10: PLS Manoilov

Фигура 5

2.2. Технология и примери за програмиране (конфигуриране по електрически път) на PLD [4].

В “класическите” PLD - чипове, програмируемите матрици са конструирани от диоди в пресечните точки на матриците

При

процеса на програмиране, определени диоди биват прекъсвани чрез прогаряне на връзки посредством токови импулси. Получената структура определя реализираните логически схеми и изпълняваните от тях логически функции в матрицата.

На Фиг.6 е показана схема на примерна диодна конфигурация след програмиране на матриците в - PLD чип и аналитични изрази на логическите функции, получени след това програмиране (със знака плюс е означена логическата операция “или”, а със знака точка - означена логическата операция “и”:

Page 11: PLS Manoilov

Фигура 6

Едно съвременно развитие на PAL са т.нар. GAL (generic array logic) – устройства.  Тези чипове имат същите логически и архитектурни характеристики, както PAL, на за разлика от тях съдържанието им може да се изтрива и отново записва – те са репрограмируеми.

Чипове GAL 16V8 и 20V8 на Lattice corporation

GAL- чиповете притежават фиксирана OR – матрица и програмируема AND – матрица. За разлика от PAL, обаче, AND – матрицата на GAL е съставена от транзистори с плаващ гейт ( floating gate transistors).

Фигура 7

Напречен разрез на транзистор с плаващ гейт в интегрална схема.

Page 12: PLS Manoilov

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

Пример за реализация на логически функции (с логически операции “и” и “не”) в програмирана матрица с транзистори с плаващ гейт.

Фигура 8

2.3. Диаграма на процесите на програмиране (електрическо конфигуриране) на PLD – чиповете със средна степен на интеграция. [4]

PLD – чиповете със средна степен на интеграция се конфигурират (програмират) с помощта на специализирано устройство (programming unit), данните (файл за конфигуриране) за което създава сравнително проста автоматизирана система от входно текстово (text entry) или графично описание(schematic capture) на проектираното устройство :

Page 13: PLS Manoilov

Фигура 9

3. Съвременни високопроизводителни програмируеми интегрални схеми с голяма и свръхголяма стeпен на интеграция (LSI и VLSI) - Сложни програмируеми логически устройства (CPLD) и Програмируеми матрици (FPGA). [1], [3], [7]

Сложните програмируеми логически устройства (Complex Programmable Logic Devices – CPLDs) и Програмируемите матрици (Field Programmable Gate Arrays – FPGAs) представляват следващо, по-съвременно развитие на Програмируемите Логически Устройства (PLD) със значително по-голям брой компоненти (логически елементи), реализирани върху чиповете – хиляди (за CPLD ), стотици хиляди и милиони (за FPGA). Това развитие се дължи на факта, че интегралните технологии увеличават непрекъснато във времето броя на елементите, реализирани върху чиповете. На следващата графика (Фиг.10) е показан отчитаният среден брой логически елементи в конфигурируемите по електрически път чипове от горните три вида. Този брой, обаче, непрекъснато нараства, особено за CPLD и FPGA -чиповете.

Page 14: PLS Manoilov

Фигура 10

3.1. Кратък преглед на архитектурата, организацията и начините на конфигуриране на CPLD– чиповете. [4]

CPLD – чипове на фирма Xilinx

Блокова схема, представяща общо архитектурата на CPLD – чиповете, е показана на Фиг.11 :

Page 15: PLS Manoilov

Фигура 11

Принципно, както се вижда и от горната схема, структурата на CPLD е съставена от средно няколко десетки блока, представляващи функционално PLD - устройства ( PLA , PAL), свързани с помощта на блок – комутатор за данни (свързваща матрица).

На следващата фигура е показана блокова схема, представяща архитектурата на CPLD - чиповете от фамилия CoolRunner – II:

Фигура 12

PLD – блоковете с така наречените макроклетки на изходите, се настройват по електрически път за изпълняване на основни логически и аритметични функции.

По-долу е показана таблица, представяща основни параметри на чиповете от фамилия CoolRunner – II (брой макроклетки в

Page 16: PLS Manoilov

струкрурата, брой изводи за обмен на данни на всеки чип, максимална тактова честота, допустима за всеки чип):

Елементи на електрическото конфигуриране (програмиране) на CPLD- чиповете:

В CPLD- чиповете най-често се използват MOS - транзистори с плаващ гейт, които осигуряват енергонезависимо конфигуриране.

Приложение на CPLD – чиповете: за имплементиране на сложни, бързодействащи управляващи устройства (контролери) :графични контролери, контролери за локални мрежи (LAN - контролери), контролери за интерфейси за обмен на данни (UARTs ), контролери за бързи, асоциативни памети (cache control ), за контролери за мобилни телефони и др.

Обикновено горните управляващи устройства се описват като последователностни схеми (крайни автомати) на входа на развойната среда, която се използва за проектирането и имплементирането им върху CPLD – чиповете.

3.2. Кратък преглед на архитектурата, организацията и начините на конфигуриране на FPGA – чиповете. [1],[3],[4], [12], [14]

Page 17: PLS Manoilov

FPGA – чипове на фирми Altera и XilinxАрхитектурата на FPGA – чиповете представлява двумерна

матрица от голям брой (десетки или стотици хиляди) конфигурируеми по електрически път логически блокове, способни да изпълняват логически, аритметични функции, запомнящи функции и функции по формиране на входно/изходните сигнали за чиповете. Тези блокове се свързват посредством линиите и буферните схеми на конфигурируема също по електрически път комуникационна матрица . Фиг.13 показва опростена архитектура на FPGA – чип:

Фигура 13

По-подробна схема, илюстрираща основните елементи на FPGA – архитектура [1] с различните видове настройваеми по електрически път блокове в нея е показана на Фиг.14:

Фигура 14

На следващите фигури Фиг.15 и Фиг.16 е представена архитектурата на FPGA – чиповете от фамилия Spartan 3e, а също и част от матрицата от конфигурируеми логически блокове [9]:

Page 18: PLS Manoilov

Фигура 15

Фигура 16

Следващата фигура показва опростено функционалните възли на настройваемите блокове на чипа:

Фигура 17

Ресурсите, притежавани от FPGA – чипове от фамилия

Page 19: PLS Manoilov

Spartan 3e, са показани на следващата таблица:

Елементи на електрическото конфигуриране на FPGA- чиповете :

При FPGA- чиповете битовете от файла за конфигуриране, управляващи конфигурирането, се записват в D – тригери на чипа (наричани още SRAM – клетки )

Схемата вляво показва управлението от SRAM – клетките на транзисторите, използвани като буферни

схеми в матрицата на връзките и мултиплексерите в конфигурируемите блокове FPGA – чиповете.

3.3. Приложение на FPGA – чиповете за реализация на високопроизводителни системи с программируема логика. [13], [14], [15], [16]

FPGA – чиповете се използват за реализация (имплементиране) на високопроизводителни цифрови устройства и системи като контролери, специализирани изчислителни устройства за паралелни изчисления в областите на компютърната графика, цифрова обработка на сигнали, обработка на изображения, матрични изчисления, комутататори на пакети от данни в многокомпютърните

Page 20: PLS Manoilov

системи (клъстери), едно- и многопроцесорни системи върху чип за управление, събиране на данни и др.

Друго основно приложение на тези чипове е за прототипиране на устройства и системи, които първоначално се проектират, имплементират и тестват върху FPGA – чипове, а след задоволителни резултати се оптимизираните проекти се реализират върху масково конфигурируеми чипове – тази последователност се нарича миграция на проектите.

На Фиг. 18 е показана блокова схема на изграждане на Система-върху-чип (System-on-Chip) , използвайки подсистема със (soft-) процесор MicroBlaze върху FPGA – чипове от фамилии Virtex-6 и Spartan-6 на фирма Xilinx.

Фигура 18

Фиг. 19 показва блокова схема на Видео Система- върху- FPGA чип от фамилия Spartan-6, използвайки подсистема със (soft-) процесор MicroBlaze.

Page 21: PLS Manoilov

Фигура 19

На Фиг. 20 е начертана Блокова схема на Система върху FPGA чип от фамилия Virtex-6 за управление на комуникация по оптичен канал:

Фигура 20

Фиг. 21 показва блокова схема на Система върху FPGA чип от фамилия Virtex-6 за управление на безжична комуникация

Page 22: PLS Manoilov

Фигура 21

3.4. Кратък сравнителен анализ между CPLD- и FPGA- чиповете. Конфигуриране.[4]

В сравнение със CPLD, FPGA – чиповете предлагат значително по-голям брой конфигурируеми ресурси, които могат да функционират паралелно и/или в конвейерен режим за имплементираното върху чипа устройство. CPLD- чиповете са по-бързодействащи, консумират по-малко мощност и са по-евтини, но са с по-малък брой ресурси, особено по-малко са в тях елементите “памет” – тригери, регистри, блокове RAM.

Опростена диаграма на процесите на електрическо конфигуриране (програмиране) на CPLD – и FPGA – чиповете е показана на Фиг.22. Тук процесите на проектиране и конфигуриране са по-сложни в сравнение с тези при PLD и съответно се извършват от по-сложна система са автоматизирано проектиране (развойна среда), с активно използване на вече готови описания от библиотеки на средата, под управлението на проектанта, който отново задава входното описание на проектираното устройство. Конфигурируемият CPLD – или FPGA – чип е върху развойна платка с контролер за конфигуриране, свързана с интерфейс (най-често USB) към компютъра с развойната среда.

Page 23: PLS Manoilov

Фигура 22

На следващата фигура Фиг.23 е показана развойна платка със CPLD – чип от фамилията CoolRunner-II на фирма Xilinx (вляво) и развойна платка с FPGA – чип от фамилия Spartan 3e на фирма Xilinx (вдясно). Платките се използват в системи за проектиране и имплементиране върху програмируемите им чипове на цифрови устройства и системи .

Фигура 23

3.5. Процеси на проектиране и имплементиране на цифрови устройства и системи върху FPGA - чипове. Проектиране с итерации върху реконфигурируеми чипове. Описания на проектираните устройства.

Диаграма на процесите на проектиране и имплементиране на цифрови устройства върху FPGA – чипове, извършено от проектант и развойна среда, е показана на Фиг.24:

Page 24: PLS Manoilov

Фигура 24Процесите на проектиране на цифрово устройство върху

FPGA - чип, изпълнявани от проектант, работещ с една конкретна развойна среда (ISE, разработена от фирма Xilinx) , са показани по-долу в прозорец на средата:

Page 25: PLS Manoilov

Най-често CPLD – и FPGA – чиповете са реконфигурируеми, което означава, че конфигурирането им с цифрови устройства може да се извършва многократно. Това предпоставя итерационен процес на проектиране на различни цифровите устройства или на различни, (подобряващи се) версии на едно и също устройство върху тези чипове, който цели достигане на оптимални (удовлетворяващи проектанта) параметри. Диаграма на такъв итерационен процес е показана на Фиг.25:

Входно описание:изисквания,формули,времеви съотношения

Функционално проектиране

Проектиране на RTL - ниво

Синтезиране на логическасхема

Разполагане и свързване взададен FPGA - чип

Извличане на времевихарактеристики

Създаване на файл законфигуриране на FPGA -

чип

Функционалнасхема, алгоритъм

RTL - модел,описание чрез

VHDL

Оценка на резултатите иевентуална промяна на

описанието на цифровотоустройство

Симулационенмодел

Симулиране

конфигуриранFPGA - чип

Тестване наустройството

Работа на развойнасистема за проектиране

върху FPGA

Фигура 25

Page 26: PLS Manoilov

3.6.Основни елементи на входно описание на цифрово устройство или цифрова система с цел проектиране и имплементиране върху програмируем чип (CPLD, FPGA) с помощта на развойна среда. [1], [5], [6]

Oписаниятa на цифрови устройства, направени от проектант с цел проектирането и имплементирането им с помощта на развойна среда върху програмируем чип обикновено са езикови или схемни. Езиковите описания използват обикновено език от високо ниво от класа на езиците за описание на хардуер (HDL), като например VHDL, Verilog за описание на структурата или езици от вида на MATLAB, чрез които се описва поведението (алгоритъма на работа) на проектираното устройство . Схемните описания се използват за въвеждане на структурата на устройството, чрез графичен редактор, предоставян от развойната среда. Наличието в проектираната цифрова система на процесори, изисква описване и на кода на програмите им, например на С или С++:

Показаната по-долу блокова схема илюстрира основните елементи на едно описание на цифрово устройство , направено чрез езика VHDL.

Library...

Entity <Име на обект> isPort(...

End <име на обект>

Списък от входните и изходни сигнали на

проектираното устройство (обект)

Architecture <име на архитектурата> of<име на обект>

Декларации навътешните

сигнали и компоненти

BeginБлок на

архитектурата с оператори и процеси за

описание на обработката на

информация

End <име архитектурата>

Декларации за достъп до библиотеките на развойната среда

Интерфейсна декларация за проектираното устройство (обект)

(Описва входно/изходните сигнали на

устройството)

(Описва вътрешната

структура или поведението на устройството)

Архитектура на устройството

Фигура 26

Page 27: PLS Manoilov

Фиг. 27 показва входните и изходните сигнали на цифрово устройство, извършващо изчисления за макрооперацията “пеперуда” , използвана при задачата за Бързо Преобразувание на Фурие. Блоковата схема на устройството е начертана на Фиг. 28 , a VHDL – описанието с основните му елементи е показано на Фиг. 29

16

16

16

16

32

32

32

Fourier_butterfly

1

32

32

32

P

Q

R

S

M

N

CLK

Qp

Np

Pp

Mp

Фигура 27

mult mult mult mult

sub sub

sub adder sub adder

PQRS

MN

register

register

A11

register registerregister

A12 A13 A14

register register

A B

register register register

Mp Pp Np Qp

MpPpNpQp

CLK

16

16

16

32

32

32

3232

16

16

Фигура 28

Page 28: PLS Manoilov

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Fourier_butterfly isport (CLK : std_logic; P : in std_logic_vector (15 downto 0); Q : in std_logic_vector (15 downto 0); R : in std_logic_vector (15 downto 0); S : in std_logic_vector (15 downto 0); M : in std_logic_vector (31 downto 0); N : in std_logic_vector (31 downto 0); Mp : out std_logic_vector (31 downto 0); Np : out std_logic_vector (31 downto 0); Pp : out std_logic_vector (31 downto 0); Qp : out std_logic_vector (31 downto 0) );end Fourier_butterfly;

architecture Stage_1_2_3 ofFourier_butterfly signal Al1, Al2, Al3, Al4, A, B : std_logic_vector (31 downto 0);begin process (CLK )

begin if (CLK'event and CLK='1') then Al1 <= P * R; Al2 <= S * Q;

Al3 <= P * S; Al4 <= R * Q; A <= Al1 - Al2; B <= Al3 - Al4; Mp <= M - A; Pp <= M + A;

Qp <= N + B; Np <= N - B; end if;

end process;end Stage_1_2_3;

интерфейснадекларация на

проектиранобект

архитектура напроектиран

обект

декларации задостъп до

библиотеки ипакети

VHDL - описание на проектираноустройство

Фигура 29

Литература:1. Маноилов П., Проектиране на цифрови устройства върху свръхголеми интегрални схеми с помощта на VHDL, ТУ-София, 20062. Михов Г. ,Цифрова схемотехника, ТУ - София, 20053. Таков Т., Сл.Цанова, Свръхголеми интегрални схеми, ТУ-София, 20064. Гиздарски Е. Проектиране с програмируема логика, 19985. Armstrong J. – Structured Logic Design with VHDL, 19936. Lipsett R. – VHDL: Hardware Description and Design, 19937. Weste N., K. Eshraghian, Principles of CMOS VLSI Design, Addison-Wesley Publishing, Second edition, 20018. Wakerly J., Digital Design – Principles and Practices, Prentice Hall Xilinx Design Series, 2002.9. Xilinx, Spartan-3E Starter Kit Board User Guide, UG230(v1.0) March 9, 200610. Altera, “Video and Image Processing Design Using FPGAs”, White paper, March 2007, ver. 1.112. Altera, Cyclone II Device Family Data Sheet. http://www.altera.com.

Page 29: PLS Manoilov

13. http :// www . xilinx . com / products / spartan 6/ index . htm 14. http :// www . xilinx . com / products / virtex 6/ 15. http :// www . xilinx . com / products / devkits / EK - S 6- SP 605- G . htm

16. http://www.xilinx.com/products/devkits/EK-V6-ML605-G.htmСистеми с Програмируема логика. Архитектура и организация. Методи и средства за проектиране.

1. Интегралните схеми като основа на системите с програмируема логика. Класификации и характеристики.

Интегралната схема  (Integrated Circuit) отбелязвана също като микрочип или просто чип) представлява миниатюризирана електронна схема, направана от парче от пластина от полупроводников материал.

Първата интегрална схема е проектирана и демонстрирана от Jack Kilby от Texas struments и Robert Noyce от Fairchild Semiconductor (през 1958). Kilby получава Нобелова премия по физика за това през 2000 г.

Интегралните схеми са съставени главно от електронни компоненти като транзистори, диоди, резистори, кондензатори , реализирани върху тънка пластина от полупроводников материал. [1], [2], [3]. Един типичен съвременен чип съдържа милиони електронни компоненти (главно транзистори).

Понастоящем интегралните схеми изграждат почти цялата електронна апаратура (вкл. и компютрите). Съществуват различни типове устройства, реализирани върху интегралните схеми в момента – например процесори за компютри, реализирани върху един чип (така наречените микропроцесори), или запомнящи устройства за процесори, мобилни телефони, фотоапарати, съдържащи памет за двоични кодове и данни.

Фиг. 1 показва графично параметрите - време за закъснение на сигналите в един логически елемент и отделяна мощност от един логически елемент за различните видове технологии за реализация на логическите елементи на интегрални схеми [7].

Page 30: PLS Manoilov

Фигура 1На горната графика означените технологии са:- nMOS – технология на реализация само с n- канални MOS –

транзистори;-CMOS – технология на реализация чрез двойки от n- канален

и p- канален MOS – транзистори ;-BiCMOS – технология на реализация чрез двойки от n-

канален и p- канален MOS – транзистори и биполярни транзистори в изходните стъпала на схемите;;

-ECL – технология на реализация чрез емитерно свързани стъпала от биполярни транзистори;

-GaAs - технология на реализация върху пластини от GaAs.1.1. Класификация на интегралните схеми, според броя на елементите им.

Често интегралните схеми се класифицират според броя на транзисторите (или на други електрони компоненти – например логически елементи) в структурата им. Този брой е наричан Степен на Интеграция (Scale Integration) на интегралните схеми [3], [7].

Page 31: PLS Manoilov

В зависимост от постигнатата Степен на Интеграция при производството им, интегралните схеми се разделят общо на пет групи. По-долу в тези групи да дадени като примери програмируеми (електрически конфигурируеми ) интегрални схеми, които са разглеждат по-подробно в този материал като носители (върху които са реализирани) цифровите системи с програмируема логика.

Интегрални схеми с малка степен на интеграция (SSI - small-scale integration): до 100 електронни компонента на чип.

В тази група влизат интегрални схеми с малък брой електронни компоненти – логически елементиI (Фигура 1) или буферни схеми.

Интегрални схеми със средна степен на интеграция (MSI - medium-scale integration): От 100 до 3,000 електронни компоненти в чип.В тази група влизат т.нар. Програмируеми Логически

Устройства (Programmable logiц devices -PLD) - PAL,PLA, PROM, EPROM .

Програмируемо Логическо Устройство върху чип (Programmable array logic -PAL), използвано за реализация на логически

схеми .

Изтриваема постоянна памет (Erasable Programmable R ead- O nly   M emory - EPROM), представляваща чип с

постоянна памет, запазваща записаните в нея данни и при изключване на захрахващото напрежение. Малкото кварцово прозорче позволява данните да бъдат изтривани чрез ултравиолетова светлина.  Интегрални схеми с голяма степен на интеграция (LSI - large-scale integration): От 3,000 до 100,000 електронни компоненти в чип.На тази група принадлежат класическите по-стари

микропроцесори (Microprocessors), сложните програмируеми логически устройства (Complex Programmable Logic Devices - CPLD), чиповете с памет с произволен достъп (Random Access Memory - RAM).

Page 32: PLS Manoilov

Сложно програмируемо логическо устройство

(Al tera MAX 7000-series Complex Programmable Logic Device - CPLD) , използвано за имплементиране (програмиране

в него) на сложни управляващи цифрови устройства.

Интегрални схеми със свръхголяма

степен на интеграция (VLSI - very large-scale integration): От 100,000 до 1,000,000 електронни компоненти в чип.В тази група влизат чиповете със съвременни

микроконтролери, и т.нар. програмируеми матрици (Field programmable gate arrays - FPGA).

Програмируема матрица ( Altera Stratix II GX Field Programmable Gate Array - FPGA), използвана за имплементиране на специализирани високоскоростни контролери и Системи – върху- чип (systems-

on-chip). Интегрални схеми с ултра свръхголяма степен на интеграция (ULSI  - ultra large-scale integration): С повече от 1,000,000 електронни компоненти в чип.

На тази група принадлежат съвременните процесори за компютри, високопроизводителните системи – върху – чип .

1.2. Класификация на Интегралните Схеми според технологията на производство и методите за реализация на цифрови устройства върху тяхСъгласно технологията за реализация и използване, съвременните интегрални схеми са два типа (Фиг.2): Стандартни интегрални схеми (Standard integrated circuits) и Интегрални Схеми със Специализирано Приложение ( Application Specific Integrated Circuits - ASICs ) [2], [7].

Page 33: PLS Manoilov

ИНТЕГРАЛНИ СХЕМИ

СТАНДАРТНИИНТЕГРАЛНИ

СХЕМИИНТЕГРАЛНИ СХЕМИ СЪС

СПЕЦИАЛИЗИРАНО ПРИЛОЖЕНИЕ(ASIC)

Фигура 2

Стандартните интегрални схеми се произвеждат в големи серии и се използват за конструирането на много цифрови устройства и системи. Процесорите и блоковете “памет” за съвременните персонални компютри са в тази група:

Процесор Intel Pentium Dual-Core E2140

SIM - Модули с RAM - динамична памет, използвани в персоналните компютри.

Интегралните схеми със специализирано приложение (The Application-specific Integrated Circuits - ASICs) се проектират и произвеждат за конкретни проекти, задавани от потребителите (конструктори на електронна и компютърна техника). Те осигуряват възможност конструкторите допълнително да променят тези схеми в процеса на производството им, с цел покриване на конкретните потребителски изисквания.

Page 34: PLS Manoilov

Общ топологичен (layout) план на система върху чип със специализиранo приложение

В момента са разпространени две

основни ASIC –технологии: конфигуриране чрез фотомаски и електрическо конфигуриране (Фиг. 3):

Конфигурируеми чрезфотомаски интегрални

схеми

ИНТЕГРАЛНИ СХЕМИ СЪССПЕЦИАЛИЗИРАНО ПРИЛОЖЕНИЕ

(ASIC)

Електрически конфигурируемиинтегрални схеми

(Програмируеми интегралнисхеми)

Фигура 3

Конфигурируемите чрез фотомаски интегрални схеми (масково конфигурируеми устройства) могат да бъдат произведени и конфигурирани само от производителя по фотохимични и електрохимични технологии, включващи използване на фотомаски [3], [7]. Реализираните върху тези чипове устройства и системи не могат да бъдат променяни след процесите на производство, тоест, те са с фиксирани електронни схеми, организация и архитектура.

Page 35: PLS Manoilov

Устройствата и системите върху електрически конфигурируемите интегрални схеми (програмируеми интегрални схеми) могат да бъдат реализирани (програмирани) от потребителя (конструктора на цифрови устройства) в лаборатория чрез електрическо конфигуриране на предварително произведения чип, за да изпълняват функции, необходими на потребителя. Такива устройства и системи наричаме устройства и системи с програмируема логика.

2. Програмируеми (електрически конфигурируеми ) интегрални схеми (PLD) [4]

На Фиг.4 е представена една класификация на електрически конфигурируемите (програмируеми) интегрални схеми според архитектурата и предназначението им:

Програмируемипостоянии памети

Програмируемилогически устройства

(PLD)

Електрически конфигурируемиинтегрални схеми

(програмируеми интегрални схеми)

PROM

EPROM

EEPROM

FLASH

PROM

PAL

GAL

CPLD

FPGA

Page 36: PLS Manoilov

Фигура 4

Постоянните програмируеми памети от тази класификация се използват за съхраняване в тях на програми и (масиви от ) данни. Те се използват като памети в компютърните системи.

Програмируемите логически устройства (Programmable Logic Devices - PLD) могат да бъдат конфигурирани по електрически път (програмирани) от потребителите за широк спектър от приложения – логически схеми и устройства, последователностни схеми (крайни автомати), контролери, микрокомпютри, процесорни системи върху чип.

2.1. Архитектурни и схемотехнически характеристики на програмируемите логически устройства в интегрални схеми със средна степен на интеграция (MSI – chips) – PROM, PLA, PAL, GAL. [4], [8]

Програмируемите Логически Устройства(PLD) имат следните основни характеристики:

в структурата им съществуват сравнително голям голям брой (стотици и хиляди) логически елементи, тригери, регистри, буферни схеми , свързващи линии и шини;

биват конфигурирани (програмирани) от потребител да изпълняват логически функции (комбинационни логически схеми)и да имат поведение на последователностни схеми (крайни автомати) за управление;

при “класическите” програмируеми логически устройства програмирането се извършва чрез прекъсване (прогаряне) от токови импулси на свързващи линии (fusible links) от структурата им.

Базова архитектура на PLD: Съставени са от

матрица с И (AND) – логически елементи и матрица от ИЛИ (OR) – логически елементи;

Всеки вход се свързва към неинвертираща буферна схема и към инвертираща буферна схема за получаване на истинската

Page 37: PLS Manoilov

и инвертирана логическа форма на всяка входна логическа променлива - това са входните линии за AND-матрицата;

Всеки изход на AND – матрицата (наричан product line) се свързва към вход на OR - матрицата;

Някои основни характеристики на PLD:

PROM PAL PLAAND - матрица С непроменими

връзкиПрограмируема Програмируема

OR - матрица Програмируема С непроменими връзки

Програмируема

Гъвкавост за различни потребителски реализации

Малка Приемлива за практиката

Голяма

Трудности при производството, програмирането и тестването

Малка Задоволителна Голяма

Стандартни означения, използвани в схеми на PLD

Графично представяне на трите основни вида PLD :

Page 38: PLS Manoilov

Фигура 5

2.2. Технология и примери за програмиране (конфигуриране по електрически път) на PLD [4].

В “класическите” PLD - чипове, програмируемите матрици са конструирани от диоди в пресечните точки на матриците

При

процеса на програмиране, определени диоди биват прекъсвани чрез прогаряне на връзки посредством токови импулси. Получената структура определя реализираните логически схеми и изпълняваните от тях логически функции в матрицата.

На Фиг.6 е показана схема на примерна диодна конфигурация след програмиране на матриците в - PLD чип и аналитични изрази на логическите функции, получени след това програмиране (със знака

Page 39: PLS Manoilov

плюс е означена логическата операция “или”, а със знака точка - означена логическата операция “и”:

Фигура 6

Едно съвременно развитие на PAL са т.нар. GAL (generic array logic) – устройства.  Тези чипове имат същите логически и архитектурни характеристики, както PAL, на за разлика от тях съдържанието им може да се изтрива и отново записва – те са репрограмируеми.

Чипове GAL 16V8 и 20V8 на Lattice corporation

Фигура 7

Page 40: PLS Manoilov

GAL- чиповете притежават фиксирана OR – матрица и програмируема AND – матрица. За разлика от PAL, обаче, AND – матрицата на GAL е съставена от транзистори с плаващ гейт ( floating gate transistors).

Напречен разрез на транзистор с плаващ гейт в интегрална схема.Транзисторите с натрупан по електрически път заряд в плаващия гейт винаги са в запушено състояние(означено по-долу с OFF), което не се влияе от изключване и включване на захранващото напрежение на схемите, но зарядът в плаващия гейт може да бъде зареждан и разсейван по електрически път. Това се използва за програмиране и репрограмиране на матриците с такива транзистори.

Пример за реализация на логически функции (с логически операции “и” и “не”) в програмирана матрица с транзистори с плаващ гейт.

Фигура 8

2.3. Диаграма на процесите на програмиране (електрическо конфигуриране) на PLD – чиповете със средна степен на интеграция. [4]

Page 41: PLS Manoilov

PLD – чиповете със средна степен на интеграция се конфигурират (програмират) с помощта на специализирано устройство (programming unit), данните (файл за конфигуриране) за което създава сравнително проста автоматизирана система от входно текстово (text entry) или графично описание(schematic capture) на проектираното устройство :

Фигура 9

3. Съвременни високопроизводителни програмируеми интегрални схеми с голяма и свръхголяма стeпен на интеграция (LSI и VLSI) - Сложни програмируеми логически устройства (CPLD) и Програмируеми матрици (FPGA). [1], [3], [7]

Сложните програмируеми логически устройства (Complex Programmable Logic Devices – CPLDs) и Програмируемите матрици (Field Programmable Gate Arrays – FPGAs) представляват следващо, по-съвременно развитие на Програмируемите Логически Устройства (PLD) със значително по-голям брой компоненти (логически елементи), реализирани върху чиповете – хиляди (за CPLD ), стотици хиляди и милиони (за FPGA). Това развитие се дължи на факта, че интегралните технологии увеличават непрекъснато във времето броя на елементите, реализирани върху чиповете. На следващата графика (Фиг.10) е показан отчитаният среден брой логически елементи в конфигурируемите по електрически път чипове от горните три вида. Този брой, обаче, непрекъснато нараства, особено за CPLD и FPGA -чиповете.

Page 42: PLS Manoilov

Фигура 10

3.1. Кратък преглед на архитектурата, организацията и начините на конфигуриране на CPLD– чиповете. [4]

CPLD – чипове на фирма Xilinx

Блокова схема, представяща общо архитектурата на CPLD – чиповете, е показана на Фиг.11 :

Page 43: PLS Manoilov

Фигура 11

Принципно, както се вижда и от горната схема, структурата на CPLD е съставена от средно няколко десетки блока, представляващи функционално PLD - устройства ( PLA , PAL), свързани с помощта на блок – комутатор за данни (свързваща матрица).На следващата фигура е показана блокова схема, представяща архитектурата на CPLD - чиповете от фамилия CoolRunner – II:

Фигура 12

PLD – блоковете с така наречените макроклетки на изходите, се настройват по електрически път за изпълняване на основни логически и аритметични функции.

По-долу е показана таблица, представяща основни параметри на чиповете от фамилия CoolRunner – II (брой макроклетки в

Page 44: PLS Manoilov

струкрурата, брой изводи за обмен на данни на всеки чип, максимална тактова честота, допустима за всеки чип):

Елементи на електрическото конфигуриране (програмиране) на CPLD- чиповете:

В CPLD- чиповете най-често се използват MOS - транзистори с плаващ гейт, които осигуряват енергонезависимо конфигуриране .

Приложение на CPLD – чиповете: за имплементиране на сложни, бързодействащи управляващи устройства (контролери) :графични контролери, контролери за локални мрежи (LAN - контролери), контролери за интерфейси за обмен на данни (UARTs ), контролери за бързи, асоциативни памети (cache control ), за контролери за мобилни телефони и др.

Обикновено горните управляващи устройства се описват като последователностни схеми (крайни автомати) на входа на развойната среда, която се използва за проектирането и имплементирането им върху CPLD – чиповете.

3.2. Кратък преглед на архитектурата, организацията и начините на конфигуриране на FPGA – чиповете. [1],[3],[4], [12], [14]

FPGA – чипове на фирми Altera и XilinxАрхитектурата на FPGA – чиповете представлява двумерна

матрица от голям брой (десетки или стотици хиляди) конфигурируеми по електрически път логически блокове, способни да изпълняват логически, аритметични функции, запомнящи функции и функции по формиране на входно/изходните сигнали за чиповете. Тези блокове се свързват посредством линиите и буферните схеми на

Page 45: PLS Manoilov

конфигурируема също по електрически път комуникационна матрица . Фиг.13 показва опростена архитектура на FPGA – чип:

Фигура 13

По-подробна схема, илюстрираща основните елементи на FPGA – архитектура [1] с различните видове настройваеми по електрически път блокове в нея е показана на Фиг.14:

Фигура 14На следващите фигури Фиг.15 и Фиг.16 е представена

архитектурата на FPGA – чиповете от фамилия Spartan 3e, а също и част от матрицата от конфигурируеми логически блокове [9]:

Page 46: PLS Manoilov

Фигура 15

Фигура 16

Следващата фигура показва опростено функционалните възли на настройваемите блокове на чипа:

Фигура 17

Ресурсите, притежавани от FPGA – чипове от фамилия

Page 47: PLS Manoilov

Spartan 3e, са показани на следващата таблица:

Елементи на електрическото конфигуриране на FPGA- чиповете :

При FPGA- чиповете битовете от файла за конфигуриране, управляващи конфигурирането, се записват в D – тригери на чипа (наричани още SRAM – клетки )

Схемата вляво показва управлението от SRAM – клетките на транзисторите, използвани като буферни

схеми в матрицата на връзките и мултиплексерите в конфигурируемите блокове FPGA – чиповете.

3.3. Приложение на FPGA – чиповете за реализация на високопроизводителни системи с программируема логика. [13], [14], [15], [16]

FPGA – чиповете се използват за реализация (имплементиране) на високопроизводителни цифрови устройства и системи като контролери, специализирани изчислителни устройства за паралелни изчисления в областите на компютърната графика, цифрова обработка на сигнали, обработка на изображения, матрични изчисления, комутататори на пакети от данни в многокомпютърните

Page 48: PLS Manoilov

системи (клъстери), едно- и многопроцесорни системи върху чип за управление, събиране на данни и др.

Друго основно приложение на тези чипове е за прототипиране на устройства и системи, които първоначално се проектират, имплементират и тестват върху FPGA – чипове, а след задоволителни резултати се оптимизираните проекти се реализират върху масково конфигурируеми чипове – тази последователност се нарича миграция на проектите.

На Фиг. 18 е показана блокова схема на изграждане на Система-върху-чип (System-on-Chip) , използвайки подсистема със (soft-) процесор MicroBlaze върху FPGA – чипове от фамилии Virtex-6 и Spartan-6 на фирма Xilinx.

Фигура 18Фиг. 19 показва блокова схема на Видео Система- върху- FPGA чип от фамилия Spartan-6, използвайки подсистема със (soft-) процесор MicroBlaze.

Page 49: PLS Manoilov

Фигура 19

На Фиг. 20 е начертана Блокова схема на Система върху FPGA чип от фамилия Virtex-6 за управление на комуникация по оптичен канал:

Фигура 20

Фиг. 21 показва блокова схема на Система върху FPGA чип от фамилия Virtex-6 за управление на безжична комуникация

Page 50: PLS Manoilov

Фигура 21

3.4. Кратък сравнителен анализ между CPLD- и FPGA- чиповете. Конфигуриране.[4]

В сравнение със CPLD, FPGA – чиповете предлагат значително по-голям брой конфигурируеми ресурси, които могат да функционират паралелно и/или в конвейерен режим за имплементираното върху чипа устройство. CPLD- чиповете са по-бързодействащи, консумират по-малко мощност и са по-евтини, но са с по-малък брой ресурси, особено по-малко са в тях елементите “памет” – тригери, регистри, блокове RAM.

Опростена диаграма на процесите на електрическо конфигуриране (програмиране) на CPLD – и FPGA – чиповете е показана на Фиг.22. Тук процесите на проектиране и конфигуриране са по-сложни в сравнение с тези при PLD и съответно се извършват от по-сложна система са автоматизирано проектиране (развойна среда), с активно използване на вече готови описания от библиотеки на средата, под управлението на проектанта, който отново задава входното описание на проектираното устройство. Конфигурируемият CPLD – или FPGA – чип е върху развойна платка с контролер за конфигуриране, свързана с интерфейс (най-често USB) към компютъра с развойната среда.

Page 51: PLS Manoilov

Фигура 22

На следващата фигура Фиг.23 е показана развойна платка със CPLD – чип от фамилията CoolRunner-II на фирма Xilinx (вляво) и развойна платка с FPGA – чип от фамилия Spartan 3e на фирма Xilinx (вдясно). Платките се използват в системи за проектиране и имплементиране върху програмируемите им чипове на цифрови устройства и системи .

Фигура 23

3.5. Процеси на проектиране и имплементиране на цифрови устройства и системи върху FPGA - чипове. Проектиране с итерации върху реконфигурируеми чипове. Описания на проектираните устройства.

Диаграма на процесите на проектиране и имплементиране на цифрови устройства върху FPGA – чипове, извършено от проектант и развойна среда, е показана на Фиг.24:

Page 52: PLS Manoilov

Фигура 24Процесите на проектиране на цифрово устройство върху

FPGA - чип, изпълнявани от проектант, работещ с една конкретна развойна среда (ISE, разработена от фирма Xilinx) , са показани по-долу в прозорец на средата:

Page 53: PLS Manoilov

Най-често CPLD – и FPGA – чиповете са реконфигурируеми, което означава, че конфигурирането им с цифрови устройства може да се извършва многократно. Това предпоставя итерационен процес на проектиране на различни цифровите устройства или на различни, (подобряващи се) версии на едно и също устройство върху тези чипове, който цели достигане на оптимални (удовлетворяващи проектанта) параметри. Диаграма на такъв итерационен процес е показана на Фиг.25:

Входно описание:изисквания,формули,времеви съотношения

Функционално проектиране

Проектиране на RTL - ниво

Синтезиране на логическасхема

Разполагане и свързване взададен FPGA - чип

Извличане на времевихарактеристики

Създаване на файл законфигуриране на FPGA -

чип

Функционалнасхема, алгоритъм

RTL - модел,описание чрез

VHDL

Оценка на резултатите иевентуална промяна на

описанието на цифровотоустройство

Симулационенмодел

Симулиране

конфигуриранFPGA - чип

Тестване наустройството

Работа на развойнасистема за проектиране

върху FPGA

Фигура 25

Page 54: PLS Manoilov

3.6.Основни елементи на входно описание на цифрово устройство или цифрова система с цел проектиране и имплементиране върху програмируем чип (CPLD, FPGA) с помощта на развойна среда. [1], [5], [6]

Oписаниятa на цифрови устройства, направени от проектант с цел проектирането и имплементирането им с помощта на развойна среда върху програмируем чип обикновено са езикови или схемни. Езиковите описания използват обикновено език от високо ниво от класа на езиците за описание на хардуер (HDL), като например VHDL, Verilog за описание на структурата или езици от вида на MATLAB, чрез които се описва поведението (алгоритъма на работа) на проектираното устройство . Схемните описания се използват за въвеждане на структурата на устройството, чрез графичен редактор, предоставян от развойната среда. Наличието в проектираната цифрова система на процесори, изисква описване и на кода на програмите им, например на С или С++:

Показаната по-долу блокова схема илюстрира основните елементи на едно описание на цифрово устройство , направено чрез езика VHDL.

Library...

Entity <Име на обект> isPort(...

End <име на обект>

Списък от входните и изходни сигнали на

проектираното устройство (обект)

Architecture <име на архитектурата> of<име на обект>

Декларации навътешните

сигнали и компоненти

BeginБлок на

архитектурата с оператори и процеси за

описание на обработката на

информация

End <име архитектурата>

Декларации за достъп до библиотеките на развойната среда

Интерфейсна декларация за проектираното устройство (обект)

(Описва входно/изходните сигнали на

устройството)

(Описва вътрешната

структура или поведението на устройството)

Архитектура на устройството

Фигура 26

Page 55: PLS Manoilov

Фиг. 27 показва входните и изходните сигнали на цифрово устройство, извършващо изчисления за макрооперацията “пеперуда” , използвана при задачата за Бързо Преобразувание на Фурие. Блоковата схема на устройството е начертана на Фиг. 28 , a VHDL – описанието с основните му елементи е показано на Фиг. 29

16

16

16

16

32

32

32

Fourier_butterfly

1

32

32

32

P

Q

R

S

M

N

CLK

Qp

Np

Pp

Mp

Фигура 27

mult mult mult mult

sub sub

sub adder sub adder

PQRS

MN

register

register

A11

register registerregister

A12 A13 A14

register register

A B

register register register

Mp Pp Np Qp

MpPpNpQp

CLK

16

16

16

32

32

32

3232

16

16

Фигура 28

Page 56: PLS Manoilov

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity Fourier_butterfly isport (CLK : std_logic; P : in std_logic_vector (15 downto 0); Q : in std_logic_vector (15 downto 0); R : in std_logic_vector (15 downto 0); S : in std_logic_vector (15 downto 0); M : in std_logic_vector (31 downto 0); N : in std_logic_vector (31 downto 0); Mp : out std_logic_vector (31 downto 0); Np : out std_logic_vector (31 downto 0); Pp : out std_logic_vector (31 downto 0); Qp : out std_logic_vector (31 downto 0) );end Fourier_butterfly;

architecture Stage_1_2_3 ofFourier_butterfly signal Al1, Al2, Al3, Al4, A, B : std_logic_vector (31 downto 0);begin process (CLK )

begin if (CLK'event and CLK='1') then Al1 <= P * R; Al2 <= S * Q;

Al3 <= P * S; Al4 <= R * Q; A <= Al1 - Al2; B <= Al3 - Al4; Mp <= M - A; Pp <= M + A;

Qp <= N + B; Np <= N - B; end if;

end process;end Stage_1_2_3;

интерфейснадекларация на

проектиранобект

архитектура напроектиран

обект

декларации задостъп до

библиотеки ипакети

VHDL - описание на проектираноустройство

Фигура 29

Литература:1. Маноилов П., Проектиране на цифрови устройства върху свръхголеми интегрални схеми с помощта на VHDL, ТУ-София, 20062. Михов Г. ,Цифрова схемотехника, ТУ - София, 20053. Таков Т., Сл.Цанова, Свръхголеми интегрални схеми, ТУ-София, 20064. Гиздарски Е. Проектиране с програмируема логика, 19985. Armstrong J. – Structured Logic Design with VHDL, 19936. Lipsett R. – VHDL: Hardware Description and Design, 19937. Weste N., K. Eshraghian, Principles of CMOS VLSI Design, Addison-Wesley Publishing, Second edition, 20018. Wakerly J., Digital Design – Principles and Practices, Prentice Hall Xilinx Design Series, 2002.9. Xilinx, Spartan-3E Starter Kit Board User Guide, UG230(v1.0) March 9, 200610. Altera, “Video and Image Processing Design Using FPGAs”, White paper, March 2007, ver. 1.112. Altera, Cyclone II Device Family Data Sheet. http://www.altera.com.

Page 57: PLS Manoilov

13. http :// www . xilinx . com / products / spartan 6/ index . htm 14. http :// www . xilinx . com / products / virtex 6/ 15. http :// www . xilinx . com / products / devkits / EK - S 6- SP 605- G . htm 16. http :// www . xilinx . com / products / devkits / EK - V 6- ML 605- G . htm