Перейти к содержанию
    

Gameduino, проблема с комиляцией проекта.

Привет всем посетителям форума! Пытаюсь скомпилировать проект Gameduino [1] с помощью Xilinx ISE Design Suite.

 

gameduino-views-1-5.PNG

 

Сам 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Путем долгих плясок с бубном все-таки разобрался. Нужно было установить 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Последние новости - попробовал на железе запустить простейший тестовый проект - счетный одноразрядный триггер. Все заработало сразу. Поведение сигналов INIT_B и DONE при включении питания осталось такое же, но вот клоки с памяти пропадают примерно через 200 мс, и после этого триггер начинает нормально работать. А с проектом Gameduino такое не происходит - загрузка из микросхемы памяти не останавливается, SCK и SO работают без передышки.

 

Подозреваю, что-то не так в настройках Verilog-проекта Gameduino, либо в проекте iMPACT, я составлял проекты тупо, как новичок (как, впрочем, и тестовый проект триггера), там все стоит по умолчанию. Но что там проверить в настройках, и какие они должны быть на самом деле - для меня пока что тайна.

 

Не оставляю надежды, что кто-нибудь прочитает мой пост, откликнется и поможет советом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет! Наконец-то моя платка gameduino заработала. Выражаю огромную благодарность хорошему человеку nerudo (которого нашел на Хабре) - он мне очень помог своими консультациями и подсказками, без него бы не разобрался.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Features & Specifications

    GPU: BT815 1.1 gigapixel/s embedded GPU with 8 Mbyte flash
    FPGA: Xilinx Spartan-6 LX9 FT256 with 8 Mbyte flash
    Video output: HDMI 24-bit at 1280x720 (720p) with 48 KHz stereo audio
    Storage: microSD slot
    Extra input: two Wii Classic controller ports
    Form-factor:
        Gameduino 3X Dazzler is an Arduino-compatible shield
        The shield includes the Dazzler Core, which is an SMD module that includes GPU, FPGA, and HDMI
    Hardware interfaces:
        Standard SPI up to 36 MHz for Arduino communication
        UART up to 1 Mbps for FPGA connection
        JTAG for FPGA reloading
        All inputs are 5 V tolerant
    Programming: Gameduino library for Arduino and CircuitPython. Dozens of examples.
    Terminal mode: functions as an ANSI terminal with high-speed UART
    Current consumption (typical): 180 mA
    Dimensions: 83 mm x 53 mm x 20 mm

Средства собраны, девайс на подходе

Hовый виток развития идеи Gameduino 1 у разработчиков на обновлённой элементной базе с выводом на HDMI.
https://www.excamera.com/sphinx/index.html


the PCB design
the Verilog code for the HDMI, J1 CPU and system peripherals
the J1 CPU running on the FPGA
the J1's firmware that drives the Dazzler's extra features

 

Gameduino 3X Dazzler

 

P.S. И ещё близкий проект Forth Computing on FPGA

 

Изменено пользователем Kopa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...