- •2. 5. Практическая реализация логических вентилей
- •2.5.1. Схемы кмоп
- •2.5.2. Задержка на распространение сигнала
- •2.5.3. Ограничения по входу и выходу
- •2. 6. Триггеры
- •2.6.1. Вентильные защелки
- •2.6.2. Двухступенчатые триггеры
- •2.6.3. Тактирование фронтом сигнала
- •2.6.4. Т-триггеры
- •2.6.5. Триггеры с дополнительными входами для установки и очистки
- •2.7. Регистры и сдвиговые регистры
- •2.8. Счетчики
- •2. 9. Дешифраторы
- •2. 10. Мультиплексоры
- •2. 11. Программируемые логические устройства
- •2.11.1. Программируемая логическая матрица
- •2.11.2. Программируемая матричная логика
- •2.11.3. Сложные программируемые логические устройства
- •2. 12. Программируемые вентильные матрицы
- •2.13. Последовательные схемы
- •2.13.1. Пример счетчика с прямым/обратным счетом
2.11.3. Сложные программируемые логические устройства
Микросхемы ПМЛ, безусловно, очень полезны, во они вмещают относительно небольшое количество логических элементов, поэтому для реализации типичной цифровой системы может потребоваться очень много таких чипов. Для подобных целей имеет смысл применять более крупные схемы, называемые сложными пр-граммируемыми логическими устройствами, СПЛУ (Complex Programmable Logic Device, CPLD). Они состоят из двух или нескольких блоков типа ПЛМ с программируемыми межсоединениями. Структуру такого чипа можно видеть на рис. 2.43, Каждый блок типа ПМЛ соединен со множеством входных и выходных выводов. Соединения между блоками устанавливаются путем программирования переключателей, связанных с соединительными линиями. Коммутационный блок представляет собой набор горизонтальных и вертикальных проводящих линий. Каждую горизонтальную линию путем программирования соответствующих переключателей можно соединить с одной из вертикальных. Обычно схема не позволяет соединять любые вертикальные линии с любыми горизонтальными, поскольку для этого потребовалось бы слишком много переключателей. В реальных схемах их бывает намного меньше.
Рис. 2.43. Структура сложного программируемого логического устройства
Серийно выпускаемые СПЛУ имеют разные размеры — они могут содержать от двух до более чем ста блоков ПМЛ. Такой чип программируется путем загрузки управляющей информации через nopm JTAG. Этот четырехконтактный порт соответствует стандарту IEEE, разработанному Joint Test Automation Group.
2. 12. Программируемые вентильные матрицы
Микросхемы ПМЛ достаточно универсальны, но их размер ограничен по той причине, что для каждой суммы произведений требуется один выходной контакт. Для преодоления этого ограничения разработан класс более мощных программируемых устройств, называемых программируемыми вентильными матрицами, ПВМ (Field Programmable Gate Array, FPGA), Концептуальная схема такой матрицы показана на рис. 2.44. Она состоит из набора логических блоков (обозначенных черными квадратами), которые могут соединяться с помощью общих межсоединений. Межсоединения, выделенные на рисунке серым цветом, состоят из отрезков проводящих линий и программируемых переключателей. Переключатели используются для установки соединений между разными сегментами проводящих линий. Построенный таким образом чип обладает исключительной гибкостью. Для доступа к выходным и входным контактам чипа здесь предназначены буферы ввода-вывода.
Рис. 2.44. Концептуальная схема программируемой вентильной матрицы
Существует множество конструкций логических блоков и структур межсоединений. Логическими блоками могут служить простейшие схемы на основе мультиплексоров, реализующие логические функции (см. раздел 2.10). В еще одной популярной конструкции в качестве логического блока используется простейшая таблица для выбора значения. Например, таблица с четырьмя входами может быть реализована в виде 16-разрядной схемы памяти, в которой хранится таблица истинности логической функции. Каждый бит памяти соответствует одной комбинации значений входных переменных. Путем программирования этой таблицы можно реализовать любую функцию четырех переменных. Еще логические блоки могут содержать триггеры, обеспечивающие дополнительную гибкость. В дополнение к логическим блокам многие программируемые вентильные матрицы включают достаточно большое количество ячеек памяти (на рис. 2.44 они не показаны), которые могут использоваться для реализации таких структур, как очереди или RAM и ROM-компоненты в приложениях для встроенных процессоров.
С точки зрения пользователя, между программируемыми вентильными матрицами и сложными программируемыми логическими устройствами имеются существенные различия. Функциональные возможности чипов вентильных матриц гораздо шире, и на их основе могут быть реализованы довольно большие и сложные логические схемы. Один такой чип может содержать более миллиона логических вентилей. Различна и скорость работы этих двух типов микросхем. Поскольку во внутренних межсоединениях вентильной матрицы используются программируемые переключатели, задержка на распространение сигнала в ней неизбежно будет более заметной, нежели у таких менее гибких устройств, как микросхемы ПМЛ или СПЛУ.
Программируемые вентильные матрицы становятся все более популярными у конструкторов цифровых логических устройств, поскольку они позволяют располагать на одном чипе очень сложные схемы и избегать разработки и создания пользовательских СБИС, что, во-первых, дорого, а во вторых, требует очень много времени. Пользуясь средствами автоматизированного проектирования, конструкторы могут создавать интегральные схемы на основе программируемых вентильных матриц не за месяцы, как пользовательские СБИС, а за считанные дни. Даже самые большие ИС на основе программируемых вентильных матриц стоят всего несколько сотен долларов, и затраты, связанные с их разработкой, очень малы по сравнению с затратами на разработку пользовательских чипов.
Основы программируемых логических устройств освещаются во многих современных книгах по проектированию логических схем. За более подробной информацией об этих устройствах читателя можно отослать и к документации от производителей.