Учебное пособие Рекомендовано учебно-методическим объединением вузов по образованию в области машиностроения и приборостроения для студентов специальности 22. 01. 00 \"Вычислительные машины, комплексы, системы и сети\" Пенза 1996 icon

Учебное пособие Рекомендовано учебно-методическим объединением вузов по образованию в области машиностроения и приборостроения для студентов специальности 22. 01. 00 "Вычислительные машины, комплексы, системы и сети" Пенза 1996



Смотрите также:
Учебное пособие Рекомендовано Учебно-методическим объединением по образованию в области...
Методические указания и контрольные задания Для студентов специальности 230101 «Вычислительные...
Методические указания и контрольные задания Для студентов специальности 230101 «Вычислительные...
Учебное пособие Г. М...
Учебное пособие Допущено Учебно-методическим объединением вузов Российской Федерации по...
Учебное пособие Рекомендовано Учебно-методическим объединением по медицинскому и...
«Вычислительные машины, комплексы, системы и сети»...
Методические указания и контрольные задания для студентов заочников Специальности 230101...
Рабочая программа для студентов 3 курса по специальности (вэвм) 220100 Вычислительные машины...
Конспект лекций «Электронно-вычислительные машины и компьютерные сети» по курсу «Организация ЭВМ...
Конспект лекций «Электронно-вычислительные машины и компьютерные сети» по курсу «Организация ЭВМ...
Учебное пособие Рекомендовано Учебно-методическим объединением по образованию в области водного...



страницы:   1   2   3   4
скачать
Государственный комитет Российской Федерации

по высшему образованию

Пензенский государственный технический университет


М.М. Бутаев, Н.П. Вашкевич, Е.И. Гурин, Н.Н. Коннов


ПРОЕКТИРОВАНИЕ ЦИФРОВЫХ УСТРОЙСТВ НА ПРОГРАММИРУЕМЫХ ЛОГИЧЕСКИХ ИНТЕГРАЛЬНЫХ СХЕМАХ


Учебное пособие


Рекомендовано учебно-методическим объединением вузов по образованию в области машиностроения и приборостроения для студентов специальности 22.01.00 "Вычислительные машины, комплексы, системы и сети"


Пенза 1996


УДК 621.382:621.396.6

Б93


Бутаев М.М., Вашкевич Н.П., Гурин Е.И., Коннов Н.Н. Проектирование цифровых устройств на программируемых логических интегральных схемах: Учебн. пособие. - Пенза: Изд-во Пенз. гос. техн. ун-та, 1996. - с.: 27 ил., 1 табл., библиогр. 9 назв.


Описываются структура и принципы функционирования различных типов программируемых логических интегральных схем (ПЛИС). Рассматриваются этапы проектирования цифровых устройств на ПЛИС с применением ЭВМ и способы программирования ПЛИС. Приводятся примеры проектирования конкретных устройств.

Учебное пособие подготовлено на кафедре "Вычислительная техника" и предназначено для студентов специальности 22.01.00.


Рецензенты: ГНПП "Рубин"

к.т.н., доцент ИПК и ПРО А. И. Дралин


ÓИзд-во ПГТУ

ÓМ.М. Бутаев, Н.П. Вашкевич,

Е.И. Гурин, Н.Н. Коннов


СОДЕРЖАНИЕ


Ведение

1. Основные сведения о программируемых логических

интегральных схемах

1.1. Структура ПЛИС

1.2. Основные этапы разработки схем на ПЛИС

1.3. Программирование ПЛИС

2. ПЛИС с гибкой логикой

2.1. Структура ПЛИС с гибкой логикой

2.2. Общие принципы проектирования схем

на ПЛИС с гибкой логикой

2.3. Содержимое исходного файла

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

3.1. Структура программируемых пользователем

вентильных матриц

3.2. Программируемые логические блоки

3.3. Организация связей

3.4. Организация памяти

3.5. Системы проектирования

3.6. Программирование микросхем

4. Примеры проектирования схем на ПЛИС

4.1. Проектирование типовых узлов

4.2 Проектирование пересчетных схем

Литература

Приложение 1. Справочные данные по языку PLDasm

Приложение 2. Содержимое файла RPT


ВВЕДЕНИЕ


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

Проектирование цифровых устройств с применением ПЛИС имеет свои особенности. Для разработки конкретных схем используются специально созданные системы автоматизированного проектирования, в которых для ввода могут использоваться языки описания схем или универсальные схемные редакторы типа OrCAD. Обязательным этапом является моделирование, во время которого проверяется правильность разработанной схемы. Для программирования микросхем применяются программаторы, использующие стандарт IEEE 1149.4 JTAG. Этот стандарт позволяет не только производить загрузку ПЛИС, но и проверять правильность работы микросхемы.

