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

Статическая синхронная память.

Ну возьмите QDR.

А что это такое? Где посмотреть?

Смотрите здесь:

http://xgoogle.xilinx.com/search?btnG=Goog...t2=Search&site=

Посмотрел на qdr. Насколько понял, там просто упор на пропускную способность. В смысле произвольного доступа она точно такая же, как и статическая синхронная. А пропускной способности хватает и так.

 

Абсолютно согласен с des00

Для вас что стоимость вашего чада вообще не важна?

С чем Вы согласны? То, что предлагается, вообще по требованиям функциональности не подходит. А что касается стоимости, то уже наличие такой сложной и недешевой приблуды, как прецизионный быстродействующий электромеханический сканер уже указывает на то, что сотня баксов рояли не играют. Фотоприемник, к слову, стОит такие пятаки, что там все остальное просто шум.

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


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

Абсолютно согласен с des00

Для вас что стоимость вашего чада вообще не важна?

С чем Вы согласны? То, что предлагается, вообще по требованиям функциональности не подходит. А что касается стоимости, то уже наличие такой сложной и недешевой приблуды, как прецизионный быстродействующий электромеханический сканер уже указывает на то, что сотня баксов рояли не играют. Фотоприемник, к слову, стОит такие пятаки, что там все остальное просто шум.

Скорее всего имелось в виду что нужно менять подход. ИМХО даже если стоимость разрабоки позволяет заложиться на дорогое решение проблемы, то это не факт что оно будет лучшее. Например вдруг вам потребуеться потом 266 МГЦ тактовой или памяти значительно поболее?

И потом решают же проблему случаного доступа к ДДР памяти в девайсах обработки видео :)

например http://www.elphel.com/articles/AT3888835064_rus.html#77

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


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

Сдается мне, что неправильно Вам сдается. :) Представьте: линейчатый фотоприемник (линейка) стоит вертикально в поле зрения прибора. Перед объективом стоит зеркало, которое позиционируется с

...

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

:) хмм ну представил. Имхо стоит просчитать такой вариант. Делать укладку кадра блоками кратными 4х4, накопление блоков сделать на фифо. И уже построчно/поколонно (ну в общем понятно как) укладывать это дело в память.

Если нужн просмотреть какой нибудь блок память то считать этот блок/блоки не составит особого труда.

Не понял. Вот приходит от сканера синхросигнал фрейма, по нему я вычитываю из ФПУ 288 слов-данных. Их нужно записать столбиком. Куда их писать, если нет произвольного доступа? В строку? А потом медленно и долго переформатировать? А следующий кадр? А через 19 мкс приходит следующий синхросигнал. И получаем новый столбик. И так они и валятся пока зеркало не сделает развертку полного кадра. 768 столбиков.

 

Записывая данные последовательно, получим повернутый кадр. А его надо тут же выдавать наружу, на монитор. В телевизионном формате. По строкам, т.е. чересстрочно. И как быть?

 

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

Геморроя тут я особого не вижу. Геморрой был с асинхронной памятью. Большой объем мне не нужен - полный кадр занимает порядка 442 килослова. И стоимость всей комплектухи просто меркнет перед стоимостью фотоприемника - вот под него и приходится постраиваться.

 

Меня просто исходно насторожило наличие режима burst, не было уверенности, что с этой памятью можно на каждом периоде клока метать данные по произвольным адресам. Но вот коллеги, вроде, утверждают, что все должно быть хоккей. :) Скачал модель, буду пробовать.

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


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

Почему вы сразу отбрасываете DDR как таковую!

Скажите с какой частотой вам надо считывать Ваше щастье уже из памяти!

И если для вас не имеет значения сколько будет стоить ваша приблуда то возьмите несколько двухпортовых памятей и пишите по столбцам а считывайте по сторкам

Но IMXO что если все правильно преобразовывать по времени то DDR 133 (266) - 16 бит очень даже перекроет ваш поток.

Теоретический предел 266 Mслов/s а у вас всего то 100 Mслов/s

А если еще поигратся с разрядностью Внутреннего буфера пишем по 1 слову а читаем по 2, 4 и т. д. то вообще можно получить такой прирост что буть здоров. Еще и аппаратную пост обработку мона успеть сделать!

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


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

Скорее всего имелось в виду что нужно менять подход. ИМХО даже если стоимость разрабоки позволяет заложиться на дорогое решение проблемы, то это не факт что оно будет лучшее. Например вдруг вам потребуеться потом 266 МГЦ тактовой или памяти значительно поболее?

И потом решают же проблему случаного доступа к ДДР памяти в девайсах обработки видео :)

например http://www.elphel.com/articles/AT3888835064_rus.html#77

Да не потребуется там никаких мегагерцев!!! Поток данных там известен - полтора десятка мегаслов в секунду, он НЕ ИЗМЕНИТСЯ. Это определяется САМОЙ ДОРОГОСТОЯЩЕЙ И УНИКАЛЬНОЙ ДЕТАЛЬЮ прибора - КРТ охлаждаемым фотоприемником! Под него и сканер сделан (там даже два сканера - строчный и кадровый), и оптика (германиевая). И ничего это меняться в обозримом будущем (по кр. мере еще лет 10) точно не будет - не та это область, где каждые полгода новая технология начинает рулить.

 

