- •СОДЕРЖАНИЕ
- •ВВЕДЕНИЕ
- •НАЧАЛЬНЫЕ СВЕДЕНИЯ О ПЛИС
- •Интегральные схемы типа FPGA
- •Перестраиваемый логический блок
- •Генераторы логических функций
- •Триггер
- •Блоки ввода/вывода сигналов
- •Программируемые соединения
- •Динамические параметры конфигурируемого логического блока
- •ОРГАНЫ УПРАВЛЕНИЯ УНИВЕРСАЛЬНОГО ЛАБОРАТОРНОГО СТЕНДА
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •Список литературы
- •ВВЕДЕНИЕ
- •ПРОЕКТИРОВАНИЕ ОДНОВЫХОДНОЙ КОМБИНАЦИОННОЙ СХЕМЫ
- •СИНТЕЗ КОМБИНАЦИОННЫХ МНОГОВЫХОДНЫХ СХЕМ
- •Реализация булевых функций с помощью постоянного запоминающего устройства
- •ПРОЕКТИРОВАНИЕ КОМБИНАЦИОННЫХ СХЕМ НА VHDL
- •ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •ОТЧЕТ ПО РАБОТЕ
- •Список литературы
- •ВВЕДЕНИЕ
- •СИНХРОННЫЕ ТРИГГЕРЫ СО СТАТИЧЕСКИМ УПРАВЛЕНИЕМ ЗАПИСЬЮ
- •СИНХРОННЫЕ ДВУХСТУПЕНЧАТЫЕ ТРИГГЕРЫ
- •СИНХРОННЫЕ ТРИГГЕРЫ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ ЗАПИСЬЮ
- •УСЛОВНОЕ ГРАФИЧЕСКОЕ ОБОЗНАЧЕНИЕ ТРИГГЕРНЫХ СХЕМ
- •ПРОЕКТИРОВАНИЕ ТРИГГЕРНЫХ СХЕМ
- •ПРОЕКТИРОВАНИЕ СИНХРОННЫХ ДВУХСТУПЕНЧАТЫХ ТРИГГЕРОВ
- •ПОСТРОЕНИЕ СИНХРОННЫХ ТРИГГЕРОВ С ДИНАМИЧЕСКИМ УПРАВЛЕНИЕМ ЗАПИСЬЮ
- •ПРОЕКТИРОВАНИЕ ТРИГГЕРНЫХ СХЕМ НА VHDL
- •ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •ОТЧЕТ ПО РАБОТЕ
- •Список литературы
- •ВВЕДЕНИЕ
- •СИНТЕЗ СИНХРОННЫХ СЧЕТЧИКОВ
- •Матрица переходов триггера
- •ПРИМЕР
- •ПРОЕКТИРОВАНИЕ СЧЕТЧИКОВ НА VHDL
- •ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •ОТЧЕТ ПО РАБОТЕ
- •Список литературы
- •ВВЕДЕНИЕ
- •ПРОЕКТИРОВАНИЕ МНОГОФУНКЦИОНАЛЬНОГО РЕГИСТРА
- •ДИНАМИЧЕСКИЕ ПАРАМЕТРЫ РЕГИСТРОВ
- •ПРОЕКТИРОВАНИЕ РЕГИСТРА НА VHDL
- •ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •ОТЧЕТ ПО РАБОТЕ
- •Список литературы
- •ВВЕДЕНИЕ
- •Статические и динамические состязания сигналов
- •Функциональные и логические состязания сигналов
- •Синтез схем, свободных от логических состязаний
- •Анализ комбинационных схем с целью выявления состязаний
- •СОСТЯЗАНИЯ СИГНАЛОВ В ПОСЛЕДОВАТЕЛЬНОСТНЫХ СХЕМАХ
- •Последовательностные схемы
- •Условия надежного функционирования асинхронной схемы
- •Критические состязания
- •Существенные состязания
- •Анализ асинхронных последовательностных схем
- •Устранение критических состязаний
- •ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ СОСТЯЗАНИЙ СИГНАЛОВ
- •ПОДГОТОВКА К ВЫПОЛНЕНИЮ РАБОТЫ
- •ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •ОТЧЕТ ПО РАБОТЕ
- •Список литературы
- •Логические элементы
- •Мультиплексоры
- •Описание цифрового осциллографа
- •Запуск и настройка осциллографа
- •Настройка изображения сигнала на экране осциллографа
- •Получение устойчивого изображения сигнала
- •Выбор цены деления по оси Х и Y
- •Выбор фронта сигнала по входу Х осциллографа
- •Измерение временных интервалов (измерение задержек)
Рис. 1.2. Структура CLB ПЛИС семейства Spartan
В состав CLB входят:
•три таблицы преобразования LUT (Look-Up Table), которые используются как генераторы логических функций;
•два триггера;
•две группы А и В программируемых мультиплексоров, играющих роль средств конфигурирования CLB.
Генераторы логических функций
Наиболее важными программируемыми элементами логического блока являются схемы F-LUT, G-LUT и Н-LUT (см. рис. 1.2), вырабатывающие значения логических функций. С помощью элементов F и G можно реализовать любую логическую функцию четырех переменных, а элемент Н позволяет сформировать значение любой логической функции трех переменных.
Как построить универсальную схему, реализующую логические функции 4 переменных? Если решать эту задачу на уровне вентилей, то она оказывается очень сложной, но если посмотреть на нее с другой точки зрения, то ее решение значительно облегчается. Любая функция 4-х переменных может быть описана таблицей истинности, состоящей из 16 строк. Предположим, что мы храним
9
таблицу истинности в одноразрядной памяти на 16 слов. Подавая на адресные входы памяти четыре входных бита, мы получаем на выходе значение функции для этой комбинации значений переменных.
Именно такой подход был принят разработчиками ПЛИС FPGA в фирме Xilinx. Схемы F и G, вырабатывающие значения логических функций, фактически являются очень компактными и быстрыми статическими ЗУ 16×1, а схема Н представляет собой статическое ЗУ 8×1. Когда логический блок используется для выполнения логических операций, то в статическое ЗУ загружаются таблицы истинности логических функций F, G и Н.
Время вычисления результата не зависит от воспроизводимой функции и равно времени считывания слова из памяти.
Обратите внимание, что сигналы с выходов схем F и G, а также сигналы, поступающие на дополнительные входы логического блока, можно подать через мультиплексоры группы А на входы схемы Н (см. рис. 1.2), поэтому можно реализовать логические функции с числом переменных больше четырех. Ниже приведен перечень функций, которые можно реализовать с помощью схем F, G и Н в одном логическом блоке:
любая функция с числом переменных не более четырех плюс любая другая функция с числом переменных не более четырех, которые не связаны с переменными первой функции, плюс любая третья функция с числом независимых переменных не более трех;
любая одна функция пяти переменных;
любая функция четырех переменных плюс некоторые другие функции шести переменных, не зависящих от переменных первой функции;
некоторые функции с числом переменных до девяти, включая проверку на четность и проверку равенства двух 4-разрядных двоичных слов.
При соответствующем программировании мультиплексоров группы В сигналы с выходов схем, вырабатывающих значения функций, могут быть выведены на выходы X и У логического блока или запомнены в переключающихся по фронту D-триггерах.
10
Помимо удобства программирования, применение памяти для хранения таблиц истинности имеет другое важное достоинство. Каждая таблица преобразования LUT (Look-Up Table) может быть использована как оперативное запоминающее устройство с организацией 16x1 или как 16-разрядный сдвиговый регистр. Это дает возможность использовать в проектах небольшие по объему блоки распределенной по кристаллу памяти.
Триггер
Каждый CLB содержит два триггера, которые могут использоваться для фиксации и хранения сигналов с выходов схем (LUT), вырабатывающих значения функций, или же работать независимо от них. Входной сигнал DIN может быть прямым входом для любого триггера (см. рис. 1.2). Сигнал H1 тоже можно передавать любому триггеру, но через схему Н-LUT, что вносит в цепь его передачи некоторую задержку.
Оба триггера имеют общие входы СК тактирования от сигнала К, разрешения тактирования ЕС и установки/сброса SR
(см. рис. 1.2).
Внутренние программируемые цепи в схеме триггера (рис. 1.3) позволяют индивидуально программировать полярность тактирующего сигнала СК.
С помощью мультиплексоров в триггерах может быть также использован вход разрешения тактового сигнала ЕС (см. рис. 1.3).
Сигнал SR асинхронный и для каждого триггера программируется с использованием внутренних цепей триггера как сигнал установки или сброса. Этот сигнал определяет состояние, в котором окажется триггер после процесса конфигурации микросхемы. Конфигурация определяет и характер воздействия на триггеры импульсов GSR (Global SR) и SR при работе схемы.
11
Рис. 1.3. Триггерная схема конфигурируемого блока
Блоки ввода/вывода сигналов
ПЛИС FPGA находят широкое применение также благодаря тому, что имеют большое число блоков ввода/вывода сигналов, настраиваемых под различные стандарты электрического соединения микросхем. Блоки ввода/вывода (БВВ) обеспечивают интерфейс между выводами корпуса ПЛИС FPGA и ее внутренними логическими схемами. Каждому выводу корпуса придается блок ввода/вывода БВВ, который может быть конфигурирован как вход, выход или двунаправленный вывод.
На рис. 1.4 показана упрощенная функциональная блок-схема одного блока ввода/вывода (I/O block, IOВ). Сигнальный вывод ПЛИС получил название PAD. С помощью настройки к нему можно подключать внутренний нагрузочный резистор PULL-UP или резистор PULL-DOWN, соединенные с шиной питания или шиной земли, соответственно. Эти резисторы обеспечивают режим выхода
12
с открытым коллектором (стоком) для систем с различными уровнями логики.
Рис. 1.4. Упрощенная структура блока ввода/вывода
Работа БВВ как выходного блока обслуживается следующими элементами: выходным буфером 1, триггером 1, мультиплексорами 1, 2, 5 и логической схемой ИЛИ (см. рис. 1.4). Выводимый сигнал О можно получать в прямой или инверсной форме в зависимости от программирования мультиплексора 2. Этот сигнал может передаваться на выходной буфер непосредственно или сниматься с триггера при соответствующем программировании мультиплексоpa 5. Сигналы Т и GTS (Global Tri-State), согласно логике ИЛИ, управляют переводом буфера в третье состояние, причем активный уровень сигнала Т программируется с помощью мультиплексора 1. Внутренние программируемые цепи триггера (на рисунке не показаны) позволяют изменять полярность тактирующего фронта. Сам буфер имеет программируемые крутизну фронта выходного сигнала и его уровни — КМОП/ТТЛ. Крутизна фронтов в некритичных к скорости передачи цепях снижается для уменьшения уровня помех на шинах питания и земли.
Тракт ввода сигналов содержит входной буфер 2, триггер 2, программируемые мультиплексоры 3, 4, 6, элемент задержки Delay (см. рис. 1.4). Вводимый сигнал в зависимости от программирова-
13