User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 16

Тема: Tang9K Speccy

  1. #1

    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    1,017
    Спасибо Благодарностей отдано 
    363
    Спасибо Благодарностей получено 
    706
    Поблагодарили
    187 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Tang9K Speccy

    Вполне.

    Вот тестовый спектрум на ней https://github.com/andykarpov/tang9k-speccy
    - пока еще в разработке, но вот что уже есть:
    -- выхлоп через HDMI
    -- звук через PWM (нужна внешняя обвязка в виде фильтра)
    -- USB клава
    -- DivMMC
    -- Turbosound
    -- пентагоновские времянки (видео-модуль надо переделывать, ибо бордер-эффекты расползлись)

    Из плюсов данной девборды:
    - прилично LE
    - есть встроенная PSRAM
    - на борту HDMI, microSD, SPI флеха
    Из минусов:
    - PSRAM в режиме рандомного доступа капец медленный
    - PLL всего 2 и они очень скудные

    Вцелом IDE-шка мне их зашла, все понятно и не хуже кактуса.

    Есть плата у них новая на GW2 чипе - Tang Nano 20k называется.
    Вот там уже шикарно и по LE, и вместо PSRAM на борту встроенная SDRAM, и PLL есть внешний в дополнение к внутренним.

    Эти 5 пользователя(ей) поблагодарили andykarpov за это полезное сообщение:

    andrews(05.06.2023), CityAceE(24.07.2024), mx(11.08.2024), svofski(27.01.2025), xolod(26.07.2024)

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andykarpov Посмотреть сообщение
    Вот тестовый спектрум на ней
    Что-то не получается завести его. Вижу только матрац, хотя ПЗУ прошиваю во внешнюю память.



    В инструкции предлагается шить всё через openFpgaLoader:

    Код:
    1. Install openFpgaLoader tool
    2. Upload ROM image rom/rom-tang9k-speccy.rom into the external SPI flash by openFPGALoader -b tangnano9k --external-flash rom/rom-tang9k-speccy.rom
    3. Upload bitstream into the internal flash openFPGALoader -b tangnano9k -f impl/pnr/tang9k-speccy.fs
    4. Connect USB keyboard (+5V, GND as well as D+, D- signals via 33 Ohm resistors)
    5. Prepare the SD card (FAT32, ESXDOS 0.8.9)
    Я же использую оригинальный софт под Windows:



    Пробовал различные варианты прошивки, но ни один из них не заработал. Что-то отказывается шить, потому что нет SPI, что-то даже файл не признаёт и не даёт его выбрать. Я его всё равно утрамбовал, просто вбив руками путь, то тоже не взлетело.

    Далее, при попытке самому собрать проект, у меня всё в конце вылетает с ошибкой:

    Код:
    [100%] Generate report file "D:\Downloads\Tang9k\tang9k-speccy-master\impl\gwsynthesis\tang9k-speccy_syn.rpt.html" completed
    GowinSynthesis finish
    Reading netlist file: "D:\Downloads\Tang9k\tang9k-speccy-master\impl\gwsynthesis\tang9k-speccy.vg"
    Parsing netlist file "D:\Downloads\Tang9k\tang9k-speccy-master\impl\gwsynthesis\tang9k-speccy.vg" completed
    Processing netlist completed
    Reading constraint file: "D:\Downloads\Tang9k\tang9k-speccy-master\src\tang9k_speccy.cst"
    Physical Constraint parsed completed
    ERROR  (TA2003) : "D:\Downloads\Tang9k\tang9k-speccy-master\src\tang9k-speccy.sdc":11 | Can't set timing constraint to object  cpuclk
    WARN  (TA1052) : "D:\Downloads\Tang9k\tang9k-speccy-master\src\tang9k-speccy.sdc":11 | Generated clock is ignored
    Это мой вообще самый первый опыт общения с FPGA, так что я не знаю ничего и, вероятно, задаю слишком глупые вопросы.
    @andykarpov Прошу помощи!

    Цитата Сообщение от andykarpov Посмотреть сообщение
    звук через PWM (нужна внешняя обвязка в виде фильтра)
    Где взять примерную схему этой обвязки?
    Почему не получилось сделать звук через HDMI?
    С уважением, Станислав.

  4. #3

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ПЗУ увиделось только будучи прошитым с помощью openFPGALoader под Linux и никак иначе. Но и после этого начались проблемы с запуском. Спектурм стартует только если его залить в ОЗУ или сразу после прошивки во флэш. Но как только отключаешь питание, то больше ничего не заводится, требуется повторная заливка в ОЗУ или флэш. Какая-то непонятная ситуация.

    Также не завелась клавиатура. Но я её подключил не через сопротивления, а через преобразователь уровней. Через него прекрасно работает протокол PS/2 на моём эмуляторе Специалиста для Rapsberry Pi и Next186 (PC XT) на Tang Nano 9K. Попробовал все имеющиеся у меня клавиатуры, поддерживающие протокол UBS. Результат всегда один - "зажатая" клавиша EXT.MODE в tnag9k-speccy.

    Также по-прежнему не удаётся собрать проект на актуальной версии Gowin из-за возникающей ошибки. А если закомментировать строку с ошибкой, то проект собирается, но не стартует.

    В общем, пока лично у меня не получается запустить всё как следует.
    С уважением, Станислав.

  5. #4

    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    1,017
    Спасибо Благодарностей отдано 
    363
    Спасибо Благодарностей получено 
    706
    Поблагодарили
    187 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проект сырой, это была проба пера, так сказать, пощупать что оно такое
    Ошибка сборки проекта - вероятно, от версии Gowin IDE зависит. Я собирал на 1.9.8.11 (64436) под linux.
    Также все буквы в имени камня очень имеют значение. Возможно туда надо также покурить.
    Что касается usb - надо пробовать через резисторы. У меня работало
    Что касается заливки битстрима в камень - попробуйте через openFPGAloader также его залить, оно должно заливаться во встроенный flash внутри fpga (у 9к модели есть такой флеш на борту).
    По поводу звука - можно подсмотреть из Reverse-U16, как там фильтр сделан. Звук по hdmi не ввинчен - потому что не влезло бы в камень.
    Хотя, может кто-то попробует? У меня лично нет времени и желания пока что.

    Этот пользователь поблагодарил andykarpov за это полезное сообщение:

    CityAceE(05.08.2024)

  6. #5

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,643
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andykarpov Посмотреть сообщение
    это была проба пера
    По мне так, более, чем удачная проба! Спасибо за этот проект! Чуть осталось дополировать и будет просто огонь.

    Цитата Сообщение от andykarpov Посмотреть сообщение
    Что касается usb - надо пробовать через резисторы. У меня работало
    Ну да, люди подтверждают, что работает. Да я и сам понял, что подключение по аналогии с PS/2 скорее всего не сработает. В любом случае, наверное, если понимать в FPGA, то не составит труда поменять модуль USB на PS/2. Но это пока (?) не про меня.

    Цитата Сообщение от andykarpov Посмотреть сообщение
    Звук по hdmi не ввинчен - потому что не влезло бы в камень.
    Вот он ответ на мой главный вопрос! Теперь всё встало на свои места. Я почему-то об этом не подумал. Но если бы поместилось, то было бы очень удобно.

    Ещё раз спасибо за проект и за ответы! Буду изучать FPGA и этот проект.
    С уважением, Станислав.

  7. #6

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andykarpov Посмотреть сообщение
    Что касается usb - надо пробовать через резисторы. У меня работало
    У меня аналогичная ситуация с usb на основе ukp на Tang Nano 9k. Кто-то говорит, что у них всё работает, но у меня ни одна клавиатура, ни одна мышка не зацепилась. У меня их не так уж много, конечно, но все же точно известно, что они исправные. Что-то в этом хосте на основе ukp слегка не так.
    Больше игр нет

  8. #7

    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    1,017
    Спасибо Благодарностей отдано 
    363
    Спасибо Благодарностей получено 
    706
    Поблагодарили
    187 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    У меня аналогичная ситуация с usb на основе ukp на Tang Nano 9k. Кто-то говорит, что у них всё работает, но у меня ни одна клавиатура, ни одна мышка не зацепилась. У меня их не так уж много, конечно, но все же точно известно, что они исправные. Что-то в этом хосте на основе ukp слегка не так.
    оно, вероятно, не умеет хабы и композитные устройства. я пробовал с проводной простой клавой.

    - - - Добавлено - - -

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Ну да, люди подтверждают, что работает. Да я и сам понял, что подключение по аналогии с PS/2 скорее всего не сработает. В любом случае, наверное, если понимать в FPGA, то не составит труда поменять модуль USB на PS/2.
    Ну, PS/2 ввинтить будет даже проще и по ресурсам меньше займет, чем текущая реализация.

  9. #8

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andykarpov Посмотреть сообщение
    оно, вероятно, не умеет хабы и композитные устройства. я пробовал с проводной простой клавой.
    Я не удивлюсь, если все мои подручные устройства композитные. Но это получается не очень-то хорошее решение, если оно не поддерживает ничего из того, что у меня есть. Я переключился на адаптер, сделанный из rp2040-zero.
    Больше игр нет

  10. #9

    Регистрация
    27.01.2025
    Адрес
    г. Санкт-Петербург
    Сообщений
    3
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Tang9k Speccy with HDMI sound

    Привет!

    Я - не новичок в железе и системном программировании, как и в сборке клонов спектрума в далекие 1987+, но впервые решил пощупать FPGA. Выбор Tang Nano 9k в заметной степени был определен как её возможностями и доступностью, так и наличием этого и подобных проектов. Хочу поделиться своими результатами.

    TL;DR: собрал в GoWin IDE 1.9.11 (Linux) и завел звук через HDMI.



    Кому интересны подробности - они ниже.

    При попытке прошить готовую прошивку она точно также не завелась, как и у ряда других пользователей, судя по теме. Выводилось только debug OSD со значениями таймингов int и произвольное (больше черное) содержимое экрана спекки. Версию 1.9.8 IDE найти также не смог, зато нашел 1.9.9 и 1.9.11. Пересобирал обеими - не помогло, картинки не было вообще, зато повторилась та же ошибка, что не смогло сгенерировать cpuclk из-за содержимого SDC файла.

    После комментирования этой строки в SDC файле и перегенерации GoWin IPs проект собрался и запустился! Не могу сказать, что он работал стабильно (особенно прошивка по F4, при ресетах глючащая местами на экране). Но большинство тестов всего прошли, ESXDOS с SD карты тоже поехал (взял последнюю версию), TAP игрушки грузятся, поют и играют. Это был успех!

    USB клавиатуру купил самую простую (дома не оказалось, одни макбуки), подключил даже без резисторов, всё заработало и сразу. Погонял Quazatron - это была самая первая игра, которую я когда-то запустил на только что собранном львовском варианте.

    Следующим желанием было вывести звук через HDMI, для чего пришлось поизучать матчасть, провести серию экспериментов и начать осваивать Verilog и VHDL. В целом результат ПОЧТИ достигнут, но именно почти, и тут я рассчитываю на помощь автора проекта, поскольку я сам - полный нуб в FPGA дизайне.

    Что я сделал: я заменил реализацию HDMI SimpleVOut на альтернативную, которая умеет генерировать полноценный HDMI сигнал со служебной информацией и звуком. Однако, картинка не появилась. Чтобы высвободить часть ресурсов и улучшить тайминги, в самом этом HDMI проекте был заменен TMDS энкодер на альтернативную версию, реализующую pipeline при выводе, что снизило требования к времянкам. За ненадобностью временно отключил debug OSD overlay и Delta-Sigma DAC, поскольку при наличии HDMI он становится избыточным (хотя в целом-то и не мешает). По ресурсам FPGA в отключении потребности нет - всего хватало. Проблемы вылезли там, где не ожидались.

    И вуаля - у меня появилась картинка и пошел звук по HDMI. Почти… В рабочем состоянии обновленного проекта картинка на экране не синхронизировалась с началом кадра, а звук по HDMI был очень тихий. И вроде бы ясно, что надо сделать, но любой шаг вправо-влево в коде приводит к потере сигнала (железка перестает работать).

    Дело в том, что альтернативная реализация HDMI не получает hsync/vsync/blank, а сама их внутри генерирует и использует. Наружу она предоставляет готовые счетчики пикселов x/y для привязки отображаемых данных. Текущая реализации Speccy сама вычисляет как синхронизацию, так и ведет счетчики позиций. И нужно было исключить избыточность и как-то связать HDMI и video модуль проекта. Попытка это сделать тем или иным путем (заменить счетчики в модуле video, либо просто сбрасывать их в нули при нулях в HDMI) приводила к потере сигнала. Изначально я полагал, что что-то не понимаю в VHDL или Verilog. Но позже стало ясно, что проблема в таймингах. Отсюда, вероятно, и все известные проблемы: нестабильный старт, невозможность простого внесения изменений в проект… Даже простой сдвиг выхода аудио-миксера влево на несколько разрядов (чтобы нормализовать HDMI звук) ломает всё. А нужно-то всего лишь завести внешние счетчики пикселей внутрь Video модуля, чтобы использовать их там готовые. Наоборот будет сложнее, так как к развертке привязана передача звука и других служебных данных HDMI.

    На текущий момент вышло следующее:
    - синхронизация картинки сделана через синхронный reset и унификацию размера фрейма, но постоянной привязки нет и в теории картинка может уплыть;
    - звук через HDMI выводится тише, чем хочется, но любое изменение топологии также приводит к нерабочей конфигурации. Перепробовал несколько вариантов, но пока больше нет времени играться вслепую.

    Как я писал, я не специалист в FPGA. Но посмотрев на временной анализ GoWin IDE, видно, что там множество проблем. То есть, отдельные пути прохождения сигнала не укладываются в требуемые ограничения, в результате оно может работать, а может и нет. Причем, без понимания деталей и/или опыта я не представляю, как можно повлиять на разводку, кроме как явно указать отдельные сигналы как clocks. Система очень чувствительна к содержимому SDC. Например, чтобы у меня завелось всё со звуком, пришлось закомментировать base clk_vga, и казалось бы, это должно ухудшить результат, а вот и наоборот- без него картинка есть, а с ним нет.

    В целом мне кажется, что данная FPGA все же медленная для этого проекта, поскольку с таким поведением рассчитывать, что конкретный экземпляр вдруг заработает, не приходится. Либо я просто не знаю, как её готовить, что вполне вероятно с учетом моего нулевого опыта в этой сфере. При этом ресурсов в ней вполне хватает для сборки всего, что было, плюс HDMI звука в альтернативном модуле. Но вот с таймингами просто беда.

    Есть вариант попробовать собрать всё это альтернативными тулами (Yosys и NextPNR), но я не уверен, что все нужные IPs он умеет, это надо проверять. Плюс, будет ли оно эффективнее фирменной реализации - тоже вопрос (в случае с TMDS энкодером похоже, что OpenSource версия заметно лучше, чем GoWin IP - во всяком случае, в тестовом примере последнее кушало больше ресурсов платы).

    Я пока не публиковал форк проекта. Но если будут желающие с опытом работы с FPGA, чтобы помочь в решении названных проблем, то надо будет сесть, чуток причесать проект и все же выложить.

    Эти 4 пользователя(ей) поблагодарили osnwt за это полезное сообщение:

    andykarpov(27.01.2025), CityAceE(27.01.2025), creator(27.01.2025), svofski(27.01.2025)

  11. #10

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от osnwt Посмотреть сообщение
    но любое изменение топологии также приводит к нерабочей конфигурации
    К сожалению это "нормально". Вернее это конечно же возмутительно, но обычно.
    Больше игр нет

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Платы Tang Nano
    от andrews в разделе Зарубежные компьютеры
    Ответов: 5
    Последнее: 29.08.2024, 11:17
  2. Speccy.SU
    от unbeliever в разделе Новости
    Ответов: 56
    Последнее: 08.04.2021, 05:54
  3. CD и Speccy
    от Бывалый в разделе Разный софт
    Ответов: 12
    Последнее: 08.12.2008, 15:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •