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

Реализация расширенной FPGA-реплики ретро-компьютера

Видеопоток не должен проходить через центральный процессор. Например, перетаскивание окна: ЦП вычисляет и передает только координаты окна(несколько байт * 75Гц), все остальное делает максимально обособленная графическая подсистема. Рисование непосредственно в видеопамяти - это очень медленно, и от этого надо уходить --> ЦП вообще не должен иметь прямого доступа к видеопамяти. Например, текстовый режим: ЦП обращается только к 1777564 и 1777566.

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


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

Видеопоток не должен проходить через центральный процессор. Например, перетаскивание окна: ЦП вычисляет и передает только координаты окна(несколько байт * 75Гц), все остальное делает максимально обособленная графическая подсистема. Рисование непосредственно в видеопамяти - это очень медленно, и от этого надо уходить --> ЦП вообще не должен иметь прямого доступа к видеопамяти. Например, текстовый режим: ЦП обращается только к 1777564 и 1777566.

Я и не говорю что это процессор будет делать. Просто реализация этих вещей будет внутри основной ПЛИС, поэтому выносить их отдельно - нецелесообразно, да и добавит к и без того не укладывающейся уже в 2000 руб себестоимости, еще денег.

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


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

Один канал памяти будет? Если да, то ЦП мало что останется (все заберет видеопоток). А если для графики отдельный канал памяти, + ноги на USB/ethernet/звук/... - это сколько всего ног в сумме потребуется?

Имхо, вместо одного универсального решения за 5000 руб(к примеру), лучше модульное решение с диапазоном цен(за систему) в 1000...25000 руб(к примеру).

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


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

Один канал памяти будет? Если да, то ЦП мало что останется (все заберет видеопоток). А если для графики отдельный канал памяти, + ноги на USB/ethernet/звук/... - это сколько всего ног в сумме потребуется?

Имхо, вместо одного универсального решения за 5000 руб(к примеру), лучше модульное решение с диапазоном цен(за систему) в 1000...25000 руб(к примеру).

 

Процессор к основной памяти обращается в редких случаях, вся работа идет через кэш, но если изображение будет строить видеопроцессор, то ему понядобится определенная часть полосы памяти. Число каналов тут не причем, важна разрядность данных и частота памяти. Основная конкуренция за память будет между выводом и вводом изображения в сравнительно высоком разрешении, но на тот случай в видеоадаптере будет арбитраж доступа к шине с приоритетом и буфер будет на случай задержки данных.

 

Проблема в основном том, что суммарная полоса памяти ограничена частотой и разрядностью шины.

Плюс данные не могу выдаваться каждый такт. Там на каждую порцию из 8 слов нужно несколько вспомогательных тактов для перезарядки внутренних шин памяти. Все эти цифры полосы памяти слегка лукавые. За последние много лет память быстрее почти не стала. Просто увеличили ширину внутренней шины данных, которая передает данные во внутренний же регистр. И вот указываемая скорость - это как раз скорость бомена с этим регистром, а не собственно с памятью.

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


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

Хочется простого и удивительного (стержни нигде не соприкасаются друг с другом):

post-9118-1329940289_thumb.jpg

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


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

Возникла существенная проблема с реализацией mp3-модуля. Изначально предполагалось использование готового модуля vs1011b, но тогда бы возникло противоречие с разным импедансом выходов AY и встроенного усилителя vs1011b (непонятно как их в один объединять). Кроме того, в чипе vs1011b слишком низкокачественный DAC и усилитель. Тогда обратили внимание в сторону DAC CS4344 и усилителя OPA2134. Также был рассмотрен mp3-чип STA013, в котором нет DAC и усилителя. В итоге возникли следующие возможные варианты:

1. Самый оптимальный. Из ПЛИС сигнал поступает на DAC CS4344 и далее на усилитель OPA2134. Декодированием mp3 занимается DSP C54xx, портированный в ПЛИС (лежит на opencores на Verilog), для которого есть открытый код по воспроизведению mp3, разместить который можно будет также внутри ПЛИС.

Такой вариант с любой точки зрения удачен, удобно объединяются в один канал, реальный AY, mp3-звук, несжатый звук, soft-AY (FPGA).

Остается одна проблема - кто провернет эту программистскую спецоперацию с DSP. В частности, чтобы этот DSP умел сам брать из памяти поток данных для воспроизведения. Нет желающих оказать помощь?

2. Использование готового модуля mp3 - STA013. При этом, для универсального использования DAC CS4344, придется выход STA013 завести обратно в ПЛИС (заняв несколько дефицитных ног ПЛИС), а из ПЛИС на DAC CS4344 выводить уже нужный поток (несжатый звук, декодированный mp3 или soft-AY). Jcnfется нерешенной одна большая проблема: кто будет подавать mp3-поток на STA013? Если это будет делать ЦП, то будет сильно тратить на это свой ресурс, если не ЦП, то потребуется дополнительный контроллер I2C и еще контроллер ПДП + SPI, чтобы STA013 сама брала данные из памяти. Можно конечно взвалить все эти функции на PIC32MX, но нужно его для этого соответствующим образом запрограммировать и придумать эффективный протокол взаимодействия с ЦП.

В общем всё сложно.. Может у кого есть идеи..

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

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


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

...Декодированием mp3 занимается DSP C54xx, портированный в ПЛИС (лежит на opencores на Verilog)...

Понятия не имею, с чем едят mp3, но на opencores вроде лежит "железный" декодер mp3 (VHDL). А встраивать еще один неоптимизированный для FPGA проц (да еще бета-версию) - перебор, имхо.

Кстати, как с ВМ в FPGA ?

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


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

Понятия не имею, с чем едят mp3, но на opencores вроде лежит "железный" декодер mp3 (VHDL). А встраивать еще один неоптимизированный для FPGA проц (да еще бета-версию) - перебор, имхо.

Кстати, как с ВМ в FPGA ?

 

Если имеется ввиду этот mp3 - http://opencores.org/project,decoder

То по поводу него разработчик дал следующие комментарии: это тоже не release, конкретно в этом проекте есть некоторый набор базовых модулей и на том все заканчивается, кто будет делать из этого законченный модуль - неясно.

 

Что касается процессора, то собственно вот, уже игрушки простейшие на отладочной плате работают:

dff0f438a98dt.jpg

 

Кстати эта игрушка написана для БК в этом году.

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

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


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

Если имеется ввиду этот mp3 - http://opencores.org/project,decoder

То по поводу него разработчик дал следующие комментарии: это тоже не release, конкретно в этом проекте есть некоторый набор базовых модулей и на том все заканчивается, кто будет делать из этого законченный модуль - неясно.

"Железная" реализация mp3 в FPGA, в принципе, представляет "общественный интерес" - в отличие от "софтовой", на неоптимизированном проце.

 

Что касается процессора, то собственно вот, уже игрушки простейшие на отладочной плате работают:

Кстати эта игрушка написана для БК в этом году.

 

Ого. А подробнее? С нуля или на базе какого другого проекта?

 

Зимой "кавалерийский наскок" у меня не вышел, тк дизайн на синтезируемом Верилоге выходил слишком громоздким, и я отказался от низкоуровневого подхода (не люблю громоздкие проекты). На симулируемом Верилоге все компактно(быстро перевел *.pas --> *.v командами CTRL/H и минимальной правкой) --> возникла мысль описать проц на более высоком уровне, и переключился на свой старый проект (кое-какие результаты приводил там:

http://electronix.ru/forum/index.php?showtopic=72901 )

 

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


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

Ого. А подробнее? С нуля или на базе какого другого проекта?

 

С нуля, но результат мне недоступен, т.к. еще не произведена оплата, которая будет производиться после готовности всей эмуляции, разводки платы, изготовления, пайки и испытания. Сейчас заказываю в Китае нужные микросхемы.

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

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


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

Кстати, проект создания реплики потихоньку продолжается. Уже полностью отреверсены матрицы 1801ВП1-014 и 1801ВП1-037, на выходе собственно точная реплика 1801ВМ1, сейчас его на Wishbone переводим.

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


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

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

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

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

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

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

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

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

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

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