Популярные услуги

Все письменные КМ под ключ за 7 суток! (КМ-1 + КМ-2 + КМ-3 + КМ-4 + КМ-5)
КМ-6. Динамические массивы. Семинар - выполню любой вариант!
КМ-2. Разработка простейших консольных программ с использованием ООП + КМ-4. Более сложные элементы ООП - под ключ!
Оба семинара по программированию под ключ! КМ-2. Разработка циклических алгоритмов + КМ-3. Функции и многофайловые программы в Си
Одно любое задание в mYsql
Любая задача на C/C++
Сделаю ваше задание: Лабораторная работа на Pascal / Lazarus
Любой тест по базам данных максимально быстро на хорошую оценку - или верну деньги!
Любой реферат по объектно-ориентированному программированию (ООП)
Повышение уникальности твоей работе

Программируемые пользователем вентильные матрицы

2021-03-09СтудИзба

· Курс «Информационные технологии

· в проектировании ЭВС»

· Лекция №3

· «Элементная база электронных устройств и систем»

3. FPGA — программируемые пользователем вентильные матрицы

3.1. Основные сведения

В наиболее типичном варианте FPGA представляет собою микросхему вы­сокого уровня интеграции, содержащую во внутренней области матрицу идентичных функциональных блоков и систему их межсоединений, разме­щенную между строками и столбцами матрицы, а в периферийной облас­ти — блоки ввода/вывода (рис. 1.10, а). Кроме этого варианта существуют FPGA, в которых функциональные блоки расположены по строкам (строко­вые FPGA), однако рассматривать эти варианты отдельно нет оснований, поскольку существенные черты FPGA остаются одинаковыми для обоих ва­риантов.

Рекомендуемые материалы

Все части FPGA (функциональные блоки (ФБ), система межсоединений и блоки ввода/вывода БВВ) являются конфигурируемыми или реконфигурируемыми, причем (в отличие от БМК) средствами самих пользователей.

Перечисленные части — основа FPGA. Кроме них современные варианты FPGA, как правило, оснащены дополнительными средствами для автопод­стройки задержек в системе тактирования (PLL, Phase Locked Loop или DLL, Delay Locked Loop), средствами поддержки интерфейса JTAG и др.

При конфигурировании FPGA функциональные блоки настраиваются на выполнение необходимых операций преобразования данных, а система меж­соединений — на требуемые связи между функциональными блоками. В ре­зультате во внутренней области FPGA реализуется схема нужной конфигу­рации. Расположенные по краям кристалла блоки ввода/вывода обеспечи­вают интерфейс FPGA с внешней средой. Блоки ввода/вывода современных FPGA можно программировать на выполнение требований множества стан­дартов передачи данных (число таких стандартов может доходить до 20).

На рис. 1.10, б укрупненно показан состав типичного функционального блока ФБ, в который входят функциональный преобразователь ФП, реа­лизованный в виде программируемого запоминающего устройства (LUT, Look-Up Table), триггер (регистр RG) и мультиплексоры (MUX), играющие роль средств конфигурирования ФБ.

LUT — наиболее распространенная разновидность ФП в FPGA со стати­ческой памятью конфигурации. В схемах FPGA с однократным программи­рованием перемычек находят применение ФП в виде простых логических вентилей (SLC, Simple Logic Cell) и логических модулей на основе мульти­плексоров [1].

3.2. Функциональные блоки FPGA

Табличный ФП типа LUT представляет собою запоминающее устройство, хранящее значения искомых функций, считываемые по адресу-аргументу. Запоминающее устройство с организацией 2m x n имеет m адресных входов и n выходных линий. В таком запоминающем устройстве можно хранить таб­лицу для считывания n функций от m переменных, поскольку каждый раз­ряд хранимого массива данных можно рассматривать как столбец значений переключательной функции. В память можно записывать любые числа, и, следовательно, разрядные столбцы этих чисел могут воспроизводить любые функции m переменных. Время вычисления результата не зависит от вос­производимой функции и равно времени считывания слова из памяти.

