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

Выбор оперативной памяти

Доброе время суток. Появилась задача принять и обработать видео сигнал. Источник сигнала вход DVI на микросхеме TI TFP401, обработкой предположительно будет заниматься Altera Cyclone III EP3C16Q240C8N. Максимальная частота видеоданных у TFP401 по даташиту 165 МГц, а надо еще успеть записать и прочитать. Вот и вопрос какой тип памяти лучше применить SRAM, SDRAM или DDR SDRAM с учетом сложности разводки платы и программной реализации. Опыта работы с ПЛИС особо нет.

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


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

А надо взять калькулятор и подсчитать. 165 мегапикселов в секунду, по 4 байта каждый - 660 мегабайт в секунду. Это надо записать, прочитать, и еще иметь запас на рефреш etc., поэтому умножаем на 3. Получается 2000 мегабайт в сеунду, то есть 32 разряда 250 МГц DDR или 64 разряда 125 МГц DDR. Это вписывается в DDR2, но ПЛИС вам придется выбрать другую, почему - постарайтесь понять сами из даташита.

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


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

Не забываем, что еще надо обработать видео - как минимум еще разок прочитать и записать. Т.е. еще на 2 помножить...

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


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

то есть 32 разряда 250 МГц DDR или 64 разряда 125 МГц DDR
не понимаю этот расчет...

 

выбор плис был впринципе основан на Cyclone III FPGA Development Kit, BGA технология пока недоступна, поэтому был выбран TQFP корпус. причина по которой надо выбирать другую плис эта?

Cyclone III Device Family Overview:

...

Support for high-speed external memory interfaces including DDR,

DDR2, SDR SDRAM, and QDRII SRAM at up to 400Mbps

...

на что тогда расчитан Cyclone III FPGA Development Kit, на котором установлено 256 MB DDR2 SDRAM??

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


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

не понимаю этот расчет...

Что конкретно неясно? 250 МГц DDR - это 500 мегатранзакций в секунду, по четыре байта за транзакцию - 2000 мегабайт в секунду. 250*2*4=2000. Не знаю, как можно еще понятнее объяснить.

 

BGA технология пока недоступна, поэтому был выбран TQFP корпус. причина по которой надо выбирать другую плис эта?

В даташит, все в даташит.

 

на что тогда расчитан Cyclone III FPGA Development Kit, на котором установлено 256 MB DDR2 SDRAM??

Она расчитана на тех, кто может применть ту микросхему, которая там установлена, но дело даже не в этом. DDR2 можно подключить и к выбранному вами чипу, но это не значит, что она заработает на 250 МГц. А вам надо минимум столько, а возможно и вдвое больше, как тут уже верно заметили.

 

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


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

По опыту работы с ddr и ddr2 могу сказать следующее: Данные типы памяти хороши при записи ИЛИ чтении в/из них больших объемов данных. Если же у вас есть хотя бы 2 блока, один из которых постоянно пишет в один банк памяти, а другой постоянно читает из другого банка, то такой режим работы плох да динамической памяти. Если у вас будет ещё и обработка изображения, а это действительно минимум плюс одно чтение и одна запись, то расчетное время нужно умножить не на 2, а на 4, поскольку возникает необходимость постоянного переключения банок. Максимальная длина пачки у DDR/DDR2 SDRAM HPC II равна 64. С большой вероятностью можно утверждать, что следующая пачка на шине AvalonMM будет идти в другой банк. Время переключения между банками указано в даташите на память. В итоге получается, что пиковая пропускная возможность достигается, если у памяти один абонент, который либо читает либо пишет. Иначе скорость работы системы падает существенно. Выход - QDR. Но это дорого. Готовые контроллеры у Альтеры поддерживаются лишь для новых семейств. Для Cyclone III поддержки нет. Вывод - ПЛИС для передачи видео ещё годится, а вот для обработки - нет.

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


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

DmitryR вы меня не правильно поняли, вопрос:

причина по которой надо выбирать другую плис эта?

относился к написанному далее:

Cyclone III Device Family Overview:

...

Support for high-speed external memory interfaces including DDR,

DDR2, SDR SDRAM, and QDRII SRAM at up to 400Mbps

...

т.е. тактовая 200 МГц, а надо не менее 250 МГц, что влечет за собой смену семейства, подходят получается:

- Arria II с тактовой 333Мгц

- Stratix III с тактовой 400Мгц

- Stratix IV, Stratix V с тактовой 400Мгц

 

правильно я все понимаю? кто что порекомендует?

 

обработка видео это конечно громко сказано, начальная задача выглядит так:

1. приняли сигнал допустим 1280*1024

2. разрезали на 4 части по 640*480

3. отправили на 4 выхода DVI/HDMI (пока не выбрано)

 

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

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


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

DmitryR вы меня не правильно поняли, вопрос:

 

обработка видео это конечно громко сказано, начальная задача выглядит так:

1. приняли сигнал допустим 1280*1024

2. разрезали на 4 части по 640*480

3. отправили на 4 выхода DVI/HDMI (пока не выбрано)

 

 

Я так понимаю это задача о бассейне.

В одну трубу вливается, через 4 другие выливается

При этом как я понимаю бассейн не переполняется и не опустевает ;-)

 

Вам нужно на внутренней памяти (M9K) организовать 4 FIFO буфера длиной в 640 пикселов с раздельным тактированием для записи и чтения.

Естественно что тактирование входного потока будет в 4 раза больше частоты тактирования выходного потока.

 

 

 

 

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


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

Без буферирования кадра не получится - тайминги бланкинга не будут совпадать. Однако если преобразования частоты кадров не нужно делать - то будет достаточно буфера на пару кадров (один пишется - один читается), а это 10 мегабайт всего. С учетом того, что скорость у такого потока - половина от того, что мы расчитывали вначале, вы можете рассматривать относительно небыструю синхронную статическую память, ZBT например на 166 МГц.

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


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

Она вроде стоит кучу денег (в районе 30-40 баксов), не? Может проще взять SDRAM две х32? На верхний и нижний банк по штуке, и разводить просто и схема несложная.

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


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

Это будет и вправду дешевле, но совершенно не проще. Проще может быть будет поставить DDR2 на 166 МГц со стандартным контроллером, и возможно тогда хватит одной микросхемы ширины 16, если точки будут писаться и соответственно читаться по 24 бита, а не по 32. Но может и не хватит, правда это все очень легко отмоделировать.

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


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

Циклон 3 на 166МГц еще фиг небось раскочегаришь, что бы там даташиты ни говорили. И в четырех слоях, слышал, не разведешь...

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


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

максимальное поддерживаемое разрешение 1600*1200(UXGA), один кадр при 24 битной записи это 46 Мбит, а при 32 битной записи 62 Мбита... удобнее я так думаю работать с 32 битной записью.

 

информации на сколько можно раскочегарить Cyclone 3 я не нашел, есть только косвенная информация о плате Cyclone III FPGA Development Kit, на которой стоит DDR2 SDRAM и заявлено что она поддерживает разрешение UXGA и HDTV 1080p, и работает через память...

 

на данном этапе сменить плис не проблема, главное понять, как все таки сделать лучше. плату расчитываю на 6 слоев, правда не знаю реально ли это впринципе для памяти DDR2... примеры разводки плат Altera пугают

 

насчет преобразования частоты пока не решено, возможно она будет установлена константой 60Гц и прописана в EDID, а возможно входная 75 Гц допустим будет преобразовываться к 60 Гц, в настоящий момент думаю как проще, но с учетом на будущее

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


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

на данном этапе сменить плис не проблема, главное понять, как все таки сделать лучше.
Если задача стоит так - то надо прикинуть требования примерно, потом купить кит с некоторым запасом (например Cyclone III или Cyclone IV Development kit + DVI Input/Output HSMC card), сделать дизайн, и тогда будет точно понятно, на каком чипе стоит делать конечное устройство.

 

плату расчитываю на 6 слоев, правда не знаю реально ли это впринципе для памяти DDR2... примеры разводки плат Altera пугают
Реально даже в четырех слоях развести. А пугаться там нечего, чай не 533 МГц.

 

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


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

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

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

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

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

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

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

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

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

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