|
Gameduino, проблема с комиляцией проекта. |
|
|
|
Jun 11 2012, 09:15
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999

|
Привет всем посетителям форума! Пытаюсь скомпилировать проект Gameduino [1] с помощью Xilinx ISE Design Suite.  Сам Gameduino с открытым исходным кодом на Verilog, применяемый чип XC3S200A-4VQG100C, семейство Xilinx Spartan-3A, исходные коды можно скачать по ссылке [2], или взять из проекта для Xilinx ISE Design Suite 14.1 по ссылке [3]. Вот краткая история моих приключений: 1. На версии Xilinx ISE Design Suite 14.1 (120609gameduino-bad-xilinx-prj.zip) синтез прошел, причем не нужно было комментировать ICAP_SPARTAN3A и DNA_PORT. Имплементация не пошла, так как не хватало лицензии. 2. На версии Xilinx ISE Design Suite 13.3 синтез не пошел из-за непонятной ошибки "отсутствие исходных модулей verilog". 3. На версии Xilinx ISE Design Suite 11.1 синтез прошел только после того, как закомментировал в файле top.v блоки кода с ICAP_SPARTAN3A и DNA_PORT. Имплементация не пошла с ошибкой размещения, превышено количество блоков BRAM: Number of bonded IOBs: 23 out of 63 36% Number of RAMB16s: 16 out of 12 133% (OVERMAPPED) Number of MULT18X18s: 6 out of 12 50% Number of BUFGMUXs: 1 out of 8 12% Number of DCMs: 1 out of 4 25%Что посоветуете, как скомпилировать исходники Gameduino, в какую сторону копать? [ Ссылки] 1. Gameduino, игровой (видео, аудио) адаптер для AVR и других embedded платформ. 2. Making a Gameduino. 3. 120609gameduino-bad-xilinx-prj.zip - полностью проект для Xilinx ISE Design Suite 14.1.
Сообщение отредактировал microsin - Jun 11 2012, 09:35
|
|
|
|
|
 |
Ответов
(1 - 3)
|
Jun 12 2012, 18:09
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999

|
Путем долгих плясок с бубном все-таки разобрался. Нужно было установить ISE версии 14.1 в режиме WebPack и получить у Xilinx лицензию. После этого синтез и имплементация пошла.
Теперь появилась новая проблемка - похоже что что-то не так с загрузкой моей FPGA xc3s200avq100-4 из микросхемы памяти AT45DB041D. Симптомы следующие: при включении питания на микросхему памяти постоянно от FPGA приходит активная выборка (~CS == 0) и такты данных (SCK порядка 4.4 МГц), и из микросхемы памяти постоянно выходят данные SO, не останавливаясь (на SI постоянно 0). Т. е. загрузка FPGA не прекращается, хотя по идее она должна была загрузиться и заработать, и передача данных от микросхемы памяти должна прекратиться. На ножке INIT_B при включении питания появляется импульс длительностью около 700 мс, и потом там постоянно 0 (вроде как сигнал о том, что не совпала CRC). После включения питания сигнал DONE устанавливается в 1 (вроде как сигнал о том, что загрузка завершена). И, само собой, вся система не работает, как надо, молчит, на экран ничего не выводит.
Связь между памятью и FPGA похоже в порядке, так как утилита iMPACT нормально микросхему увидела и прописала, и даже проверила (verify). Где косяк, не подскажете?
Сообщение отредактировал microsin - Jun 12 2012, 19:45
|
|
|
|
|
Jun 14 2012, 17:01
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999

|
Последние новости - попробовал на железе запустить простейший тестовый проект - счетный одноразрядный триггер. Все заработало сразу. Поведение сигналов INIT_B и DONE при включении питания осталось такое же, но вот клоки с памяти пропадают примерно через 200 мс, и после этого триггер начинает нормально работать. А с проектом Gameduino такое не происходит - загрузка из микросхемы памяти не останавливается, SCK и SO работают без передышки.
Подозреваю, что-то не так в настройках Verilog-проекта Gameduino, либо в проекте iMPACT, я составлял проекты тупо, как новичок (как, впрочем, и тестовый проект триггера), там все стоит по умолчанию. Но что там проверить в настройках, и какие они должны быть на самом деле - для меня пока что тайна.
Не оставляю надежды, что кто-нибудь прочитает мой пост, откликнется и поможет советом.
|
|
|
|
|
Jun 19 2012, 18:54
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 27-11-08
Пользователь №: 41 999

|
Всем привет! Наконец-то моя платка gameduino заработала. Выражаю огромную благодарность хорошему человеку nerudo (которого нашел на Хабре) - он мне очень помог своими консультациями и подсказками, без него бы не разобрался. Если кому интересно: в проекте не хватало файла constraints с описанием ножек (на этапе Implementation система PlanAhead из Xilinx ISE назначала ножки как попало), и была проблема с загрузкой по SPI (в которой, кстати, так до конца и не разобрался). Когда по подсказке nerudo попробовал грузануть платку через JTAG, то все завелось с полоборота, и gameduino заработала в полном объеме. Причем - чудеса, да и только - автоматически заработала также загрузка с внешней памяти SPI, т. е. JTAG стал не нужен. Что-то наверное не-так было в настройке проекта iMPACT, но что не так - пока не понял. Компилировался проект gameduino с помощью установленного Xilinx WebPack 14.1, для него доступна бесплатная персональная лицензия.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|