Использование ПЛИС обеспечивает максимальную гибкость при необходимости модификации аппаратуры. Применение ПЛИС позволяет сократить процесс проектирования и отладки цифровых устройств. При этом время, требуемое для получения работающей микросхемы, составляет от нескольких часов до нескольких дней, весь процесс разработки и получения готовой микросхемы производится на одном рабочем месте.

При подготовке пособия авторами использовались материалы популярных у разработчиков ПЛИС.

В оформлении материалов пособия принимали участие студенты специальности 22.01.00 Стрижков Д. В. и Голдобеев А. С.


^

1. Основные сведенияЯ о программируемых логиЧеских интегральных схемах

1.1. Структура ПЛИС


Программируемые логические интегральные схемы (ПЛИС) представляют собой БИС с регулярной структурой, которые могут программироваться пользователем для выполнения заданной функции. На практике для реализации комбинационных схем достаточно давно применяются программируемые логические матрицы (ПЛМ). Развитием этих схем явились комбинационно-поледовательные микросхемы типа КМ1554ХП4 и КМ1554ХП8, которые наряду с ПЛМ содержат регистровые схемы на выходе[1].

Более сложной схемой является программируемая пользователем ПЛИС ПЛ400 с ультрафиолетовым стиранием информации. По сравнению с предшествующими матричными логическими схемами она имеет большее количество триггеров и более широкие возможности проведения связей.

Структура типовой ПЛИС приведена на рис.1.1. Схема имеет N триггерных ячеек ТЯ.1, ТЯ.2 ... ТЯ.N, M информационных входов I.1, I.2 ... I.M и вход синхронизации C. Выходы триггерных ячеек подключены к контактам I/O.1, I/O.2 ... I/O.N, которые могут программироваться в качестве входов или выходов в зависимости от структуры разрабатываемой схемы.

Прямые и инверсные значения выходов триггерных ячеек, информационных входов и сигнала синхронизации подключены к логическому массиву соединений, выходами которого являются элементарные конъюнкции (термы) P.i. К каждой триггерной ячейке подключается K выходов логического массива P.1, P.1 ... P.K.

На рис.1.2 приведена схема триггерной ячейки. В состав триггерной ячейки входит триггер (обычно D-триггер), элемент ИЛИ, на входы которого подключается K термов P.1 ... P.K с выхода логического массива, схема сложения по модулю два М2, переключатели K1 и K2. На управляющий вход триггера поступает сигнал Q.D, формируемый в виде дизъюнктивных нормальных форм с возможностью инверсии на схеме М2.

Синхронизация триггера обычно осуществляется от общего сигнала C. Во многих схемах предусмотрена возможность задания сигнала синхронизации из логического массива.



Рис. 1.1 Структура ПЛИС



Рис. 1.2 Триггерная ячейка

Переключатель K1 позволяет выдавать на выходной контакт как выход триггера Q, так и управляющий вход - Q.D. Сигнал OE=1 разрешает прохождение сигнала с контакта K1 на выход I/O.i. При OE=0 контакт I/O.i может при необходимости использоваться в качестве входа.

Переключатель K2 определяет сигнал обратной связи F.i в логический массив: это может быть выход триггера или сигнал, поступающий на контакт I/O.i при использовании его в качестве входного.

В ряде микросхем может использоваться двойная обратная связь F1.i и F2.i (рис. 1.3), при использовании которой в случае, если выход триггера не выводится на контакт микросхемы, в логический массив соединений могут одновременно подключаться выход триггера Q (или его вход - Q.D) и контакт I/O.i, используемый как вход. Сигнал OE в этом случае равен нулю, т. е. запрещает прохождение сигнала с переключателя K1 на I/O.i. При необходимости при соответствующих положениях K1 и K2 в обратную связь могут поступать одновременно сигналы Q и Q.D.



Рис. 1.3 Триггерная ячейка с двойной обратной связью

На рис. 1.4 показана упрощенная схема логического массива соединений. Каждый из сигналов F.1 ... F.N и I.1 ... I.K при необходимости может подключаться к любой из горизонтальных линий P1.1 ... PK.N. На выходах последних вырабатываются элементарные логические произведения (термы). Похожая организация используется в программируемых логических матрицах.



Рис. 1.4 Логический массив

Для создания конкретной схемы ПЛИС должна быть запрограммирована внешними схемами. При этом программируются как логический массив, так и триггерные ячейки. При программировании ПЛИС могут использоваться четыре варианта: однократно прожигаемые перемычки, электрически программируемые элементы с ультрафиолетовым стиранием, электрически перепрограммируемые элементы памяти и программируемые структуры на базе ЗУ с произвольной выборкой.

В таблице показаны количественные характеристики зарубежных ПЛИС: количество триггерных ячеек (ТЯ), количество входов и особенности некоторых схем.

Номер

Тип

ТЯ

Входы

Особенности

1

5C032

8

10




2

5AC312

12

8

Двойная обратная связь

3

5C060

12

4




4

5C090

24

12




5

5C180

48

12

12 блоков по 4 ТЯ

Как показано в таблице ПЛИС 5AC312 имеет двойные обратные связи. Кроме того эти схемы имеют одноступенчатые триггеры типа "защелка" на входах. Упоминавшаяся выше отечественная ПЛИС ПЛ400 имеет 40 контактов, содержит 24 триггерные ячейки, 12 информационных входов и общий вход синхронизации.
^

1.2. Основные этапы разработки схем на ПЛИС


При разработке цифровых схем на ПЛИС можно выделить следующие этапы:

- выбор ПЛИС, позволяющей реализовать нужную схему исходя из ее объема и быстродействия;

- разработка схемы и ввод ее с помощью специального языка описания схем или универсального схемного редактора;

- моделирование схемы с целью проверки правильности ее работы;

- размещение схемы на кристалле и проведение связей;

- трансляция введенной схемы в битовую последовательность;

- загрузка этой последовательности (программирование ПЛИС).

Для разработки заданной схемы могут использоваться специально созданные системы автоматизированного проектирования. Эти системы обычно создаются разработчиком ПЛИС. В них для ввода схемы применяются специальные языки описания схем или универсальные схемные редакторы типа OrCAD.

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

Для программирования микросхемы используются специальные режимы загрузки. В различных ПЛИС эта операция может выполняться различными способами. Есть ПЛИС, в которых загрузка конфигурации производится также, как и в программируемых логических матрицах (ПЛМ). Однако в последнее время предпринимаются попытки стандартизации этой процедуры. Для этих целей был создан стандарт IEEE 1149.4 JTAG. Этот стандарт позволяет не только производить загрузку ПЛИС, но и проверять правильность работы микросхемы. Проверка производится специальным методом, получившим название в иностранной литературе "Boundary Scan" (периферийное сканирование, граничный просмотр). Более подробно данный стандарт описан ниже.
^

1.3. Программирование ПЛИС


Программирование ПЛИС представляет собой загрузку данных конфигурации в микросхему для настройки на нужную функцию. Программирование может осуществляться с помощью различных способов, которые определяются разработчиком ПЛИС. Один из распространенных способов предусматривает загрузку данных словами (обычно байтами), что ускоряет ее, но требует дополнительных аппаратных затрат.

В последнее время для программирования ПЛИС применяются программаторы, использующие специально созданный стандарт IEEE 1149.4 JTAG, при этом стандарта работой ПЛИС управляет специальный автомат TAP (рис. 1.5), для которого определены состояния запись команды (UPDATE-IR), сдвиг данных (SHIFT-DR), конец команды (EXIT-IR), захват данных (СAPTURE-DR), "прогон-тест/простой" (Run-Test/Idle) и др. При этом возможно программирование не только одной микросхемы, но и нескольких, если они объединены в одну цепь. На рис. 1.6 показаны три микросхемы: D1, D2 и D3, управление и синхронизация которых осуществляются сигналами TMS и TCK. Данные последовательно вдвигаются в ПЛИС на входы TDI и выдвигаются через выходы TDO.

Массивы данных загружаются с помощью специальных команд. Рассмотрим их подробнее.

Команда LDVECT (код 00101) используется для загрузки адреса строки или столбца и данных программирования. Регистр команд обновляется в состоянии UPDATE-IR конечного автомата контроллера TAP. Данные выдвигаются в состоянии SHIFT-DR.

Команда IDCODE (код 00010) используется для считывания идентификационного кода устройства и идентификационных байт пользователя. Во время этого режима между выводами TD1 и TD0 подключается специальная цепь чтения регистра идентификации устройства.




Рис. 1.5. Работа автомата TAP под управлением сигнала TMS

Команда FRGM (код 10101) используется для программирования ячеек EPROM. Адреса строк или столбцов и программные данные должны быть записаны заранее с помощью команды LDVECT.

Программирование инициируется в состоянии Run-Test/Idle на первом снижающемся фронте TCK. Устройство должно оставаться в этом состоянии как минимум 200 мкс.




Рис. 1.6 Программирование микросхем в стандарте JTAG

Программируемые данные верифицируются с помощью исключающего ИЛИ. Данные, подвергаемые операции "исключающее ИЛИ", записываются в регистр состояния "программирование-верификация" в состоянии CAPTURE-DR. Один бит данных может быть выдвинут в состоянии SHIFT-DR через вывод TDO. Во время этой операции адресные и программные данные не изменяются.

Команда FREAD (код 00110) используется для считывания всей строки данных ПЗУ. Здесь требуется вдвигать только адрес строки. После вдвигания адресов строк устройство должно оставаться в состоянии Run-Test/Idle как минимум 250 нс до сбора считываемых данных в состоянии CAPTURE-DR. Для этого режима отсутствует встроенная внутренняя верификация.

Обычная операция заключается в загрузке команды FREAD и затем вводе состояния SHIFT-DR. Затем вдвигается адрес строки и вводится состояние Run-Test/Idle, пребывание в этом состоянии как минимум 250 нс. Затем вводится состояние CAPTURE-DR, в котором данные собираются в сдвиговые регистры. Собранные данные могут быть выдвинуты через вывод TDO в состоянии SHIFT-DR.

Команда SWRITE (код 01111) используется для изменения содержимого битов ОЗУ Ей можно воспользоваться для осуществления реконфигурации устройства не изменяя содержимого ПЗУ. Данные, записываемые в ячейки ОЗУ, и адрес строки вдвигаются в состояние SHIFT-DR. Операция записи в ОЗУ фактически осуществляется в состоянии Run-Test/Idle контроллера TAP.

Запись в SRAM инициируется на первом снижающемся фронте TCK в состоянии Run-Test/Idle и заканчивается на первом снижающемся фронте TCK после выхода из состояния Run-Test/Idle.

В этом режиме отсутствуют верификация или считывание. Для считывания содержимого ячеек SRAM можно использовать команду SREAD. Обычная операция заключается в загрузке команды SWRITE, переходе в состояние SHIFT-DR, вдвигании данных и затем переходе в состояние Run-Test/Idle для осуществления записи.

Пока устройство находится в режиме SWRITE, выводы пользователя остаются в состоянии высокого выходного сопротивления. Для активизации выводов регистр команд должен быть модифицирован новой командой (IDCODE, BYPASS и т.д.).

Команда SREAD (код 10000) используется для считывания содержимого битов SRAM в массиве JEDEC. Необходимо вдвинуть только адрес строки.

После вдвигания адреса строки устройство должно оставаться в состоянии Run-Test/Idle во время состояния SHIFT-DR. Данные собираются в регистры строк в состоянии CAPTURE-DR и могут быть выдвинуты в состоянии SHIFT-DR.

Для этого режима отсутствует встроенная верификация.

Обычная операция заключается в загрузке команды SREAD, переходе в состояние SHIFT-DR и загрузке адреса строки. Затем производится переход в состояние Run.Test/Idle, после которого - переход в состояние SHIFT-DR через состояние CAPTURE-DR и выдвижение данных.

Команда UESCODE (код 10110) используется для считывания кода "Электронная подпись пользователя". UESCODE может быть запрещен к выдаче с помощью команды FRGM. Эта команда аналогична команде FREAD. Однако отсутствует необходимость вдвигать адрес строки для считывания содержимого UES.

Команда RADLOAD (код 11000) загружает 6 битов адреса строки. Она используется в файлах BSDL для обеспечения соответствия стандарту программирования устройства и внутренней реконфигурации.

Команда PORST (код 10100) может использоваться для переключения iFX780 или iFX740 в ее первоначальное состояние. Конфигурация устройства пересчитывается с битов EPROM. После загрузки команды производится переход к состоянию TEST-LOGIC RESET.

Использование этих команд позволяет программировать ПЛИС, а также считывать загруженные данные.




Скачать 481,77 Kb.
оставить комментарий
страница1/4
Дата29.09.2011
Размер481,77 Kb.
ТипУчебное пособие, Образовательные материалы
Добавить документ в свой блог или на сайт

страницы:   1   2   3   4
отлично
  1
Ваша оценка:
Разместите кнопку на своём сайте или блоге:
rudocs.exdat.com

Загрузка...
База данных защищена авторским правом ©exdat 2000-2017
При копировании материала укажите ссылку
обратиться к администрации
Анализ
Справочники
Сценарии
Рефераты
Курсовые работы
Авторефераты
Программы
Методички
Документы
Понятия

опубликовать
Документы

наверх