Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Средства проектирования цифровых устройств на ПЛИС





 

Эффективное использование средств программируемой логики невозможно без развитых САПР. В настоящее время САПР поставляются фирмами производителями ПЛИС, и поддерживают все семейства микросхем данной фирмы. Наиболее популярными на сегодняшний день являются ПЛИС фирм ALTERA и XILINX. Обе фирмы производят широкую номенклатуру ПЛИС, реализующих все существующие технологии программирования внутренней логики. Рассмотрим кратко программные средства проектирования обеих фирм, используемые для разработки цифровых устройств на ПЛИС наиболее популярных серий.

 

САПР фирмы ALTERA

 

С 1999 года фирма ALTERA поставляет две САПР, обеспечивающие сквозное проектирование цифровых устройств: пакет MAX+PLUS II версий до 10.0 и новый пакет QUARTUS (II), изначально ориентированный на поддержку ПЛИС семейства APEX 20 K, но в верcии II обеспечивающий поддержку и других популярных семейств. Несмотря на более широкие возможности QUARTUS II пакет MAX+PLUS II остается широко используемым и удобным для учебных целей. Описанные этапы проектирования полностью относятся к этому пакету. Пакет полностью интегрирован, обеспечивает ввод проекта в виде принципиальной схемы, в тeкстовой форме на языках описания аппаратуры AHDL, VHDL или Verilog HDL, в виде временной диаграммы работы логического устройства. Обладает средствами функционального временного моделирования, автоматической трассировки и программирования ПЛИС. MAX+PLUS II имеет простой и ясный интрефейс, что сокращает временные затраты на освоение.

Для работы с пакетом необходим компьютер класса IBM PC с процессором не ниже Pentium, объемом ОЗУ не меньше 16 Мбайт и свободным местом на жестком диске не менее 150 Мбайт. Следует отметить, что для работы с серьезными проектами требования к аппаратным средствам могут быть значительно выше. Система MAX+PLUS II последней на момент написания учебного пособия версии 10.0 может функционировать под управлением операционных систем OSR2, Windows 95, Windows NT или их более поздних поколений. Будем рассматривать работу системы на платформе Windows 98 /ME, как наиболее широко используемых при учебном проектировании.

При работе с системой MAX+PLUS II удобно пользоваться понятием проекта как совокупности иерархически связанных файлов, относящихся к некоторой конкретной разработке [6].

В процессе установки создаются два каталога maxplus 2 и max 2 work. В первом находятся файлы и папки собственно системы MAX+PLUS II. Во втором рекомендуется хранить рабочие файлы проектов. Удобно для каждого проекта в каталоге max 2 work организовать свою папку для хранения всех файлов, относящихся к данному проекту. Например, для проекта, рассмотренного в следующем разделе, создана папка PRBS, так что путь к файлам данного проекта имеет вид c: \ max2work \ PRBS \ при условии, что система MAX+PLUS II установлена в корневом каталоге диска c. В результате установки в каталоге max 2 work расположен ряд подкаталогов, содержащих обучающие примеры, которые при необходимости могут быть удалены. Производить изменения файловой структуры каталога maxplus 2 не рекомендуется.

С точки зрения проектировщика цифровых устройств систему MAX+PLUS II можно представить состоящей из четырех подсистем:

– подсистема ввода проекта;

– подсистема компиляции;

– подсистема моделирования;

– подсистема программирования.

Функционирование подсистемы ввода проекта обеспечивается следующими средствами:

1.) графический редактор принципиальных электрических схем;

2.) графический редактор условных графических обозначений элементов и макроэлементов принципиальных схем;

3.) текстовый редактор описания цифровых устройств на языках высокого уровня

4.) сигнальный графический редактор;

5.) топологический графический редактор.

Подсистема компиляции в большой степени скрыта от пользователя системы и выполняет все действия по созданию файла конфигурации ПЛИС:

– извлечение списка цепей;

– построение базы данных проекта;

– логический синтез;

– извлечение функциональных и временных характеристик;

– разбиение проекта на части;

– трассировку топологии ПЛИС;

– формирование файла конфигурации.

Подсистема моделирования состоит из:

1.) программы моделирования;

2.) анализатора временных задержек;

3.) сигнального графического редактора.

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

В силу важности процесса компиляции рассмотрим этот вопрос подробнее. На первом этапе компиляции для каждого функционального модуля проекта выполняется извлечение списка цепей, строится файл, описывающий иерархические взаимосвязи между составными частями проекта. Модули, описанные с использованием внешних форматов, преобразуются к виду, принятому для внутреннего описания. Это позволяет использовать для подготовки некоторых частей проекта использовать САПР других фирм.

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

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

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

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

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

Отдельно следует отметить процедуры создания данных для моделирования проекта. Данные для функционального моделирования появляются уже на этапе создания базы данных проекта. Эти данные еще не содержат информации о временных задержках, но позволяют проверить правильность логического построения проекта.

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

Рассмотрим пользовательский интерфейс системы MAX+PLUS II. При запуске системы на экране компьютера появляется главное окно, содержащее стандартные для приложений операционных систем Windows 98 /ME элементы: кнопки управления окном, строку заголовка, строку главного командного меню, панель инструментов, строку состояния. Назначение данных элементов традиционно для большинства приложений, и подобно не рассматривается.

При отсутствии открытых проектов строка главного командного меню содержит следующие командные меню: MAX+plus II, File, Assign, Options, Help, позволяющие вызывать команды нижнего уровня. При открытии различных внутренних приложений системы содержание строки главного командного меню изменяется и соответствует функциям активного приложения. Назначение ряда команд ясно из их названия и совпадает с назначением аналогичных команд других Windows -приложений.

Рассмотрим специфические, характерные только для системы MAX+PLUS II команды и их применение для проектирования устройств на ПЛИС.

Командное меню MAX+plus II содержит одиннадцать команд, позволяющих запустить любое из внутренних приложений системы.

Команда Hierarchy Display отображает древовидную иерархическую структуру файлов проекта с возможностью запуска редактора, соответствующего выделенной компоненте проекта.

Команда Graphic Editor запускает графический редактор, служащий для создания принципиальных электрических схем составных частей проекта. Заметим, что возможности схемного редактора системы MAX+PLUS II обладает не очень богатыми возможностями, поскольку система ориентирована на текстовое описание проектов на языках высокого уровня (AHDL, VHDL, Verilog HDL).

Команда Symbol Editor запускает графический редактор, служащий для создания и редактирования условных графических обозначений (УГО) законченных функциональных частей проекта, описанных на языках высокого уровня или с помощью принципиальных электрических схем. Таким образом, может быть создана сложная иерархическая структура проекта.

Команда Text Editor служит для запуска текстового редактора, служащего для описания частей проекта на языках высокого уровня.

Команда Waveform Editor запускает сигнальный графический редактор, имеющий двоякое назначение. С одной стороны он позволяет создавать тестовые сигнальные воздействия и наблюдать результаты моделирования в виде временных диаграмм. С другой стороны временные диаграммы являются поведенческим описанием схемы и могут служить исходными данными для логического синтеза.

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

Команда Compiler вызывает процедуру компиляции проекта.

Команды Simulator вызывает программу моделирования, исходными данными для которой служат результаты соответствующих этапов компиляции.

Команда Timing Analyzer использует результаты компиляции для анализа и отображения данных о временных задержках в схеме.

Команда Programmer служит для вызова модуля аппаратного программирования конфигурации ПЛИС.

Команда Message Processor позволяет отыскивать и просматривать текстовые сообщения, появляющиеся на различных этапах проектирования.

Содержание командного меню File определяется активным окном. Большинство команд данного меню традиционно для Windows -приложений. Их назначение ясно из названий.

Командное меню Assign специфично для MAX+PLUS II, и содержит команды назначений параметров проекта. Рассмотрим наиболее важные из них, позволяющие управлять процессом компиляции.

Команда Assign позволяет назначить для размещения проекта конкретный тип ПЛИС.

Команда Pin/Location/Chip служит для назначения физического размещения логических функций и цепей.

Команда Timing Requirements служит для задания требований к временным задержкам, превышать которые запрещено.

Команда Clique позволяет объединять логические функции с целью реализации их в одном и том же блоке логической структуры.

Команда Logic options позволяет управлять логическим синтезом путем использования различных стилей логического синтеза, например с целью повышения быстродействия, минимизации площади, занимаемой схемой на кристалле и др.

Команда Probe позволяет задать точки схемы, поведение сигналов в которых следует отобразить по результатам моделирования.

Команда Connected Pins определяет внешние соединения сигналов на печатной плате.

Команда Local Routing служит для задания режимов локальной трассировки ПЛИС серии FLEX 6000.

Следующие четыре команды Global Project Device Options, Global Project Parameters, Global Project Timing Requirements, Global Project Logic Synthesis позволяют определить глобальные установки для всего проекта в целом.

Команды Ignore Project Assignments и Clear Project Assignments позволяют указать те назначения, которые следует игнорировать в процессе предстоящей компиляции или сбросить текущие назначения.

Команда Back-Annotate Project служит для сохранения результатов последней трассировки кристалла.

Последняя команда Convert Obsolete Assignment Format служит для преобразования файла, сохраняющего назначения и конфигурации из ранних версий программы.

 

САПР фирмы XILINX

Фирма XILINX параллельно с ПЛИС предоставляет разработчику САПР: XILINX Foundation Series, XILINX Alliance Series, WebPack, WebFitter.

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

Система проектирования XILINX Foundation Series реализует следующие возможности:

– поддержка различных методов описания проектируемых устройств (графических и текстовых);

– наличие схемотехнического редактора, укомплектованного набором обширных библиотек;

– интеллектуальные средства создания HDL -описаний, формирующие шаблоны на основании информации, предоставляемой пользователем, для языков описания аппаратуры VHDL, Verilog и ABEL HDL;

– высокоэффективные средства синтеза HDL -проектов, поддерживающие языки VHDL, Verilog и ABEL HDL, с возможностью оптимизации;

– развитые средства верификации проекта, позволяющие сократить полное время разработки устройства за счет обнаружения возможных ошибок на более ранних стадиях проектирования и сокращения длительности и количества возможных итераций;

– автоматические средства трассировки проекта в кристаллы различных семейств ПЛИС XILINX с учетом оптимизации проекта по различным параметрам;

– средства программирования кристаллов семейств ПЛИС XILINX, выполненных по различной технологии (CPLD и FPGA), поддерживающие несколько типов загрузочных кабелей JTAG -интерфейса;

– удобный для разработчика пользовательский интерфейс и наличие в каждом модуле пакета справочной системы, сокращающие время освоения САПР.

 

Рассмотрим состав программных модулей XILINX Foundation Series.

Project Manager - графическое средство управления основными модулями проекта интегрированной среды.

Schematic Editor - графический редактор позволяющий осуществлять ввод логической схемы проекта. Ввод схемы может производиться на основе стандартных и параметризованных библиотек логических элементов.

Synthesis Timing Analyzer - анализатор функциональных и временных параметров проекта.

LogiBLOX - графическое средство создания параметризованных и оптимизированных под конкретную архитектуру логических элементов. Применяется в тех случаях, когда стандартные библиотечные модули не удовлетворяют по функциональному назначению или имеют большую избыточность.

Flow Engine – средство отображения этапов размещения проекта в кристалл. Упаковка проекта состоит из трансляции входного файла универсального формата во внутренний формат; разбиения логики по КЛБ (конфигурационный логический блок); размещения по кристаллу элементов логики и связей; создания конфигурационного файла для загрузки в кристалл; создания отчета о статических временных параметрах и создания файла для моделирования с учетом временных задержек в форматах VHDL, Verilog, EDIF или XNF.

Synthesis Constraints Editor - редактор ограничений, накладываемых на проект, написанный на VHDL/Verilog перед синтезом.

Synopsys FPGA Express Synthesis - программа синтеза проектов, написанных на VHDL/Verilog

HDL Design Tools - набор утилит для упрощения ввода проекта на языках высокого уровня VHDL/Verilog, включающий в себя текстовый редактор, мастер готовых шаблонов основных конструкций языка, проверку синтаксиса, редактор диаграмм состояний

ABEL Synthesis - модуль синтеза проектов, написанных на Abel

Simulator (Functional and Timing)- графический редактор позволяющий произвести моделирование до трассировки и после.

Design Manager - интерфейсный модуль, осуществляющий управление всеми средствами автоматической трассировки и дающий пользователю доступ к ним

CORE Gen - встроенный модуль генерации параметризованных и оптимизированных под конкретную архитектуру модулей, выполняющих сложные функции, например такие модули как корреляторы, фильтры, спектральные преобразования и т.д.

Floorplanner - графическое средство позволяющее контролировать процесс автоматического размещения логики в кристалл FPGA или полностью "вручную" произвести размещение.

FPGA Editor - графическое средство позволяющее просмотреть и отредактировать результаты размещения логики и связей, а также "вручную" спроектировать кристалл FPGA на уровне КЛБ и линий связи.

Hardware Debugger - программа загрузки и верификации проекта с компьютера

PROM Files Formatter - программа создания конфигурационного файла для хранения в последовательных или параллельных ПЗУ. Доступно три формата MCS, EXO, TEX. Для микропроцессорной загрузки формируется файл в формате HEX.

Дистрибутив пакета инсталлируется на магнитный диск автоматически, с возможностью выбора требуемой пользователю конфигурации.

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


1.5 Интерфейс программирования и тестирования JTAG/IEEE 1149.1

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

В состав порта тестирования (программирования) входит 4 основных цифровых сигнала:

TDI – последовательный ввод тестовых или других данных,

TDO - последовательный вывод тестовых или других данных,

TCK - тактирование и сопровождение последовательных данных,

TMS – управление режимом работы интерфейса.

Часто добавляется дополнительный сигнал TRST – сброс порта.

Интерфейс последовательный, синхронный, сигналы ввода и вывода данных однонаправленные, но с высокоимпедансным состоянием. Он может соединять несколько цифровых БИС последовательно, как показано на рис. 1.2.

Рис. 1.2 Соединение 4 БИС интерфейсом тестирования.

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

Порт тестирования и программирования в каждой БИС управляется контроллером JTAG интерфейса. Структурная схема порта тестирования и программирования показана на рис. 1.3.

Рис. 1.3. Структурная схема порта тестирования и программирования.

Контроллер JTAG интерфейса сбрасывается в исходное состояние сигналом TRST. После этого он готов принимать команды по входу TDI последовательно в регистр команд. Контроллер JTAG интерфейса по переднему фронту сигнала TCK формирует все сигналы управления регистрами данных и команд. Стандартом не оговаривается длина регистра команд, в зависимости от сложности микросхемы он может содержать разное число бит. Признаком окончания приема команды служит установка в логическую единицу сигнала TMS. При этом контроллер JTAG интерфейса дешифрирует команду в дешифраторе и подсоединяет требуемый регистр данных на ввод или вывод. После сброса сигнала TMS в ноль контроллер готов выполнять команду и принимать или передавать данные по TDI и TDO. По окончании выполнения команды сигнал TMS снова взводится в единицу и после сброса контроллер готов принимать следующую команду.

Bypass триггер служит для передачи команд и данных портам других цифровых БИС, включенных в цепочку по TDI и TDO. Учитывая синхронность интерфейса, каждая БИС задерживает данные на один такт в цепочке. IDECODE регистр содержит несколько бит и хранит данные о производителе микросхемы, ее типе и версии, доступен на чтение. UESCODE регистр имеет несколько бит и хранит код сигнатуры исправной БИС для сигнатурного анализа и быстрого обнаружения неисправности БИС.

Регистр тестирования представляет собой набор ячеек памяти периферийного тестирования или сканирования. Эти ячейки расположены между выводами микросхемы и входными – выходными каскадами БИС (Рис. 1.4).

Рис. 1.4. Ячейки периферийного тестирования.

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

Тестирование микросхем с помощью таких ячеек может проводиться в двух режимах. Первый режим – “холодного” тестирования. В этом случае на смонтированные на плате БИС подается только питание. Через контроллер JTAG интерфейса подаются тестовые последовательности логических нулей и единиц на ячейки тестирования одних БИС, а результаты контролируются через ячейки тестирования других БИС. При этом учитываются связи между БИС через печатные проводники платы. Таким образом можно проводить быстрый автоматизированный контроль проводников печатной платы на обрывы и короткие замыкания.

Второй режим – режим “горячего” тестирования. В этом случае контролируемая печатная плата работает в составе аппаратуры с реальными сигналами. Для тестирования подаются через JTAG контроллер команды фиксации мгновенных значений входных и выходных сигналов БИС в ячейках тестирования, затем эти значения последовательно считываются через JTAG интерфейс в тестирующий компьютер. Накапливая срезы мгновенных значений сигналов в различные моменты времени можно получить временные диаграммы работы тестируемого устройства.

Регистр программирования или реконфигурации представляет собой битовую карту перемычек программируемой логики. Для JTAG интерфейса эта битовая карта представляется длинным многобитным последовательным сдвиговым регистром. Если в качестве элементов памяти хранения перемычек используется технология постоянного запоминающего устройства или ФЛЭШ-памяти – процесс прошивки перемычек называется программированием, при выключении питания карта перемычек не стирается. Если в качестве элементов памяти хранения перемычек используется технология статического ОЗУ, тогда процесс прошивки перемычек называется реконфигурацией, при выключении питания в этом случае карта перемычек стирается.


Date: 2015-11-13; view: 1521; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию