СХЕМОТЕХНИКА ЭВМ_18.2.17 (855859), страница 20
Текст из файла (страница 20)
Эта функция реализуется при занесении в ПЗУ ЛЯ емкостью 16 х 1 соответствующей табл.6.1 информации. Старший разряд адреса, обозначенный как Х4 в данном случае, при реализации функции трех аргументов с помощью ПЗУ с четырехразрядным адресом, не задействован и равен 0, что позволяет обращаться только к первым восьми ячейкам ПЗУ. Например, мультиплексор 2-1 должен передавать на выход out_m значение сигнала 1 при in1=1, in2=0 и управляющем сигнале sel=0. Если сопоставить входам ЛЯ
X4-0, X3-Sel ,X2-In2, Х1-IN1Б где Х4- старший разряд адреса, то
Соответственно комбинация 0001, рассматриваемая как номер строки табл.6.1 или как адрес ячейки ПЗУ, при обращении по этому адресу выбирает из памяти значение = 1. Помимо настройки на выполнение основной функции – четырехвходового логического элемента, логическая ячейка может настраиваться при программировании ПЛИС на выполнение другой функции, 16 разрядного регистра сдвига. ПЗУ в этом варианте настройки ЛЯ используется по прямому назначению как ЗУ.
Таблица 6.1. Реализация логической функции мультиплексора 2–1 с помощью ПЗУ 16х1
Значения входных сигналов, которые формируют адрес ячейки памяти X4 sel in2 in1 | Содержимое ячейки определяет значение выхода out_m |
0 0 0 0 | 0 |
0 0 0 1 | 1 |
0 0 1 0 | 0 |
0 0 1 1 | 1 |
0 1 0 0 | 0 |
0 1 0 1 | 0 |
0 1 1 0 | 1 |
0 1 1 1 | 1 |
В логической ячейке используются программируемые D–триггеры (рис. 6.6). При программировании ПЛИС можно задать различные режимы работы такого триггера, такие как триггер–защелка(D–Latch), синхронный D–триггер(FD), D–триггер с начальным сбросом (FDR) или начальной установкой (FDS), с записью по фронту или спаду синхросигнала, с разрешением (FDE) записи и т.п. Как уже отмечалось, пара ЛЯ объединяется в секцию (slice), где также имеются узлы ускорения переноса, позволяющие ускорить и упростить реализацию арифметических операций. На рис.6.18 дано упрощенное представление секции, состоящей из двух ЛЯ.
Примером недорогой микросхемы типа FPGA является микросхема XC3S200–4–FT256С фирмы XILINX. Это микросхема серии SPARTAN 3(3S) c эквивалентной логической емкостью 200 тысяч двухвходовых вентилей, классом быстродействия (–4) , корпусом типа FT256 (корпус, в котором 256 штырьковых выводов расположены по периметру), предназначенная для работы в диапазоне температур аппаратуры коммерческого (С– commercial) применения. В ней более 4000 логических ячеек – (LUT). Помимо этого в микросхеме имеется много других логических ресурсов (см. следующий параграф) – встроенных умножителей (MUL) 18*18, блоков памяти(BRAM)–емкостью 16 кбит, блоков цифрового управлении синхросигналами (DCM)и др., рассматриваемых ниже.
Рис.6.18. Упрощенное представление секции (slice) из двух ЛЯ.
Сравнение ПЛИС типа FPGA и CPLD показывает, что при одинаковой сложности микросхем в ПЛИС типа FPGA число логических ячеек и соответственно триггеров примерно на порядок больше чем в CPLD, но логические возможности каждой из ячеек примерно на порядок ниже.
ПЛИС конфигурируются путем загрузки конфигурационных данных во внутреннюю конфигурационную память.
Для ПЛИС типа CPLD – это память типа FLASH, сохраняющая информацию после снятия напряжения питания( энергонезависимая память)
Для ПЛИС типа FPGA – это память типа Оперативного Запоминающего Устройства(ОЗУ), не являющаяся энергонезависимой..
6.2.2. Дополнительные типы блоков ПЛИС типа FPGA.
Блоки встроенных умножителей(MUL) и умножителей–аккумуляторов (MAC-DSP48)
Хотя основным логическим ресурсом ПЛИС типа FPGA являются КЛБ, состоящие из секций, в свою очередь состоящих из ЛЯ (LUT), современные ПЛИС имеют также и так называемые встроенные ядра, представляющие собой отдельные типовые узлы, устройства и даже микропроцессоры. Одними из таких типовых встроенных ядер являются блоки умножителей (MUL). Например, в дешевых ПЛИС серии СПАРТАН– 3 это умножители двух 18 разрядных чисел. Таких умножителей в зависимости от сложности микросхемы ПЛИС от нескольких десятков до сотен. Для ПЛИС, ориентированных на реализацию систем цифровой обработки сигналов (Digital Signal Processing–DSP), где типовой операцией является умножение с накоплением (MAC–Multiply And Accumulate), это программируемые встроенные ядра с умножителями 25 разрядных чисел на 18- разрядные и с 48- разрядными трехвходовыми сумматорами–накопителями (блоки DSP48 ПЛИС серий VIRTEX–4,5,6 фирмы XILINX).
Встроенные ядра ОЗУ и FIFO.
Для реализации в ПЛИС типа FPGA модулей ОЗУ предусмотрено две возможности. Первую возможность предоставляет каждая ЛЯ, которая, как уже отмечалось, при 4–х входовых ЛЯ может быть сконфигурирована как синхронное ОЗУ емкостью в 16 одноразрядных чисел (16 х 1). Две соседних ЛЯ могут быть сконфигурированы как 16 х 1 двухпортовое ОЗУ с записью и чтением по одному адресу и чтением по другому адресу. Если необходимо иметь ОЗУ большей емкости, то оно строится на базе нескольких логических ячеек. Такое ОЗУ распределено по площади микросхемы ПЛИС и поэтому названо распределенным (Distributed RAM).
Вторую возможность реализации ОЗУ и ПЗУ в ПЛИС предоставляют встроенные ядра – блоки синхронной памяти (Block RAM) (рис.6.9).
Определение «синхронная память» означает, что она срабатывает по приходу синхроимпульса и содержимое ячейки, адрес которой совпадает со значением кода на регистре адреса, появляется на выходе при считывании или изменяется при записи.
Рис.6.9. УГО Блока синхронной памяти (Block RAM).
Информационная емкость каждого такого блока памяти для разных серий ПЛИС FPGA колеблется от 16 до 36 килобит. Они могут быть сконфигурированы в пределах этой емкости как однопортовое или двухпортовое ОЗУ различной разрядности и количества слов. Начальное состояние этой памяти задается при программировании ПЛИС, поэтому она может быть использована также как ПЗУ. В сериях VIRTEX–5 и 6 эти блоки можно конфигурировать и как память типа очередь– FIFO с разными синхросигналами на входах чтения и записи, что позволяет их использовать как буфера на границах областей синхронизации.
Блоки ввода–вывода(IOB.)
Блоки ввода–вывода (БВВ) расположены по периферии микросхемы ПЛИС. Их число определяется количеством контактов микросхемы, за исключением контактов питания, земли и т.п. Особенностью БВВ является возможность быть настроенными на различные (более 10) сигнальные стандарты: уровни сигналов, сопротивления источников, способы передачи и т.п. В числе этих стандартов:
-
дифференциальные (двухпроводные) сигнальные стандарты: LVDS, BLVDS, ULVDS – (LVDS–низковольтный дифференциальный),
-
однопроводные низковольтные стандарты: ТТЛ и КМОП –LVTTL, LVCMOS (3.3,2.5,1.8,1.2 V),
-
шинные стандарты: PCI, PCI–X и др.
Программируемые сопротивления (DCI–Digital Controlled Impedance), имеющиеся в БВВ, позволяют упростить решение задачи согласования сопротивлений источников и приемников сигналов.
Блоки управления частотой и фазировкой синхросигналов.
В ПЛИС FPGA несколько контактов соединены со специальными
входными буферами (Clock Buffer), которые в свою очередь связаны с сетями распределения синхросигналов по микросхеме. Например, в ПЛИС Spartan–3 имеется до 8 глобальных тактовых входов – GCLK0 – GCLK7. Для управления частотой, задержкой и фазой тактовых сигналов предназначены программируемые блоки DCM (Digital Clock Manager) и Clock Management Tiles (CMT), выходы которых можно подключать к тактовым буферам (рис.6.10).
Рис.6.10. Цифровой блок управления синхросигналами (DCM,CMT).
Трассировочные ресурсы ПЛИС
Отличительной особенностью ПЛИС типа FPGA (рис.6.5) является сложная организация трассировочных ресурсов– линий связи, которые осуществляют электрическое соединение различных функциональных элементов ПЛИС друг с другом. Существует 4 типа линий связи: «длинные линии», «полудлинные (hex)–линии», «двойные линии» и «короткие – линии прямой связи». [рисунок] Эта градация определяется количеством КЛБ, через которые связь проходит. Следует учесть, что соединения линий связи осуществляются с помощью программируемых ключей, обладающих существенными задержками, сравнимыми с задержками ЛЯ. Естественно, что программы САПР, осуществляющие трассировку связей элементов микросхемы ПЛИС, ведут ее с учетом минимизации длин и задержек связей и обеспечения 100% автоматической трассировки соединений. Как показывает практика в случаях, когда полнота использования логических ресурсов ПЛИС типа FPGA превышает 90%, задача трассировки существенно усложняется и помимо увеличения задержек связей проект часто требует ручной дотрассировки.
Внутренние шины на элементах с тремя состояниями.
Блоки ввода–вывода всех ПЛИС могут программироваться на организацию тристабильных[пояснение] выходов. Однако внутри ПЛИС буфера с тристабильными выходами и общие шины на их базе применяются редко из–за технологических трудностей реализации таких буферов, а также увеличенной задержки их переключения. Только в дорогих сериях ПЛИС, например VIRTEX–2,4,5,6 фирмы Xilinx предусмотрены возможности организации шин на их базе. В обычных шинах третье состояние характеризуется уровнем, находящимся между уровнями логическая 1 и логический 0. Однако в случае, когда все буферы передатчиков, подключенных к общей шине будут в третьем – высокоимпедансном состоянии, сигналы помех оказывают на нее большое влияние. Для уменьшения их влияния, общая шина обычно «подтянута», т.е. нагружена специальной схемой, которая подтягивает уровень шины или к уровню слабая 1(Н), или к уровню слабый 0(L). Это свойство шин в ПЛИС также программируется. При организации общих шин на элементах с тремя состояниями аппаратные затраты в несколько раз меньше, чем в шинах, реализованных на мультиплексорах. [рисунок до подтягивания и после]
Встроенные процессорные ядра.
В качестве встроенных ядер ПЛИС типа FPGA могут выступать мощные микропроцессоры. Например, для ПЛИС XILINX серии VIRTEX–5 это 32–разрядный микропроцессор PowerPC 440 c RISC– архитектурой, семикаскадным конвейером команд, 32– килобайтными кэш памятями команд и данных, 500 мегагерцовой тактовой частотой. В более поздних сериях (Серии 7000) это микропроцессор АRМ 9. С помощью таких процессорных ядер, блочной памяти и других встроенных ядер можно строить на ПЛИС сложные системы на одном кристалле (SOC–System On Chip).
Ядра шинных и сетевых интерфейсов.
В дорогих и высокоскоростных сериях ПЛИС (VIRTEX 5,6) в число встроенных ядер входят блоки типа PCI Express c поддержкой 8–канальных
Gen1 (2,5 Гбит/с) и 4-канальных Gen2 (5,0 Гбит/с) связей и сетевые Ethernet контроллеры TEMAC – 10/100/1000 Мбит/с.
В некоторые серии ПЛИС (Спартан–6 например) в состав ядер включен контроллер внешней памяти, программируемый под стандарты DDR, DDR2, DDR3 и обеспечивающий скорость передачи до 12,8 Гбит/с.
Последовательные приёмопередатчики (трансиверы).
Реализация высокоскоростных параллельных шин усложняется взаимными помехами, несовпадением длин проводников и т.п. Поэтому в последнее время наблюдается интерес к последовательным приёмопередатчикам (трансиверам). Соответствующие ядра встраиваются в современные ПЛИС. В числе их, например, GTP – 3,125 Гбит/с приёмопередатчики ПЛИС серии VIRTEX–5.
Аналого-цифровые ПЛИС.
Для решения многих задач необходимо иметь в составе системы не только цифровые, но и аналоговые блоки – усилители, преобразователи аналог–цифра (АЦП) и наоборот (ЦАП) и др. Поэтому некоторые фирмы, например такие, как Lattice Semiconductor (www.lattice.com), особое внимание уделяют развитию аналого–цифровых ПЛИС.
Основные параметры, по которым отличаются ПЛИС.
1) Тип– CPLD или FPGA.