АрхітектураVirtex
1. Банки вводу-виводу
Деякі з описаних вище стандартів вимагають підключеннянапруги /> чи />. Ці зовнішні напругипідключаються до контактів мікросхеми, які функціонують групами, названимибанками.
Кожна сторона кристала мікросхеми розділена на два банки.Кожен банк має декілька контактів />, алевсі вони повинні бути підключені до однієї і тієї ж напруги. Ця напругавизначається вибраною для даного банка стандартом вихідних сигналів.
Стандарти для вихідних сигналів конкретного банку можуть бутирізними лише в тому випадку, якщо вони використовують однакове значення напруги/>. Сумісні стандартипоказані в Табл. 1. GTL і GTL+ присутні скрізь, оскільки їх виходи з відкритим стоком незалежать від значення />.
/>
Рисунок 1. – Банки вводу-виводу Virtex
Деякі сигнальні стандарти вимагають подачі відповіднихпорогових напруг /> на вхіднікаскади. При цьому визначені БВВ автоматично конфігуруються як входи,відповідні напрузі />. Приблизно одинконтакт з шести в кожному банку може виконувати цю роль.
Таблиця1. Вихідні сумісні стандарти
/>
/>/>/>Сумісні стандарти 3.3 У PCI, LVTTL, SSTL3 I, SSTL3 II, CTT, AGP, GTL, GTL+ 2.5 У
/>/>/>SSTL2 I, SSTL2 II, LVCMOS2, GTL, GTL+ 1.5 У
/>/>/>HSTL I, HSTL III, HSTL IV, GTL, GTL+
Контакти /> в межаходного банку внутрішньо між собою сполучені, отже, лише одне значення напруги /> може бути використано врамках одного банку. Для правильної роботи всі контакти /> одного банку повинні бутиприєднані до зовнішнього джерела напруги.
В межах одного банку можна одночасно використовувати входи,які вимагають напруги /> і входи, якіцього не вимагають. В той же час, лише одне значення напруги /> може бути використано врамках одного банку. Вхідні буфери, які використовують />, не сумісні з сигналами 5-встандартів.
Контакти /> і /> для кожного банкуприведені в таблицях і діаграмах під конкретний корпус і кристал. На діаграмахтакож показано, до якого банку відноситься конкретний контактвведення-висновку.
В рамках конкретного типу корпусу мікросхеми число контактів /> і /> може мінятися залежно відємністі кристала. Чим більше кристал по логічній ємністі, тим більше числоконтактів введення-висновку перетворене в контакти типу />. Оскільки існує максимальнийнабір контактів /> для меншихкристалів, є Спроможність проектування друкарської платні, що дозволяє такожвикористовувати на ній і великі кристали з таким же типом корпусу. Всі контакти/>, передбачувані довикористовування для великих кристалів, при цьому повинні бути приєднані донапруги /> і не повиннівикористовуватися як контакти введення-висновку.
У менших кристалах деякі з контактів />, використовувані у великихкристалах, не сполучені усередині корпусу. Ці не приєднані контакти можуть бутизалишені не приєднаними поза мікросхемою або бути підключені до напруги /> при необхідностізабезпечення сумісності друкарської платні, що розробляється, з великимикристалами.
У корпусах типа TQ-144 і PQ-240/HQ-240 всі контакти /> сполучені разом усерединімікросхеми і, отже, до всіх з них повинна бути підключене одна і та ж напруга />. У корпусі CS-144 пари банків,розташовані на одній стороні, внутрішньо сполучені, забезпечуючи, таким чином,Спроможність вибору лише чотирьох можливих значень напруги для />. Контакти /> залишаються внутрішньосполученими в рамках кожного з восьми банків і можуть використовуватися, якбуло описано вище.
2. Логічний блок, що конфігурується – КЛБ
Базовим елементом КЛБ є логічний комірка – ЛЯ (Logic Cell – LC). ЛЯ складаєтьсяз 4-входового функціонального генератора, логіки прискореного перенесення іелементу, що запам'ятовує. Вихід кожного функціонального генератора кожногологічного комірці приєднаний до виходу КЛБ і до D-входу тригера. КоженКЛБ серії Virtex містить чотири логічні комірки, організовані у вигляді двоходнакових секцій.
/>
Рисунок 2. – Секційний КЛБ Virtex
На додаток до чотирьох базових логічних комірок, КЛБ серії Virtex містить логіку,яка дозволяє комбінувати ресурси функціональних генераторів для реалізаціїфункцій від п'яти або шести змінних. Таким чином, при оцінці числа еквівалентнихсистемних вентилів для мікросхем сімейства Virtex, кожен КЛБприрівнюється до 4.5 ЛЯ.
/>
Рисунок 3. – Детальний вид секції Virtex
3.Таблиця перетворення
Функціональні генератори реалізовані у вигляді 4-входовихтаблиць перетворення (Look-Up Table – LUT). Окрім використовування як функціональнігенератори, кожен LUT-елемент може бути також використаний як синхронне ОЗУрозмірністю 16х1 біт. Більш того, з двох LUT-елементів в рамках однієї секціїможна реалізувати синхронне ОЗУ розмірністю 16х2 біта або 32х1 біт, абодвохпортове синхронне ОЗУ розмірністю 16х1 біт.
На LUT-елементі мікросхеми Virtex може бути реалізований 16-розряднийсдвиговий регістр, який ідеально підходить для захоплення високошвидкісних абопакетних потоків даних. Цей режим може також використовуватися длязапам'ятовування даних в додатках цифрової обробки сигналів.
4. Елементи, що запам'ятовують
Елементи, що запам'ятовують, в кожній секції КЛБ Virtex можуть конфігуруватисяяк динамічні тригери (чутливі до фронту сигналу) D-типу, або як тригери –клямки, чутливі до рівня сигналу. D-вхід тригера може управлятися або відфункціонального генератора в рамках тієї ж секції КЛБ, або безпосередньо відвходів даної секції КЛБ, минувши функціональні генератори.
Окрім сигналів синхронізації (Clock) і дозволисинхронізації (Clock Enable – ЦЕ) в кожній секції КЛБ є сигнали синхронноїустановки (Set) і скидання (Reset). Позначення цих сигналів – SR і BY відповідно.
Сигнал SR переводить елемент, що запам'ятовує, в стан,визначений для нього в конфігураційних даних, а сигнал BY – в протилежний стан. Ціж сигнали можуть бути використані також як асинхронна передустановка (Preset) і очищення (Clear). Всі сигналиуправління можуть бути незалежно проінвертіровани. Вони подаються на обидватригери в рамках конкретної секції КЛБ.
Додаткова логіка
Додаткова логіка, що входить в кожен КЛБ, представлена двомамультиплексорами: F5 і F6.
На вхід мультиплексора F5 подаються сигнали з виходів функціональнихгенераторів даної секції КЛБ. Цей вузол може працювати як функціональнийгенератор, що реалізовує будь-яку 5-входовую функцію, або як мультиплексор 4:1,або як деяка функція від дев'яти вхідних змінних.
Аналогічно, мультиплексор F6 об'єднує виходи всіхчотирьох функціональних генераторів КЛБ, використовуючи один з виходівмультиплексора F5. Це дозволяє реалізувати або будь-яку 6-входовую функцію, абомультиплексор 8:1, або деяку функцію до 19 змінних.
Кожен КЛБ має чотири крізні лінії – по одній на коженлогічний комірка. Ці лінії використовуються як додаткові входи даних, або якдодаткові ресурси трасувань, що не витрачають логічні ресурси.
Арифметична логіка
Кожна ЛЯ містить спеціальну логіку прискореного перенесення,яка забезпечує якнайкращу реалізацію на ПЛІС різних арифметичних функцій. КЛБмістить два окремі ланцюги перенесення – по одній на кожну секцію. Розмірністьланцюга перенесення – два біти на КЛБ.
Арифметична логіка включає елемент, що реалізовує функціювиключає АБО, який дозволяє реалізувати однобітовий суматор в одному логічномукомірці.
У кожному логічному комірці є елемент, що реалізовує функціюІ (AND), якийпризначений для побудови швидкодійних помножувачів.
Спеціальні траси логіки прискореного перенесення можуть такожвикористовуватися для каскадного включення функціональних генераторів принеобхідності створення функцій з великою кількістю вхідних змінних.
Буфери з трьома станами
Кожен КЛБ Virtex містить два буфери з трьома станами, якінавантажені на внутрішні шини. Кожен буфер BUFT має незалежнийвхід управління з третім станом і незалежний вхідний контакт.
Блокова пам'ять (Block RAM)
У FPGA Virtex вбудована особлива блокова пам'ять (Block Select RAM) великоїємністі. Вона створена на додаток до розподіленої пам'яті невеликої ємністі (Select RAM), реалізованоїна таблицях перетворення (Look Up Table RAM – LUTRAM).
Блоки пам'яті Block Select RAM+ організовані у виглядістовпців. Всі пристрої Virtex містять два такі стовпці, поодинці уздовж кожноївертикальної сторони кристала. Ці колонки збільшують повний розмір кристала.Кожен блок пам'яті рівний по висоті чотирьом КЛБ, таким чином, мікросхема Virtex, що має 64 КЛБпо висоті, містить 1–6 блоків пам'яті на колонку і 32 блоки пам'яті в цілому. УТабл. 2 приводяться ємністі блокової пам'яті для різних кристалів Virtex.
Таблиця 2. – Ємність блокової пам'ятіКристал Virtex
/>/>/>Число блоків Загальний об'єм блокової пам'яті [битий]
/>/>/>XCV50 8 32 768 XCV100 10 40 960 XCV150 12 49 152 XCV200 14 57 344 XCV300 16 65 536 XCV400 20 81 920 XCV600 24 98 304 XCV800 28 114 688 XCV1000 32 131 072
Кожен блок пам'яті, це повністю синхронне двохпортове ОЗУ знезалежним управлінням для кожного порту. Розмірність шини даних для обохпортів може бути конфігурована незалежно, що дозволяє створювати перетворювачірозмірності шини. У Табл. 2 показані можливі співвідношення размерностей шинданих і адреси.
У кристалах Virtex створені спеціальні ресурси трасувань длязв'язку блокової пам'яті з блоками КЛБ і іншими блоками пам'яті.
/>
Рисунок 4. – Блок пам’яті
5. Позначення мікросхем сімейства Virtex
Спосіб позначення мікросхем сімейства Virtex показаний на рисунку5.
/>
Рисунок 5 – Визначення МС сімейства Virtex
ПЛІС доцільно застосовувати при розробці оригінальної апаратури, атакож для заміни звичайних ІС малому і середньому ступеню інтеграції. При цьомузначно зменшуються розміри пристрою, знижується споживана потужність іпідвищується надійність.
Найбільш ефективне використовування ПЛІС увиробах, що вимагають нестандартних рішень схемотехніки. У цих випадках ПЛІС навітьсереднього ступеня інтеграції (24 виводи) замінює, як правило, до 10–15 звичайнихінтегральних мікросхем.
Іншим критерієм використовування ПЛІС є потребарізко скоротити терміни і витрати на проектування, а також підвищити Спроможністьмодифікації і наладки апаратури. Тому ПЛІС широко застосовується в стендовомуустаткуванні, на етапах розробки і виробництва досвідченої партії новихвиробів, а також для емуляції схем, що підлягають подальшій реалізації на іншійелементній базі, зокрема БМК.
Окрема область застосування ПЛІС – проектуванняна їх основі пристроїв для захисту програмного забезпечення і апаратури віднесанкціонованого доступу і копіювання. ПЛІС володіють такою технологічноюособливістю, як «біт секретності», після програмування якого схема стаєнедоступною для читання (хоча свої функції ПЛІС, природно, продовжуєвиконувати). Звичайно застосування однієї-двох ПЛІС середнього ступеняінтеграції виявляється цілком достатньою для надійного захисту інформації.
Найбільш ширше програмовані логічні ІС використовуються в мікропроцесорнійі обчислювальній техніці. На їх основі розробляються контролери, адреснідешифратори, логіка обрамлення мікропроцесорів, формувачі управляючих сигналіві ін. На ПЛІС часто виготовляють мікро програмні автомати і інші спеціалізованіпристрої, наприклад, цифрові фільтри, схеми обробки сигналів і зображення, процесоришвидкого перетворення функцій Фурье і т.д. У техніці зв'язку
ПЛІС застосовуються в апаратурі ущільнення телефонних сигналів.
ЗастосуванняПЛІС стає актуальним ще і тому, що у розробників часто немає необхіднихстандартних мікросхем.