Второй тип ФБ — схема, основой которой служат программируемые мульти­плексоры (фирма Actel и др.). В этих ФБ выходная величина описывается некоторой так называемой порождающей функцией, соответствующей ис­пользованию всех входов схемы как информационных. При программиро­вании на некоторые входы задаются константы 0 и 1, разные сочетания ко­торых порождают целый спектр возможностей воспроизведения логических функций. Подробнее о таких возможностях говорится в работах [1, 2 и др.].

Третий тип ФБ — так называемые "мелкозернистые", блоки, составленные, чаще всего, из транзисторных пар, выделяемых из цепочек транзисторов с n- и р-каналами. Из таких пар собираются традиционные для КМОП-схем логические элементы, методы синтеза которых традиционны.

Типичную структуру ФБ FPGA с триггерной памятью конфигурации рас­смотрим на примере микросхемы семейства Spartan фирмы Хilinx (рис. 1.11). Фирма Xilinx изобрела и активно разрабатывает оперативно реконфигурируемые FPGA, ее продукция занимает 30—40% мирового рынка ПЛИС. По­сле семейства Spartan фирма выпустила семейство Spartan II, но для иллюстрации особенностей FPGA выбрано первое из этих семейств, т. к. второе по схемотехнике блоков аналогично семействам Virtex и Virtex E.

По своей структуре микросхемы Spartan продолжают линию развития клас­сических FPGA, популярным представителем которой является семейство ХС4000 той же фирмы. В функциональных блоках этих микросхем логиче­ские преобразования выполняются тремя LUT-блоками (функциональными преобразователями ФП) G, F и Н. Преобразователи G и F — программируемые запоминающие устройства (ЗУ) с организацией 16x1, способные воспроизводить любые функции четырех переменных, значения которых могут быть переданы на выходы Y и X через мультиплексоры 4 и 6 при со­ответствующем их программировании (через линии верхних входов мульти­плексоров).

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

Через верхний вход мультиплексора 1 и нижний вход мультиплексора 2 функции G и F могут быть поданы на ФП-Н (ЗУ с организацией 8x1) для образования "функции от функций" с целью получения результирующей функции, зависящей от более чем четырех аргументов. К третьему входу ФП-Н подключен входной сигнал H1, так что Н =f(G, F, H1). Аргумента­ми для ФП-Н, поступающими от мультиплексоров 1 и 2, в зависимости от их программирования может быть не только набор G, F, H1, но также набо­ры G, H1, DIN; SR, H1, DIN; SR, H1, F. Линии DIN и SR используются либо для передачи в триггер непосредственно входных данных и сигнала установки/сброса (Set/Reset), либо как входы ФП-Н.

Перечисленные ресурсы логической части ФБ позволяют воспроизводить:

- любую функцию с числом аргументов до 4 включительно плюс вторую такую же функцию плюс любую функцию с числом аргументов до трех;

- любую функцию 5 аргументов (одну);

- любую функцию 4 аргументов и одновременно некоторые функции 6 ар­гументов, некоторые функции с числом аргументов до 9.

Сигналы H1, DIN, SR, ЕС являются для ФБ входными, они подаются на его внутренние схемы через группу из четырех мультиплексоров MUX "4—1" (на рисунке не показаны), к которым подключены 4 линии внешней шины управления С1...С4. Это позволяет распределять сигналы H1, DIN, SR и ЕС по линиям С1...С4 в любом желаемом варианте.

Мультиплексоры 3...6 направляют те или иные сигналы данных управления на триггеры 1 и 2. Триггеры могут использоваться для фиксации и хранения выходных сигналов функциональных преобразователей или же работать не­зависимо от них. Входной сигнал ФБ DIN может быть прямым входом для любого триггера. Сигнал H1 тоже можно передавать любому триггеру, но через ФП-Н, что вносит в цепь его передачи некоторую задержку.

Оба триггера имеют общие входы СК тактирования от сигнала К, разреше­ния тактирования ЕС и установки/сброса SR. Внутренние программируемые цепи в схеме триггера (на рис. 1.11 не показаны) позволяют индивидуально программировать полярность тактирующего сигнала СК. Сигнал ЕС син­хронизирован с сигналом СК, сигнал SR асинхронный и для каждого триг­гера с использованием внутренних цепей триггера программируется как сигнал установки или сброса. Этот сигнал определяет состояние, в котором окажется триггер после процесса конфигурации микросхемы. Конфигурация определяет и характер воздействия на триггеры импульсов GSR (Global SR) и SR при работе схемы.


3.3. Блоки ввода/вывода FPGA

Блоки ввода/вывода, показанные на примере микросхем семейства Spartan фирмы Хilinx (рис. 1.12), обеспечивают интерфейс между выводами корпуса FPGA и ее внутренними логическими схемами. Каждому выводу корпуса придается блок ввода/вывода БВВ, который может быть конфигурирован как вход, выход или двунаправленный вывод.

Работа БВВ как выходного блока обслуживается следующими элементами: выходным буфером 1, триггером 1, мультиплексорами 1, 2, 5 и логической схемой ИЛИ. Выводимый сигнал О можно получать в прямой или инверс­ной форме в зависимости от программирования мультиплексора 2. Этот сигнал может передаваться на выходной буфер непосредственно или сни­маться с триггера при соответствующем программировании мультиплексоpa 5. Сигналы Т и GTS (Global Tri-State), согласно логике ИЛИ, управляют переводом буфера в третье состояние, причем активный уровень сигнала Т программируется с помощью мультиплексора 1. Внутренние программируе­мые цепи триггера (на рисунке не показаны) позволяют изменять поляр­ность тактирующего фронта. Сам буфер имеет программируемые крутизну фронта выходного сигнала и его уровни (КМОП/ТТЛ). Крутизна фронтов в некритичных к скорости передачи цепях снижается для уменьшения уровня помех на шинах питания и земли. Используется так называемый мягкий старт (Soft Start-Up), снижающий помехи при конфигурировании схемы и переходе ее к рабочему режиму, когда одновременно активизируются мно­гие буферы. Первая активизация автоматически происходит с пологими фронтами перепадов напряжения. Затем вступает в силу заданный выбор той или иной крутизны фронтов в зависимости от принятой конфигурации БВВ.

Тракт ввода сигналов содержит входной буфер 2, триггер 2, программируе­мые мультиплексоры 3, 4, 6, элемент задержки ЭЗ и программируемые схе­мы задания определенных потенциалов выводу, к которому не подключен вводимый или выводимый сигнал (схемы Pull-Up/Pull-Down). Вводимый сигнал в зависимости от программирования мультиплексоров 3 и 4 или по­ступает непосредственно в систему коммутации FPGA по входным линиям II и 12, или же фиксируется триггером и с его выхода передается в эти ли­нии. Триггеры могут конфигурироваться как тактируемые фронтом или как защелки (D-триггеры, управляемые уровнем). Выбор осуществляется при­своением триггеру соответствующего библиотечного символа. В цепи пере­дачи сигнала на триггер 2 могут быть включены элементы задержки (при передаче сигнала через нижний вход мультиплексора 6). Включение задерж­ки гарантирует необходимые временные соотношения между входными сиг­налами триггера D и глобальным сигналом тактирования.

Входной буфер может конфигурироваться для восприятия входных сигналов с пороговым значением ТТЛ (1,2 В) или КМОП (0,5 Ucc). Выходные уровни тоже конфигурируются, две глобальные регулировки входных порогов и вы­ходных уровней независимы.

3.4. Системы межсоединений

Для систем межсоединений FPGA организация непрерывных соединений затруднительна. Для них характерны сегментированные линии связей, составленные из отдельных проводящих отрезков — сегментов. Сегменты соединяются в нужную цепь с помощью программируемых ключей. Выбор длины сегментов должен учитывать, что короткие сегменты затрудняют передачу сигналов на большие расстояния (в длинных связях появится много программируемых ключей, а вместе с ними задержек сигналов и затрат площади кристалла), а длинные сегменты неудобны для коротких связей. Поэтому система межсоединений имеет, как правило, иерархический характер, и в ней сочетаются различные типы сег­ментов (основные связи, связи двойной длины, прямые связи для близле­жащих функциональных блоков, длинные линии, пересекающие кристалл по всей его длине или ширине).

Систему межсоединений FPGA образуют сегментированные линии и пере­ключательные блоки ПБ (PSM, Programmable Switching Matrix). Функцио­нальные блоки имеют квадратные геометрические очертания, их выводы распределены по всем сторонам квадрата для облегчения коммутируемости. Для межсоединений функциональных блоков во внутренней области кри­сталла имеются три типа связей: одинарной длины, двойной длины и длин­ные линии. Упрощенная система коммутации FPGA показана на рис. 1.13, а на примере FPGA семейства ХС4000 фирмы Xilinx.

На пересечениях вертикальных и горизонтальных каналов расположены пе­реключательные блоки (рис. 1.13, б). В пределах ПБ пересекаются верти­кальные и горизонтальные линии связей, и в каждом пересечении имеется цепь из 6 транзисторов для установления того или иного соединения. Сиг­нал, поступающий в ПБ по какой-либо линии (например, горизонтальной), может быть направлен вверх, вниз или прямо в зависимости от того, какой транзистор будет открыт при конфигурировании FPGA. Возможна и одно­временная передача сигнала по нескольким направлениям, если требуется его разветвление.

Линии одинарной длины осуществляют, преимущественно, межсоединения соседних или близлежащих ФБ, линии двойной длины огибают переключа­тельные блоки, соседние по отношению к данному, и проходят к следую­щим, чем облегчается установление более длинных связей. По три длинных линии, пересекающих весь кристалл по длине (ширине), реализуются свер­ху, снизу и по обоим бокам ФБ.

Лекция "Сети Frame Relay" также может быть Вам полезна.

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

Линии двойной длины сгруппированы в пары, имеется по 4 вертикальных и горизонтальных линии, обеспечивающих более быструю и эффективную передачу сигналов на средние расстояния. Длинные линии, рассчитанные на передачу сигналов на большие расстояния и при большой нагрузке, име­ют в середине ключ, разделяющий линию на две части ((рис. 1.13, в).

Кроме системы коммутации для функциональных блоков FPGA (в частно­сти, семейство Spartan) может иметь дополнительные трассировочные ре­сурсы, расположенные в виде кольца вне пределов матрицы ФБ. Эти ресур­сы позволяют изменять назначение вводов/выводов микросхемы и облегчают, тем самым, модификацию проекта, реализованного на FPGA, без влия­ния на разводку печатных плат, на которых монтируются микросхемы.

В число FPGA по принятой классификации попадают микросхемы с числом эквивалентных вентилей около 200 ­– 85000, системными частотами прибли­зительно 50 – 80 МГц, числом пользовательских выводов 100 – 300. Лидером в производстве однократно программируемых FPGA считают фирму Actel, a в производстве FPGA с триггерной памятью конфигурации — фирму Xilinx.

Дополнительная литература к лекции

  1. Угрюмов Е.П. Цифровая схемотехника. – СПб.: БХВ-Петербург, 2000. – 528 с.
  2. Шалыто А.А. Методы аппаратной и программной реализации алгоритмов. – СПб.: Наука, 2000. – 780 с.
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5136
Авторов
на СтудИзбе
443
Средний доход
с одного платного файла
Обучение Подробнее