Обновить
101
0
Иван @ishevchuk

Пользователь

Отправить сообщение
А какими C-to-RTL трансляторами пользуетесь?
Можете что-то посоветовать?
А насколько проигрывает по скорости? :)
Планируете добавлять окна и таймауты?
Да, вроде ПЛИС не особо напрягается от такой задачи :)
А какую микросхему предлагаете использовать?
Необязательно иметь «классический» фреймбуфер, где всю картинку хранить.
Можно хранить только текущее состояние игры/поля, для этого 16Кб должно хватить)
[Либо даже на регистрах всё сделать, если совсем мало получается].
Дальше уже иметь модуль, который из такой памяти «состояния» игры отрисовывает картинку.

Можно даже сначала только одну память (один буфер) — с двумя портами: одна для чтения ( её читает VGA модуль, и отрисовывает что-то на экране ), другая для чтения и записи — её читает/пишет логика, которая обеспечивает игру. Да, в таком подходе, возможно в какой-то момент будет отрисовываться неправда, но, возможно, глаз это не заметит :)
А почему не сделать потактную обработку?
Даже если это будет 100-1000 тактов — глаз этого не заметит)
Шикарная идея)

У меня общий вопрос:
Вырастает ли скилл стрельбы из реального пистолета при стрельбе из «лазерного»? :) Ведь отдачи нет, вес другой, и пр…
Увы, данных про самые популярные в мире платы у меня нет :) Платы от Терасика для Альтеры, да, на слуху. Но являются ли они самыми популярными — не знаю.

Замечу, что у Терасика есть кит DE1 c Cyclone II, а тот кит, который использовал я (DE1-SoC) использует Cyclone V.

Ну, это холиварная тема)
Кому как удобнее.

Xilinx ISE вроде SystemVerilog не поддерживает, а Synplify должен.

Если знакомы с конструкциями Veriloga, то посмотрите «SystemVerilog for Design»)
Спасибо.

Да, фреймбуфера не было. Просто генерировал цвета в зависимости от pixel_x, pixel_y. см. файлы draw_*

Я не думаю, что мой взгляд на разницу Verilog от Systemverilog'a отличается от общепринятого :)
Из того, что я использовал в этом проекте:
  • В стандарте 2001 года не было struct и enum.
  • always_comb — не надо думать о списке чувствительности когда описываешь комбинационку. always_ff — это триггер.
  • logic — не надо думать о reg/wire.

В других проектах использую и интерфейсы, и package.

Как отличия помогли в проекте?

Ну, например, если бы не было структуры game_data_t, то мне было бы лень тащить сигнал game_over_state, а так добавил в структуру — она появилась в модуле draw_strings. Либо например структура block_info_t — содержит информацию о блоке. Удобно — вместо пяти строчек обьявления сигналов — получается одна.

Либо move_t — сначала их было всего четыре, и в классической ситуации надо было бы заводить 2-х битную переменную и делать типа `define MOVE_DOWN 2'b00 и т.п. Потом добавился MOVE_APPEAR — и пришлось бы делать 3-х битную переменную, а так это всё автоматически.

ИМХО, упрощение в разработке и красота :)
Спасибо.

Есть большой выбор китов: разный диапазон цен и периферии.
Если брать по Альтере, то можно прицениться тут: www.altera.com/products/devkits/kit-dev_platforms.jsp?sortcol=price&sortorder=desc
Хех)
В принципе, если там интерфейс с дисплеем не сложный, почему бы и нет?
Вы правы, процессор может помочь в «запуске» более серьезных игр.
В некоторых реализациях того же тетриса используют «софтовый» процессор (NIOS) внутри самой FPGA. Я намеренно отказался от такого, т.к. мне было интересно сделать без процессора)
Хе-хе)
Не, вся видеомагия от меня слишком далека)

Можно попробовать написать какой-нибудь экшен, типа пакмана (на чистом Verilog'e без процессора), но я не знаю трюков для видеоотображения, которые применяли разработчики того времени.

Здесь фактически я отрисовываю статичную картинку, т.к. меняется очень редко, а в экшене немного не так)
А, то есть если один раз с этого IP был заход от imarker'a, то даже если wget'ом спрашивать, то перезахода не будет, а тест напишет, что используется?
Посмотрел в дампе user-agent'ы в обоих случаях.
Ничего «необычного», так что может wget и не фильтруется.

iceweasel: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0 Iceweasel/31.2.0
wget: Wget/1.13.4 (linux-gnu)
Изначально проверял из под iceweasel. Однако и с wget получаю, что «используется».
«Ваш провайдер использует imarker»
СПб, InterZet.
Этот девкит и не позиционируется для домашних поделок :)
В предыдущей статье автора ( habrahabr.ru/post/231007/ ) можно найти и цену на него и сферы применения)
Да, tshark/wireshark вместе с Lua может быть удобной связкой для анализа протоколов/сетевой активности. Как-то приходилось писать диссектор на Lua для TWAMP-протокола, а так же пакетов, генерируемых всем известой утилиты iperf.

Удалось ли добиться точности измерений, которая вас удовлетворила бы?
Для Альтеры см. «Recommended HDL Coding Styles»: www.altera.com/literature/hb/qts/qts_qii51007.pdf
Какие-то общие вещи см. Steve Kilts «Advanced FPGA Design».

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность