
VHDL 801а вопросы на экзамен / Матрица
.pdf
Все это поправимо после редактирования, так называемого, конструкторского файла – User Constraints File (UCF).
Рис. 25. Начало работы по созданию конструкторского файла
В иерархическом списке находим надпись – Create Timing Constraints, для запуска процесса создания файла временной оптимизации.
Рис. 26. Готового UCF нет – создаем новый
Согласимся с предложением о создании и добавлении в проект файла временной оптимизации
– Yes.
21

Рис. 27. В бланке можно прописать параметры тактового сигнала
Редактор конструкторского файла предлагает нам уточнить параметры периодческого сигнала MyCLK. Пропишем, что период 100 mkS, что верхняя полочка входного сигнала равна нижней (меандр) и сохраним файл.
Рис. 28. Или заполнить спецификацию предложенную мастером
Файл записываем. После того, как были внесены уточнения и изменения, синтез кристалла следует повторить. Таким образом мы подвердили, что осознаем пределы технологии и перечисляем ограниченность проектируемого устройства. За это пакет САПР ISE Xilinx снимает в иерархии рабочих файлов желтые треугольнички предупреждений.
22

Далее направим выходные сигналы счетчика LED0,.., LED3 на контакты, предусмотренные топологией печатной платы. Для этого инициируем редактор работы с контактами FloorPlan IO PreSynthesis. Иконка вызова этого оедактора находится в этом же блоке программ, что и редактор конструкторского файла – User Constraints.
Рис. 29. Рабочее окно редактора конструкторского файла
С помощью этого редактора необходимо открыть созданный выше конструкторский файл Schema.ucf и файл топологии кристалла Schema.ngd. Оба файла открываются в папке проекта – First.
Рис. 30. В папке проекта открываем файл топологии мкжсоединений компонентов
23

Рис. 31. Список файлов дополнятся указателем на имп ПЛИС
После открытия в поле контактов увидим список рабочих сигналов проекта. Пропишем в бланках Loc (Location) желательные контакты и сохраним этот подредактированный файл.
Рис. 32. Бланк редактора
Прописываем значения контактов для используемых сигналов.
24

Рис. 33. Формирование конструкторского файла
После записи сформированного конструкционного файла необходимо повторить процедуру встраивания проекта в ПЛИС (Implement Top Module). В полученном файле отчета просмотрите Pin List – необходимо убедиться, что желаемое и действительное совпали.
Обратите внимание – по мере продвижения по технологическому маршруту проектирования разрастается дерево файлов и процессов проекта. Успешно завершенный процесс встраивания содержал в себе не только механизмы синтеза (Synthesize), трансляции (Translate) и оптимизации (Fit), но и подготовку загрузочного файла конфигурации (Generate Programming File).
Функциональное и временное моделирование проекта
Функциональная модель, создаваемая с помощью симулятора Behavioral Simulation, позволяет оценить принципиальную правильность работы проектируемого устройства. Иногда эту модель называют математической. Например, был создан делитель частоты, и необходимо оценить правильность принятых схемотехнических решений. При паяльно-монтажном решении с помощью микросхем средней интеграции, конечно, подадим электропитание на плату и включим генератор тактовых сигналов и осциллограф.
Упомянутые приборы в виртуальном облике присутствуют и в нашем САПР Xilinx ISE. В роли генератора будет созданный ниже файл управляющих воздействий, то есть спецификация сигналов, которые будем подавать на входы проектируемого устройства на ПЛИС, а качестве осциллографа – окно симулятора.
Надо отметить, что функциональную модель, не обращая внимание на желтые треугольники предупреждений после синтеза, можно было создать еще до создания конструкторского файла - UCF.
Важно другое. Симулятор Behavioral Simulation создает достаточно приблизительную модель проектируемого устройства.
После того, как мы внесем временные ограничения и пропишем контакты ПЛИС, так как предполагаем ее использовать на плате, может оказаться, что трассы проводников внутри могут оказаться длиннее, например, чем хотелось для передачи скоростного сигнала. И чтобы убедиться, что проблемы физики и топологии ПЛИС не повлияли на работоспособность проектируемого устройства, существует второй уровень моделирования – Post-Fit. Иногда эту модель называют физической.
25

Итак, интересные подробности создания функциональной модели.
Первоначально, в навигаторе открываем мастера для создания нового источника информации для проекта: Project -> New Source.
Рис. 34. Создание файла управляющих воздействий
Выберем тип источника – Test Bench Waveform – и назовем создаваемый файл takts. Это будет наш тактовый генератор. Далее соглашаемся с включением файла takts.tbw в проект, в окне мастера указываем, что сигнал MyCLK является входным, что работаем с ПЛИС типа CPLD (это очень важно) и записываем созданный файл.
Рис. 35. В бланке указываем, период, скважность сигнала и длину теста
26

На экране видим осциллограмму работы нашего генератора и далее, для создания функциональной модели (левый верхний угол), переводим навигатор в режим работы с симулятором
Behavioral Simulation. Файл takts.tbw записываем/
Рис. 36. Осциллограмма входного сигнала
Находясь в режиме работы с симулятором, выбираем файл takts.tbw в левом верхнем окне источников проекта и ниже, запускаем в окне процессов, Simulate Behavioral Model.
Рис. 37. Запуск симулятора
В результате получим функциональную модель. Устройство проектируем достаточно тихоходное и чтобы просмотреть всю осциллограмму, а не фрагмент, необходимо переместить нижний движок.
27

Рис.38. Результат работы симулятора
Масштабируя, в пределах разумного, размерность тактового сигнала, можно увидеть полную временную диаграмму сигналов для создаваемого устройства или фрагмента в пределах заданного интервала.
Рис. 39. Переключение диапазона рабочих сигналов
Конфигурирование кристалла ПЛИС
Результатом синтеза и моделирования является, в конечном итоге, файл конфигурации, который должен быть загружен в ПЛИС. Главным исполнителем транспортировки конфигурационного файла является интерфейс JTAG.
28

Кабель JTAG
Рис. 40. Взаимодействие САПР ISE Xilinx (PC) и отладочной платы
Интерфейс JTAG предназначен для подключения сложных цифровых микросхем или устройств уровня печатной платы к стандартной аппаратуре тестирования и отладки. На текущий момент этот интерфейс стал индустриальным стандартом IEEE-1149. Практически все сколько-нибудь сложные цифровые микросхемы оснащаются этим интерфейсом для:
выходного контроля микросхем при производстве;
тестирования собранных печатных плат;
прошивки микросхем с памятью;
отладочных работ при проектировании аппаратуры и программного обеспечения.
Важно понимать, что на интерфейс JTAG инженеры возлагают две различные задачи: первая – это граничное сканирование сложных кристаллов и электронных плат (Boundaty Scan), и вторая – организация загрузки. Собственно второй аспект применения JTAG мы и будем рассматривать. Все виды ПЛИС и современные микроконтроллеры с числом контактов более 40 содержат в своей архитектуре автомат для работы с JTAG (TAP — Test Access Port – порт тестирования). Обычно для этой цели на микросхеме выделяется пять контактов - TMS, TCK, TDI, TDO и TRST.
Рис. 41. JTAG – порт ПЛИС
29

Функциональное назначение этих линий:
TDI (test data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK;
TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK;
TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц;
TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования.
TRST - сигнал для инициализации порта тестирования.
Рис. 42. Каскадирование устройств и JTAG
Интерфейс JTAG позволяет каскадировать различные устройства на плате, включая в цепочку не только ПЛИС, но и микроконтроллеры и Flash-память.
Для управления интерфейсом со стороны PC существуют разнообразные адаптеры LPT –JTAG, USBJTAG, RS232 – JTAG и SPI – JTAG.
Активизация процесса загрузки конфигурации ПЛИС происходит, в нашем случае, следующим образом.
В окне навигатора проекта, двойным щелчком левой кнопки мыши по надписи Configure Target Device, запускается процесс программирования ПЛИС.
30