Sp_dev 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Пытаюсь загрузить сформированную прошивку в FPGA *.bin, который формируется в среде XilinxISE9.2 для XC3S200-tq144. Реализован простой счетчик. Контроль входных и выходных сигналов выполняю осциллографом. Все выводы подключены, питание где надо подведено соответствующее. Режим загрузки slave serial, т.е. мастером выступает внешний контроллер. В самом начале, после сброса конфигурации, дожидаюсь сигнала INIT_B. Далее выставляю PROG_B и начинаю побитно записывать данные. В конце жду сигнала DONE. Этот сигнал не появляется. Соответствующие тестовые сигналы с выводов микросхемы не наблюдаю - держатся постоянные уровни. В чем проблема, не понятно. Формат файла очень похож на правду - начало, данные, контрольная сумма, старт. Готов этот файл выслать, если кто захочет посмотреть. Правильно ли я понимаю, что в принципе, достаточно простой загрузки файла и никаких других данных загружать не надо? Также вопрос - тот ли файл прошивки я использую - *.bin? Заранее признателен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kedin 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба 1. CCLK должен формировать мастер, т.е. внешний контроллер и по сигналу DONE он еще должен продолжаться вроде бы 8 тактов. 2. При генерации файла прошивки надо указать что прошивка для slave serial, по умолчанию делается проршивка для JTAG Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mig&L 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Пытаюсь загрузить сформированную прошивку в FPGA *.bin, который формируется в среде XilinxISE9.2 для XC3S200-tq144... Плата своя или kit? Кабель свой или из kit'a? Побольше информации Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sp_dev 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба CCLK формируется мастером, конечно. Я пробовал несколько тактов пустых вставлять, не помогает. По поводу установки slave serial - кажется это устанавливал, но сейчас проверю. Плата своя. Загрузка происходит с процессора TI DM642 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Very_hard 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба В xapp098 хорошо описана именно такая загрузка. Поищите на сайте Xilinx. Возможные проблемы - обратная последовательность бит в байте, не выдержаны требуемые тайминги. Файл Вы используете правильный. Ничего больше загружать не нужно. В начале вроде бы выставляется в 0 PROG_B, потом ожидается 0 на INIT, потом 1 в PROG_B, ждем 1 на INIT, задержка (100 мкс) и дальше данные с клоком. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mig&L 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба *.bin или *bit ? должно быть *bit. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kedin 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба CCLK формируется мастером, конечно. Я пробовал несколько тактов пустых вставлять, не помогает. По поводу установки slave serial - кажется это устанавливал, но сейчас проверю. Плата своя. Загрузка происходит с процессора TI DM642 Была такая же проблема из-за того что в EDK собирался проект с настройкой -g StartUpClk:JTAGCLK (прошивка через JTAG), V4FX12 в slave serial грузился через CPLD, тоже не выставлялся DONE, поменял настройку на -g StartUpClk:СCLK сгенерил прошивку, все заработало Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Very_hard 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Мы используем *.bin файл - все нормально загружается. Вроде у bit-файла нужно заголовок удалять перед загрузкой, не пробовал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sp_dev 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Использую файл *.bin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mig&L 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Я использую *.bit ? но заголовок отрезаю, размер беру из книжки Кузелин, Кнышев , Зотов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Я использую *.bit ? но заголовок отрезаю, размер беру из книжки Кузелин, Кнышев , Зотов. Это делает САПР. Если у bitgen выставить опцию -g Binary:Yes, будет генерироваться .bin. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Правильно ли я понимаю, что в принципе, достаточно простой загрузки файла и никаких других данных загружать не надо? Правильно, только нужный файл прошивки. Теоретически еще надо добавить около 8 CCLK для процедуры Startup (по умолчанию DONE появляется на 4 CCLK при Startup), но обычно в конце файла прошивки есть "данные" (пустышки), при передачи которых и происходит Startup (если Вы Startup не перевели на USER Clock - опции BitGen) Также вопрос - тот ли файл прошивки я использую - *.bin? Да использовать надо *.bin. Bit - это заголовок (формат которого можно найти в одной из тем этой конференции, если чего могу выложить заново) + содержимое bin файла. В начале вроде бы выставляется в 0 PROG_B, потом ожидается 0 на INIT, потом 1 в PROG_B, ждем 1 на INIT, задержка (100 мкс) и дальше данные с клоком. Да где-то так и надо делать (иногда работает и без задержки в 100 мкс). ПЛИС фиксирует данные (DIN) по rising edge CCLK. Есть еще одни саперские грабли на которые периодически наступают: у последней загружаемой в цепочке ПЛИС в опциях BitGen надо поставить Done_Drive_High. У вас, я так понял, ПЛИС в цепочке единственная - проверьте наличие этой галочки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mig&L 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Попробуйте дать побольше задержку после подачи питания и началом загрузки прошивки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kuzis 0 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба Попробуйте дать побольше задержку после подачи питания и началом загрузки прошивки 1. Для указанного плиса пофигу какой файл грузить *.bit или *.bin. Она сама заголовок отрезает. 2. В настройках bitgen посмотрите установку start-up clock 3. Если мне не изменяет память, в файле bin биты в байтах переставлены местами. Вообще, чтобы создать файл для загрузки через микроконтроллер, сделайте его из файла bit при помощи утилиты iMPACT. Во время загрузки контролируйте init. Если он упадет, значит ошибка в данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 23 сентября, 2008 Опубликовано 23 сентября, 2008 · Жалоба 1. Для указанного плиса пофигу какой файл грузить *.bit или *.bin. Она сама заголовок отрезает. ПЛИС'а - она конечно "умная" но не настолько, чтобы самой понимать: где заголовок, а где нет. Конфигурационная последовательность начинается со слов синхронизвции, вот после получения этих слов и начинается обработка команд в BitStream. Но кто гарантирует, что в заголовке (случайно) не сложатся байтики в эти самые "словеса синхронизации" ??? Поэму, во избежания проблем конфигурирования, Xilinx предлагает для непосредственной загрузки "чистый" BitStream, записываемый в *.bin файл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться