- •Глава7 программируемая логика и ее применение в микропроцессорных системах
- •7.1. Общие сведения, классификация
- •7.1.1. Уровень интеграции интегральных схем (ис) и его влияние на качество цифровой аппаратуры и ее проектирование.
- •7. 1. 4. Области применения микросхем с программируемой логикой
- •7.2. Первые поколениямикросхем с программируемой структурой
- •7.2.1. Программируемые логические матрицы и программируемая матричная логика
- •7.2.2. Базовые матричные кристаллы
- •7.3. Типичные фрагменты схемотехники ис пл. Общие свойства ис пл
- •7.3.1. Типичные схемотехнические решения
- •7.3.2. Свойства ис пл, важные для их применения в составе систем
- •7.4. Fpga-программируемые пользователем вентильные матрицы
- •7.4.1. Архитектура и блоки fpga
- •7.4.2. Популярные fpga фирмы «xilinx»
- •7.5. Cpld - сложные программируемые логические устройства
- •7.5.1. Архитектура и блоки cpld
- •7.5.2. Популярные cpld фирмы «altera»
- •7.6. Сбис пл комбинированной архитектуры
- •7.6.1. Общие сведения
- •7.6.2. Сбис пл комбинированной архитектуры flex10k
- •7.7. Сбис программируемой логики типа «система на кристалле»
- •7.7.1. Общие сведения
- •7.7.2. Сбис пл с конфигурируемостью всех областей кристалла
- •7.7.3. Сбис пл класса «система на кристалле» с блочной архитектурой
- •7.8. Конфигурирование бис/сбис программируемой логики
- •7.9. Методика оценки параметров ис пл
- •7.9.1. Вводные замечания
- •7.9.2. Об оценке сложности микросхем программируемой логики
- •7.9.3. Об оценке быстродействия микросхем программируемой логики
- •7.9.4. Параметры популярных семейств микросхем программируемой логики
- •7.10. Аналоговые программируемые микросхемы
- •7.10.1 Общие сведения
- •7.10.2. Практические разработки
7.4.2. Популярные fpga фирмы «xilinx»
Логический блок семейства FPGA XC4000E фирмы «Xilinx» (рис. 7.14) иллюстрирует характерные особенности подобных блоков. Фирма «Xilinx» является ведущей в области разработки FPGA, ее продукция занимает 30-40% мирового рынка микросхем программируемой логики, ею был создан перспективный класс FPGA с триггерной памятью конфигурации.
Заметим предварительно, что на рис. 7.14 программируемость не отражена в обозначениях мультиплексоров, так как все они являются программируемыми.
Логические преобразования выполняются тремя табличными преобразователями: G, F и Н. Преобразователи G и F представляют собою программируемые запоминающие устройства с организацией 16 х 1 и могут воспроизводить любые функции четырех переменных. Через нижние входы мультиплексоров 1 и 2 выходы преобразователей G и F могут быть поданы на преобразователь Н (память с организацией 8 х 1) для образования «функции от функций» с целью получения функций, зависящих от более чем четырех аргументов. Преобразователь Н может также использоваться как третий независимый генератор функций со входами НО, Н1 и Н2, если через мультиплексоры 1 и 2 передаются сигналы их верхних входов. Имеется возможность добавления в число аргументов преобразователя Н входного сигнала DIN. Таким образом, два из входов преобразователя Н могут быть альтернативно заданы как внешние входы или выходы преобразователей G и F, третий же вход Н1 всегда является внешним.
Как видно из схемы, на выход Y в зависимости от программирования мультиплексора 4 могут подаваться значения функций G или Н, а на выход X в зависимости от программирования мультиплексора 6 - значения функций F или Н.
С помощью имеющихся функциональных преобразователей можно получать различные результаты: три отдельные функции независимых переменных (две от четырех аргументов и одну от трех при запоминании одного из выходов триггером), любую функцию пяти переменных, некоторые функции большего числа переменных (вплоть до девяти).
В зависимости от программирования мультиплексоров 3 и 5 триггеры принимают данные от функциональных преобразователей или внешнего входа DIN.
Сигнал тактирования триггеров К поступает от общего входа через мультиплексоры 7 и 8, программирование которых позволяет индивидуально выбирать полярность фронта, тактирующего триггер. Сигнал разрешения тактирования ЕС (Enable Clock) также поступает от общего входа. Благодаря наличию мультиплексоров 9 и 10 можно либо пользоваться сигналом ЕС, либо постоянно разрешить тактирование сигналом логической единицы.
Триггеры имеют асинхронные входы установки SD (Set Direct) и сброса RD (Reset Direct), один из которых через программируемый селектор S/R может быть подключен к сигналу SR, который, в свою очередь, может программироваться для подключения к любому из внешних выводов С1-С4. Возможно подключение к разным линиям С1-С4 и для выходов других мультиплексоров верхней строки (на рисунке не пронумерованы).
Блок ввода/вывода микросхем ХС4000Е (рис. 7.15) имеет два канала - для ввода сигналов и для вывода. В каждом канале возможна как прямая передача сигнала, так и с запоминанием его в триггере в зависимости от программирования мультиплексоров 7 и 4.
При переводе буфера 1 в третье состояние выходной контакт не должен оставаться разомкнутым, так как в этом случае на нем может накапливаться неконтролируемый заряд в силу чрезвычайно высокого входного сопротивления МОП-транзистора. Подключение к выходу одного из резисторов R либо «подтягивает» потенциал выхода к высокому уровню напряжения, либо привязывает его к нулевой точке. Вследствие своей высокоомности подключенные к выходу сопротивления R не оказывают заметного влияния на режимы работы при использовании выхода для передачи сигналов. Выбор между двумя вариантами задания потенциала разомкнутому выходу программируется элементами памяти конфигурации в схеме U/D (Up/Down). Выходной буфер 1 имеет регулировку крутизны фронта SLR (Slew Rate). Можно выбрать одно из двух значений скорости изменения выходного сигнала, для чего в схеме имеется элемент памяти SLR. Везде, где это приемлемо, желательны пологие фронты для снижения уровня помех, возникающих при переключениях буферов.
Если вывод работает в режиме входа (буфер 1 в третьем состоянии, буфер 2 активен), то внешний сигнал может подаваться в схему либо напрямую, либо через триггер, либо в обоих вариантах одновременно. В последнем случае блок ввода/вывода может демультиплексировать внешние сигналы (например, для шин адресов/данных сохранить принятый адрес в триггере и передавать данные по прямому входу). Синхросигналы триггеров различны для входного (CLKI) и выходного (CLKO) триггеров. Их полярности, как и полярность выходного сигнала О (Output), могут программироваться соответствующими мультиплексорами.
Сигнал на входе триггера 2 можно специально задерживать на несколько наносекунд программированием мультиплексора 8. Это сделано для такого подбора временного положения сигнала относительно тактирующего импульса, который обеспечивает компенсацию задержек в цепях распределения синхросигналов.