|
Помогите разобраться с организацией видеоускорителя на ПЛИС |
|
|
|
Jun 14 2010, 07:43
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
Помогите найти материал про архитектуру ускорителей для видеоадаптеров (организации ускорителей на FPGA/ПЛИС). Может кто занет, где можно найти мануалы, желательно на русском.
|
|
|
|
|
Jun 14 2010, 14:31
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
что типо этого.
|
|
|
|
|
Jun 14 2010, 18:07
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
Нет, на самом деле я не имел в виду что это похоже на то что мне нужно, но всё таки не то что я ищу.
|
|
|
|
|
Jun 15 2010, 08:57
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
Спасибо большое за помощь, но всё таки это не совсем то что нужно, вот нашёл пару мануалов на английском, если интересно посмотрите
|
|
|
|
|
Jun 15 2010, 09:31
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623

|
Цитата(smalcom @ Jun 14 2010, 17:45)  opengraphics? как-то opengraphocs вяло развивается... давно на них смотрю. Цитата(PSICH @ Jun 14 2010, 11:43)  Помогите найти материал про архитектуру ускорителей для видеоадаптеров (организации ускорителей на FPGA/ПЛИС). Может кто занет, где можно найти мануалы, желательно на русском. Хотелось бы уточнения вопроса. Вам нужен просто некий ускоритель для проприетарного девайса или нужен видеоадаптер скажем для PC? Мне кажется здесь есть разница. Если например Вы хотите составить конкуренцию Nvidia для настольных систем, то несомненно нужно отталкиваться от архитектуры современных дисплейных драйверов. Под Windows нужно читать Windows Driver Kit, драйвер должен поддерживать DirectX 11. Вообще написать дисплейный драйвер для Windows7 возможно труднее (или так же), чем сделать сам ускоритель. Да и вообще нужно понимание как работает скажем DirectX и его приложения. Лично у меня есть небольшой опыт создания framebuffer видеоадаптера на PCI и написания драйвера к нему для WindowsXP. Поддерживался так же режим PCI Master - экран мог фрагментами перекачиваться из системной памяти во framebuffer - тоже своего рода "ускоритель" :-)
|
|
|
|
|
Jun 15 2010, 11:05
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
Уточню вопрос!!! Мне необходимо разобраться с тем как можно организовать видеоскоритель на ПЛИС, желательно для Spartan апапаратным путём. В ПЛИС я так сказать в данный момент являюсь "чайником" и особо не понимаю как работает вся эта система, но мне приводили пример как это ускорение можно реализовать.Например простым языком: процессор имеет набор собственных команд, и процессора имеются прерывания. один из сбособов, организации ускорения делать в этих прерывания ассемблерные вставки, которые будут обрабатываться ПЛИСиной и передаваться процессору.Точно не помню но что-то примерно вроде этого нужно сделать. На данный момент вся это инфа мне нужна для выполнения курсовой работы, и ещё сам заинтересовался и решил досконально разобраться.
|
|
|
|
|
Jun 15 2010, 11:40
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623

|
Цитата(PSICH @ Jun 15 2010, 15:05)  Уточню вопрос!!! Мне необходимо разобраться с тем как можно организовать видеоскоритель на ПЛИС, желательно для Spartan апапаратным путём. В ПЛИС я так сказать в данный момент являюсь "чайником" и особо не понимаю как работает вся эта система, но мне приводили пример как это ускорение можно реализовать.Например простым языком: процессор имеет набор собственных команд, и процессора имеются прерывания. один из сбособов, организации ускорения делать в этих прерывания ассемблерные вставки, которые будут обрабатываться ПЛИСиной и передаваться процессору.Точно не помню но что-то примерно вроде этого нужно сделать. На данный момент вся это инфа мне нужна для выполнения курсовой работы, и ещё сам заинтересовался и решил досконально разобраться. Хм.. из Вашего уточнения все равно ничего не ясно. 1) Это ускоритель для PC или нет? Если для PC, то какой шиной ускоритель/видеокарта подключается к ПК? Шины бывают PCI, PCIe, USB наконец. Если все это не для ПК, то тоже желательно знать архитектуру устройства. 2) В любом случае у видеокарты должен быть framebuffer (а может и даже несколько переключаемых по сигналу кадровой синхронизации для гладкого воспроизведения). Framebuffer - это память видеоадаптера отображаемая на дисплее. Грубо говоря контроллер дисплея генерирует сигналы синхронизации для монитора (HSYNC/VSYNC) и синхронно с "лучем" читает память framebuffer-а и передает пикселы в DAC 3) простейший видеоадаптер отображает свою видео память (framebuffer) в адресное пространство центрального процессора. Таким образом процессор (тот что на материнской плате ПК) может писать в видеопамять напрямую со скоростью шины (например PCI). например для очистки экрана 1280x1024 true-color (3 byte/pixel) процессор должен записать 983040 DWORDs и это довольно медленно через PCI. Другое дело, что центральный процессор может записать в специальные регистры ускорителя координаты области заливки и тогда ускоритель сам будет делать всю эту заливку. При этом центральный процессор освобождается. Таким образом даже для простейшего ускорителя нужно организовать доступ уже 3х агентов к видеопамяти: дисплейного контроллера на чтение, центрального процессора как минимум на чтение а лучше чтение/запись и "ускоритель" (это как бы процессор в акселераторе) чтение/запись. 4) какие операции Вы собираетесь ускорять? Одно дело VGA режимы и команды ускорителя типа рисования линии или заливки прямоугольника, другое дело поддержка DirectX - там вообще все операции над всеми данными идут в формате float с плавающей запятой
|
|
|
|
|
Jun 15 2010, 12:19
|
Группа: Участник
Сообщений: 11
Регистрация: 14-06-10
Пользователь №: 57 904

|
На данный момент нет каких либо определённых целей по ускорению каких-то операций, сейчас мне нужно просто разобраться как это работает и как это можно реализовать даже на примере других каких-то плат. Реализация, написание драйвером(кстати драйверы нужно будет писать по Linux), и всё остальное будет в дальнейшем. Но всё же спасибо большое за помощь, буду ориентироваться по тому что вы написали. Знаю только что эта штука будет работать через PCI и работать совместно с PC
|
|
|
|
|
Jun 15 2010, 12:36
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623

|
Цитата(PSICH @ Jun 15 2010, 16:19)  На данный момент нет каких либо определённых целей по ускорению каких-то операций, сейчас мне нужно просто разобраться как это работает и как это можно реализовать даже на примере других каких-то плат. Реализация, написание драйвером(кстати драйверы нужно будет писать по Linux), и всё остальное будет в дальнейшем. Но всё же спасибо большое за помощь, буду ориентироваться по тому что вы написали. Знаю только что эта штука будет работать через PCI и работать совместно с PC Вам нужна плата developer board с FPGA подключенной к DDR и PCI а так же наличие DAC для VGA. Будете сами делать или где-то брать?
|
|
|
|
|
Jun 15 2010, 13:05
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 13-04-10
Пользователь №: 56 623

|
Цитата(rv3dll(lex) @ Jun 15 2010, 16:57)  я делал видеосистему для тонкого клиента на циклоне. копирование регионов, хекстайл, заливка прямоугольников, прозрачность-наложение, аппаратный курсор мыши а как называется тонкий клиент если не секрет :-)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|