|
Видеокарта на ПЛИС |
|
|
|
Oct 22 2008, 06:30
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 8-11-05
Пользователь №: 10 572

|
Здравствуйте. Возникла задача разработать видеокарту на ПЛИС. Требования разрешение 800 x 600, количество цветов допустимо 16 битное, но крайне желательно 32 битное. Планирую использовать Xilinx Spartan3 или 3e. Подскажите, возможно ли такое? Может где уже есть готовые примеры структуры и кода (Verilog)?
|
|
|
|
|
Oct 22 2008, 08:24
|
Злополезный
   
Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188

|
Цитата(chel @ Oct 22 2008, 10:30)  Планирую использовать Xilinx Spartan3 или 3e. А почему не Spartan-3A ? Вы не указали какой выходной стандарт вы будете использовать... и если Вы планируете использовать DVI, то полагаю, что Spartan-3A может оказаться более подходящим, т.к. его IOBUF поддерживает TMDS (используемый в DVI).
|
|
|
|
|
Oct 22 2008, 08:51
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 8-11-05
Пользователь №: 10 572

|
Цитата(Boris_TS @ Oct 22 2008, 12:24)  А почему не Spartan-3A ? Вы не указали какой выходной стандарт вы будете использовать... и если Вы планируете использовать DVI, то полагаю, что Spartan-3A может оказаться более подходящим, т.к. его IOBUF поддерживает TMDS (используемый в DVI). ммм. Да может и Spartan-3A. Но есть проблема с bga корпусами, мы не можем с ними работать, вернее не так работать, как изготовлять эти платы. А заказать же их можно только за рубежом? Наши, то не делают? А у Spartan-3A есть только tq144 ног же может не хватить, правда я ещё не обдумывал. А стандарт планировал SVGA. Цитата(Postoroniy_V @ Oct 22 2008, 11:03)  ага, спасибо. Скачал, но пока не разбирался. Цитата(slog @ Oct 22 2008, 12:44)  И куда эта видеокарта втыкаться должна? В PCI-express или в ISA? Да, вообще планируется подключить его к какому-нибудь ARM-у. Меня интересует, сможет ли Spartan обеспечить нужную скорость работы? Нужно ещё будет реализовать умножение для альфа канала.
|
|
|
|
|
Oct 23 2008, 10:56
|
Местный
  
Группа: Свой
Сообщений: 451
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 284

|
Цитата(chel @ Oct 22 2008, 12:51)  А заказать же их можно только за рубежом? Наши, то не делают? А разве есть проблема в заказе печатных плат за рубежом ? Сделают быстрее, дешевле и лучше.
|
|
|
|
|
Oct 23 2008, 13:23
|
Участник

Группа: Свой
Сообщений: 42
Регистрация: 24-12-04
Пользователь №: 1 658

|
Печатные платы под BGA вполне можно делать в РФ - например Электроконнект в Новосибирске, мы там делаем прототипы, качество вполне приемлемое.
Справится по скорости S3 или нет - зависит от поставленной задачи. Если простое преобразование - вполне справится. Если нужны каке-то DSP преобразования - сказать трудно.
Я делал преобразователь TTL в LVDS для связи ARM с ЖК-панелью на S3E, проблем со скоростью не было.
|
|
|
|
|
Nov 5 2008, 07:39
|

Гуру
     
Группа: Свой
Сообщений: 2 113
Регистрация: 1-11-05
Пользователь №: 10 359

|
Цитата Если бы делали под альтеру, то надо было бы посмотреть Cyclone 3 NIOS II Starter Kit - отладочная плата под встраиваемый процессор, содержит ЖК-экран 640 на 480 и выход D-SUB для монитора. В комплекте есть CD со схемами, с текcтами HDL и C (правда тексты несколько ограничены, и насколько помню нет ничего для работы с внешним монитором). Содержимое CD можно скачать на сайте альтеры (если нет, то могу выслать). Плата прикольная, ЖК - 800Х480. У меня такая быть. Из недостатков: передача на микросхему преобразователя в аналоговый сигнал для компьютерного монитора - с временным уплотнением, по шине 10 бит. Из-за этого нереально получить высокое разрешение на выходе, просто частоты уже будут запредельные. И еще плохо - для ниоса все программы не откроешь в IDE, надо через консоль работать (насколько я понял). На мой взгляд - это бессмысленно.
--------------------
Быть. torizin-liteha@yandex.ru
|
|
|
|
|
Nov 6 2008, 05:29
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-09-05
Из: г. Новосибирск
Пользователь №: 8 335

|
Цитата(chel @ Oct 22 2008, 12:30)  Здравствуйте. Возникла задача разработать видеокарту на ПЛИС. Требования разрешение 800 x 600, количество цветов допустимо 16 битное, но крайне желательно 32 битное. Планирую использовать Xilinx Spartan3 или 3e. Подскажите, возможно ли такое? Может где уже есть готовые примеры структуры и кода (Verilog)? У меня похожая задача. Нужен универсальный (насколько возможно) контроллер FTF с поддержкой 2D графики. Надоело копировать одно и тоже из одного проекта в другой. Хочется уже выделить функционально законченный модуль. Отсюда вопрос ко всем. Насколько актуальной вам кажется такая затея в рамках открытого проекта? Структура примерно такова: - микроконтроллер (решает другие задачи помимо вывода на дисплей) - шина подключения к видеоконтроллеру (Wishbone, SPI или др.) - "универсальный" видеоконтроллер - адаптер шины к TFT, если требуется (например в LVDS, если у TFT шина LVDS) или DVI - TFT Микроконтроллер может видеть видеопамять как внешнюю и рисовать своими силами, а может использовать "язык команд", вроде шейдеров в видеокартах, и рисовать ресурсами видеоконтроллера. Предполагается реализация некоторых графических примитивов, знакогенератор, курсор... Реализация предполагается на Xilinx Spartan-3E(A,AN). Хочется услышать мнение опытных специалистов... Предложенный выше материал (ссылки) сейчас изучаю...
|
|
|
|
|
Nov 6 2008, 09:13
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Да-да, как немного принимавший участие в разработке таких устройств скажу, что это в целом ОЧЕНЬ хитрые устройства. У нас группа из 10-ти человек делала небольшую часть проекта и еще 10 человек писали софт к ним. Потому что для действительно универсального устройства необходим не только деинтерлейс, необходимо еще масштабирование как вверх, так и вниз (алгоритмы различаются), поддержка разных видов синхронизации и цветовых пространств, куча настроек (у LCD например очень жесткие ограничения на размеры поля холостого хода, причем у разных моделей они очень разные). А если чем-то жертвовать - это будет не универсальное устройство, да и хорошо понять, чем можно жертвовать, а чем - нет тоже непросто.
|
|
|
|
|
Nov 6 2008, 09:24
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-09-05
Из: г. Новосибирск
Пользователь №: 8 335

|
Цитата(Alex77 @ Nov 6 2008, 13:02)  В копилку... В EDK 10.1.3 появился ip-core XPS TFT Platform Studio and EDK Integrated development environment containing tools to facilitate the creation of your embedded platforms - FREE for 60 days! А это не соответсвует идее открытого проекта.
|
|
|
|
|
Nov 6 2008, 11:05
|
Местный
  
Группа: Участник
Сообщений: 295
Регистрация: 2-12-05
Пользователь №: 11 695

|
Цитата(Vadim_nsk @ Nov 6 2008, 12:24)  Platform Studio and EDK Integrated development environment containing tools to facilitate the creation of your embedded platforms - FREE for 60 days!
А это не соответсвует идее открытого проекта. открытый проект это: Бесплатная среда разработки ? Или бесплатный (или по другому открытый) IP-core ? Я что-то нигде не заметил исходных требований об "открытом проекте" у автора. ps: в mpmc есть еще что-то связаное с video Video Frame Buffer Controller PIM The Video Frame Buffer Controller (VFBC) allows a user IP to read and write data in two dimensional (2D) sets regardless of the size or the organization of external memory transactions. The VFBC can be used in video applications where hardware control of 2D data is needed to achieve real time operation. Typical video applications are: motion estimation, video scaling, on-screen displays, and video capture used in video surveillance, video conferencing and video broadcast. Features • 2D data transfers (32,640 bytes x 16,777,216 lines maximum and two 32-bit words minimum.) • Asynchronous FIFO command interface. • Separate asynchronous FIFO write and read data interfaces. • Configurable 32- or 64-bit NPI data width. • Independently configurable write and read data widths of 8-, 16-, 32-, or 64-bit. • Configurable FIFO depths. • Configurable almost full and almost empty flags. • Independent write, read, and command FIFO resets. • Flushable data FIFOs.
|
|
|
|
|
Nov 6 2008, 11:30
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 7-09-05
Из: г. Новосибирск
Пользователь №: 8 335

|
Цитата(Alex77 @ Nov 6 2008, 17:05)  Я что-то нигде не заметил исходных требований об "открытом проекте" у автора. Извините, я подумал, что вы мне ответили. Наверное было бы лучше и правильнее создать отдельный топик, но я подумал, что плодить сущности не очень хорошо. Цитата(torik @ Nov 6 2008, 17:07)  А универсальный контроллер слишком жирно не будет, сколько он места займет? А времени на разработку? Универсальный не в смысле содержащий все, что может понадобиться. А в смысле "ядро" + легко прикручиваемая "обвязка". Ставим галочки напротив нужного и получаем задуманое.
Сообщение отредактировал Vadim_nsk - Nov 6 2008, 11:31
|
|
|
|
|
Feb 6 2009, 14:54
|
Частый гость
 
Группа: Участник
Сообщений: 112
Регистрация: 10-11-06
Из: Москва
Пользователь №: 22 176

|
Есть какие-нибудь сдвиги в данном направлении? Я сам бы подключился к этому проекту. Попробовал на своей плате с 4-м Виртексом TFT контроллер от Xilinx и был расстроен крайне низкой производительностью(меня все таки интересует графика в реальном времени). Интересует вопрос, как нужно проектировать графические ускорители? Я начал с аппаратной очистки буфера. Подцепил к шине PLB свой модуль, который есть ничто иное как автомат, который по команде от Микроблэйза пишет нули в этот самый буфер. Очистка действительно стала выполняться быстрее. Что дальше? Делаем автомат который рисует линии, символы и т.п.? Если двигаться в этом направлении, по-моему нужно делать полноценный процессор с особым набором команд, ибо делать автомат, который, скажем, будет заполнять произвольную область уже не так тривиально...
|
|
|
|
|
Sep 25 2018, 07:01
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Подыму эту тему. Может кому пригодится........ Несколько лет назад делал видеокарту на ПЛИС для своей игровой приставки. Описание видеокарты вместе с исходниками VHDL (Quartus) здесь: http://zx-spectrum128k.narod.ru/Romanich/V...ideoFlipper.htmПростой фреймбуфер с двумя видеостраницами (одна отрисовывается на дисплей, во вторую пишет CPU. Переключение между страницами - по запросу). Прямой режим цветности 15 бит или палитровый. Есть оконная функция как в LCD с видеоконтроллерами. исходники: http://zx-spectrum128k.narod.ru/Romanich/V...ideoFlipper.rarдокументация на регистры (программирование) видеокарты: http://zx-spectrum128k.narod.ru/Romanich/V...per/VF_Soft.txt (выставить кодировку Cyrillic Windows!) Схема принципиальная в составе игровой приставки:
Сообщение отредактировал __inline__ - Sep 25 2018, 07:03
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|