Согласитесь, пропускная способность памяти - это не единственная ее харатктерискика, раз, и кое-где не самая главная, два. Мне достаточно 100 МГц, но нужен произвольный доступ. SDRAM в системе тоже предполагается, но в несколько другом месте (на процессорной шине). И там, в частности, для увеличения скорости обработки сигнала по столбцам как вариант предполагается и заливка повернутого кадра. Но для первичного преобразования формата нужна обычная память с произвольным доступом, а чтобы при этом еще и скорость иметь приличную (и отсутствие геморроя с задержками в ПЛИС) предполагается использовать синхронную память. Вот и все.

 

Почему вы сразу отбрасываете DDR как таковую!

Скажите с какой частотой вам надо считывать Ваше щастье уже из памяти!

И если для вас не имеет значения сколько будет стоить ваша приблуда то возьмите несколько двухпортовых памятей и пишите по столбцам а считывайте по сторкам

Но IMXO что если все правильно преобразовывать по времени то DDR 133 (266) - 16 бит очень даже перекроет ваш поток.

Теоретический предел 266 Mслов/s а у вас всего то 100 Mслов/s

А если еще поигратся с разрядностью Внутреннего буфера пишем по 1 слову а читаем по 2, 4 и т. д. то вообще можно получить такой прирост что буть здоров. Еще и аппаратную пост обработку мона успеть сделать!

Я уже устал твердить, что не пропускная способность меня ограничивает, не поток данных. А ФУНКЦИОНАЛЬНОСТЬ памяти... Хорошо. Вот Вам пример. Мне надо записать числа 1, 2, 3.., 287 по адресам 0, 768, 2*768, 3*768.., 287*768 соответственно. За максимально короткое время. Меня бы устроило 10 нс * 288 = 2.88 мкс.

 

За сколько Вы запишете этот блок по этим адресам на вашей мегапамяти?

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


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

Я уже устал твердить, что не пропускная способность меня ограничивает, не поток данных. А ФУНКЦИОНАЛЬНОСТЬ памяти... Хорошо. Вот Вам пример. Мне надо записать числа 1, 2, 3.., 287 по адресам 0, 768, 2*768, 3*768.., 287*768 соответственно. За максимально короткое время. Меня бы устроило 10 нс * 288 = 2.88 мкс. 

 

За сколько Вы запишете этот блок по этим адресам на вашей мегапамяти?

 

А вам уже устали твердить что то что вы хотите можно сделать на обычной ддр памяти, хотя именно в вашем случае, действительно ZBТ лучше и проще.

Если бы вам нужно было расширяемое решение, то я бы собрал на фифо 4 ваших столбца (я уже говорил про кратность блока блоку 4х4) и писал бы в память блоками(паралельно собирая блоки следующих 4-х столбцов), блоки бы уложил поколонно(для этого достаточно инкременировать RAS, при постоянном CAS). А при чтении пожалуйста читайте построчно.

Да этот подход не совсем то что вы хотите, но он универсален.

Кстати вы ничего не сказали про ширину шины данных она у вас == ширине одного слова ?

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


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

Ну я допустим организую блок памяти как буфер скадем 4х288 слов внутри FPGA (18 kbit) - EP2C5 (119,808 kBit)

И писал бы туда как мне надо по столбцам - 4 столбца записал а потом выплюнул бы это в SDRAM (не DDR) за 288 циклов пакетной записи по 4 слова в пакете.

Далее простой расчет для SDRAM

3 такта установка активного банка и стороки

3 такта до подачи первых 4х слов и далее организовываем непрерывный поток данных

6+288*4+3=1161 такт

При частоте 133 MHz получаем 8,729 ms для 4 столбиков уже транспонированых

 

Для DDR это время должно быть процентов на 40 меньше.

 

У вас же 4 столбика

4*2.88=11.52 ms

 

Вот и считайте!

Только нужно помнить что динамическую память надо обновлять.

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


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

Я уже устал твердить, что не пропускная способность меня ограничивает, не поток данных. А ФУНКЦИОНАЛЬНОСТЬ памяти... Хорошо. Вот Вам пример. Мне надо записать числа 1, 2, 3.., 287 по адресам 0, 768, 2*768, 3*768.., 287*768 соответственно. За максимально короткое время. Меня бы устроило 10 нс * 288 = 2.88 мкс. 

 

За сколько Вы запишете этот блок по этим адресам на вашей мегапамяти?

 

А вам уже устали твердить что то что вы хотите можно сделать на обычной ддр памяти, хотя именно в вашем случае, действительно ZBТ лучше и проще.

Если бы вам нужно было расширяемое решение, то я бы собрал на фифо 4 ваших столбца (я уже говорил про кратность блока блоку 4х4) и писал бы в память блоками(паралельно собирая блоки следующих 4-х столбцов), блоки бы уложил поколонно(для этого достаточно инкременировать RAS, при постоянном CAS).

Не понял. Как это поколонно? Как это инкрементировать RAS при постоянном CAS? Если метнуть команду RAS, то после нее надо метать и CAS. Сколько это времени займет? И причем тут фифо?

 

Я привел пример. Вопрос из него: за сколько времени можно записать DRAM столбик из 288 слов?

 

А при чтении пожалуйста читайте построчно.

Да этот подход не совсем то что вы хотите, но он универсален.

В чем универсальность? И про какую расширяемость вы говорите? Я пока что вижу просто неслабое усложнение (со статической памятью работать попроще будет особенно если сравнивать с DDR) при сомнительном результате.

 

Кстати вы ничего не сказали про ширину шины данных она у вас == ширине одного слова ?

Ширина слова 16 бит (даже 14 - разрядность АЦП).

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


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

Чет я не понял ваших проблем... Любая синхронная SRAM (Cypress, Winbond, Allince etc.) позволяет устанавливать новый произвольный адрес на каждом такте чтения или записи. Единственное НО - задержка на такт между циклом чтения и записи. Но для борьбы с этим и сделали ZBT/NTD/или как ее еще там назовут SRAM. Суть этой супер-бупер технологии грубо говоря в раздельных шинах данных для записи и чтения. Есть, наконец, еще и двухпортовая память.

 

А вы - DDR... intelinside, блин, какой-то в головах у людей.

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


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

Я смотредл DATASHEET для cy7c1383c и там на времянках видно что для последовательных адресов можно изменять а для разнобоя адрес данные адрес данные (2 такта на операцию)

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


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

Ну я допустим организую блок памяти как буфер скадем 4х288 слов внутри FPGA (18 kbit) - EP2C5 (119,808 kBit)

И писал бы туда как мне надо по столбцам - 4 столбца записал а потом выплюнул бы это в SDRAM (не DDR) за 288 циклов пакетной записи по 4 слова в пакете.

Далее простой расчет для SDRAM

3 такта установка активного банка и стороки

3 такта до подачи первых 4х слов и далее организовываем непрерывный поток данных

6+288*4+3=1161 такт

При частоте 133 MHz получаем 8,729 ms для 4 столбиков уже транспонированых

 

Для DDR это время должно быть процентов на 40 меньше.

 

У вас же 4 столбика

4*2.88=11.52 ms

 

Вот и считайте!

 

Вот теперь понял, что вы имеете в виду. Ок, считаем. При использовании быстрой SDRAM имеем 9 тактов на запись из 4-х слов. Итого, наши 4 столбика запишутся за время (возьмем тактовую 100 МГц) 9*288*10нс = 25920 нс или 25.92 мкс. При пересчете на один столбец - 25.92/4 = 6.48 мкс. А на SRAM при этой же тактовой я получаю 2.88 мкс. Более, чем в два раза. При вашем подходе я еще должен выделить буфер внутри под 4 столбца (18 кбит, как вы указали), только реально там должно быть два таких буфера - пока один заполняется, другой заливается во внешнюю память. Либо иметь 4 фифо - на каждый столбец. В принципе, это несложно. А ПЛИСка у меня не второй Циклон (которых реально еще, можно сказать, нет и которые только в коммерческом диапазоне температур, а мне надо индастриал), а EP1C6, где памяти всего 92 кбита. Жирновато получается. В общем, по всем пунктам на динамической памяти это решение выходит хуже: и сложнее, и толще, и геморройнее.

 

Универсальности, как раз, тут нет - универсальность на статической. А расширяемость тут гарантировано не нужна.

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


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

Я смотредл DATASHEET для cy7c1383c и там на времянках видно что для последовательных адресов можно изменять а для разнобоя адрес данные адрес данные (2 такта на операцию)

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

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


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

Может не надо блестеть ржавой стороной? Dxp совершеноо правильно говорит, что СДРАМ - МЕДЛЕННЫЙ. Полюбопытствуйте даташитом на какой нибудь Самсунг РС-166 - минимальное время цикла одиночной записи примерно 65..70 нсек. ДДР может в этом случае быть нужен ТОЛЬКО Интелинсайдерам - для записи одного слова его способность качать данные по двум фронтам до известного места дверца.

Записать то надо всего одно слово! Потому как переформатировать кадр потом - из разряда ... пыль глотать. Любая СДРАМ в любых реинкарнациях хороша только для ПОТОКОВЫХ операций. В отличие от синхронной статики - которая хороша и при произвольном доступе. :tongue:

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


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

В предыдущем посте есть даташит AS7C33128FT18B где новый адрес на каждый такт. Правда вам потребуется 8 таких микросхем.

А вы не смотрели двухпортовую память. Я знаю что такие микросхемы есть вот только 1 M слово это много.

Тогда все ваши проблемы решаются пишите с одной стороны читаете там где надо!

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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