|
Проблема со Spartan3, Программируется XC3S200 |
|
|
|
Dec 14 2006, 14:39
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(sergeeff @ Dec 14 2006, 12:08)  Получили новую плату, на которой стоит XC3S200. Программируется от процессора в режиме Slave Parallel. В Xilinx ISE сделали простейший проект - на одну ногу, объявленную как вход - подаем импульсы. Через инвертор транслируем этот сигнал в FPGA на выходной pin. Получаем bin file, грузим его в FPGA (по окончании загрузки получаем сигнал DONE). Смотрим на выходном pin'e - глухо висит "1".
Может есть какие мысли у знатоков Xilinx'a? Как грузите? Проблема похожа на отсуствие дополнительных тактов на CCLK, необходимых для инициализации ПЛИС. Т.е. попробуйте в прошивку процессора добавить выдачу дополнительных тактов на CCLK (сверх тех, которые необходимы для передачи данных прошивки), хотя бы в количестве 8. Еще советую проверить настройки StartUp clock, используемые при генерации bit-файла.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Dec 15 2006, 19:35
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Появилось еще одна подробность, которая может относиться к причине вышеописанной проблемы. Сегодня разбирался с платой, в которой Spartan-3 также конфигурируется процессором, при этом процесс конфигурации успешно завершался, но состояние выходов ПЛИС было совершенно не то, которое определялось структурой проекта (например, вместо выхода в третьем состоянии был логический ноль и т.п.). Чтение статусного регистра ПЛИС показало, что DONE стоит в 1, а кроме того, GWE и GTS. Т.е. конфигурация вроде бы прогрузилась и ПЛИС ее восприняла, даже разрешила работу. Однако более внимательное рассмотрение показало GHIGH == 0, в то время как после успешной конфигурации он должен быть 1. Эксперименты позволили определить причину такого поведения ПЛИС: пауза между переводом сигнала PROG в неактивное состояние и начало загрузки данных (первым активным фронтом CCLK) была слишком короткой. После ее увеличения до 7 мс все встало на свои места.
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
|
Dec 15 2006, 21:10
|

Гуру
     
Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904

|
Цитата(sergeeff @ Dec 15 2006, 20:43)  Интересны дела твои Господи. Я, конечно же, ввел у себя задержку, но никак ни 7 миллисекунд (насчет миллисекунд - я правильно понял?). Да, именно миллисекунд (не микро). У меня тоже была задержка, но была она маленькой, в виде пустого цикла. Что интересно, иногда ее хватало. Но после всех модификаций прошивки процессора восстановить исходные условия не удалось. Окончательно решило проблему именно введение большего значения задержки. Цитата Будем попробовать. В любом случае, огромное спасибо за советы. О результатах должу. Успешной ловли багов!
--------------------
BR, Makc В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|