ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

 

 

последовательно вдвигаются в ПЛИС на входы TDI и выдвигаются через выходы TDO.

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

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

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

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

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

Программируемые данные верифицируются с помощью исключающего ИЛИ. Данные, подвергаемые операции "исключающее ИЛИ", записываются в регистр состояния "программирование-верификация" в состоянии 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) используется для изменения содержимого битов ОЗУ Ей можно воспользоваться для осуществления реконфигурации устройства не изменяя содержимого ПЗУ. Данные, записываемые в ячейки ОЗУ, и адрес строки вдвигаются в состояние SHIFTDR. Операция записи в ОЗУ фактически осуществляется в состоянии Run- Test/Idle контроллера TAP.

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

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

 

 

       
 
 
   
 
   

 

 


 


Рис. 2.1.3,а

TDI

 
 

 

 


TMS

TD1 TDO D3 TMS TCK
TCK

               
   
   
 
   
 
 
 

 


TDO


Рис. 2.1.3,б

 

Пока устройство находится в режиме 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.

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

 

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

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти