Jump to content

    

Выбор SDRAM

Recommended Posts

Petrovich

Помогите с выбором пожалуйста.

Сейчас есть устройство имеющее FPGA и SRAM 7ns.

Каждые 20ns читается  из памяти и тут же записывается в память по тому самому адресу.

С нынешней SRAM все работает прекрасно. Но стало не хватать объема, решили перейти на SDRAM.

Подскажите, какая из них ( DDR DDR2 DDR3 ... )  по скорости аналогична или лучше нынешней  SRAM при таком режиме чтения/записи?

 

Share this post


Link to post
Share on other sites

MegaVolt

По моему никакая.... DDR рассчитана на чтение и запись большими кусками с огромными накладными расходами. Это оправдано при наличии внутреннего статического кеша. Т.е. прямой работы с DDR обычно нету. Есть страничный обмен между DDR и кешем с которым уже идёт работа.

Т.е. в вашем случае два буфера на размер страницы. Пока работаем с первым буфером второй буфер подгружается из DDR или выгружается обратно. 
Но это всё подходит только при последовательном доступе. Если у вас полностью случайный доступ то даже не знаю что подсказать. Вам придётся найти DDR которая будет иметь накладные расходы меньше 20 тактов на запись и чтение... 

Share this post


Link to post
Share on other sites

Petrovich
8 minutes ago, MegaVolt said:

По моему никакая.... DDR рассчитана на чтение и запись большими кусками с огромными накладными расходами. Это оправдано при наличии внутреннего статического кеша. Т.е. прямой работы с DDR обычно нету. Есть страничный обмен между DDR и кешем с которым уже идёт работа.

Т.е. в вашем случае два буфера на размер страницы. Пока работаем с первым буфером второй буфер подгружается из DDR или выгружается обратно. 
Но это всё подходит только при последовательном доступе. Если у вас полностью случайный доступ то даже не знаю что подсказать. Вам придётся найти DDR которая будет иметь накладные расходы меньше 20 тактов на запись и чтение... 

Печально, Вы подтвердили мои сомнения.

Доступ таки произвольный, буферы не помогут.

Спасибо за ответ.

Share this post


Link to post
Share on other sites

bloody-wolf

а какой вам кстати объем памяти треба?

с QDR памятью есть еще засада, что IP-корку не так просто получить. и что за фпга, а то, вдруг окажется, что проще будет поставить фпагу чуть пожирнее в части встроенной брам=)

Share this post


Link to post
Share on other sites

gosha-z
22 hours ago, bloody-wolf said:

а какой вам кстати объем памяти треба?

с QDR памятью есть еще засада, что IP-корку не так просто получить. и что за фпга, а то, вдруг окажется, что проще будет поставить фпагу чуть пожирнее в части встроенной брам=)

Или фпга с готовым контроллером QDR

Share this post


Link to post
Share on other sites

RobFPGA

Приветствую!

On 5/9/2021 at 7:47 PM, bloody-wolf said:

а какой вам кстати объем памяти треба?

с QDR памятью есть еще засада, что IP-корку не так просто получить. и что за фпга, а то, вдруг окажется, что проще будет поставить фпагу чуть пожирнее в части встроенной брам=)

Если вам  не нужно на максимальные MHz то контроллер для QDRII  пишется  за пару дней.  Там внутри все очень просто. 

Ну  а если нужно на максимальные MHz то  почти так же просто  - лишь  добавляется  калибровка/выравнивание задержек на пинах  :yes3: 

 

Но самого интересного от TC мы так и не услышали  - сколько  памяти ему  нужно? Может он вдруг хочет обзавестись десятком-другим GB SRAM  :shok:   

 

Удачи! Rob. 

Share this post


Link to post
Share on other sites

Petrovich

Сейчас применяется SRAM 256К х 16

Нужно увеличить как минимум до 2-4М х16

Читать/писать нужно каждые 20nc. Это период семплирования аналогового сигнала и естественно это должно происходить равномерно.

Share this post


Link to post
Share on other sites

_4afc_
1 hour ago, Petrovich said:

Сейчас применяется SRAM 256К х 16

Нужно увеличить как минимум до 2-4М х16

Читать/писать нужно каждые 20nc. Это период семплирования аналогового сигнала и естественно это должно происходить равномерно.

Может посмотреть в сторону Gowin GW1NR c ОЗУ внутри

 

SDR SDRAM

Аccess time: 4.5 ns/4.5 ns

Clock rate: 200/166/143 MHz

Data width: 16bits

Synchronous operation

Internal pipeline architecture

Fourinternal Banks (1024K x 16 bits x 4BANK)

Programmable mode

  -Column address strobe latency: 2 or 3

  -Burst length: 1, 2, 4, 8 bytes or full page

  -Burst type: sequential mode or interval mode

  -Burst-Read-Single-Write-Burst stop function

Byte masking function

Auto refresh and self refresh

4,096 refresh cycle / 64 ms

 

PSRAM

Clock frequency:166 MHz, the maximum frequency can beDDR332

32Mb storage space for one PSRAM

Double-edge data transmission

Data width: 16bits(QN88/LQ144) / 32bits (MG100)

Read/write data latching (RWDS)

Temperature compensatedrefresh

Partial arrays self-refresh(PASR)

Hybird sleepmode

 

Share this post


Link to post
Share on other sites

Petrovich
7 hours ago, _4afc_ said:

Может посмотреть в сторону Gowin GW1NR c ОЗУ внутри

 

SDR SDRAM

Аccess time: 4.5 ns/4.5 ns

Clock rate: 200/166/143 MHz

Data width: 16bits

Synchronous operation

Internal pipeline architecture

Fourinternal Banks (1024K x 16 bits x 4BANK)

Programmable mode

  -Column address strobe latency: 2 or 3

  -Burst length: 1, 2, 4, 8 bytes or full page

  -Burst type: sequential mode or interval mode

  -Burst-Read-Single-Write-Burst stop function

Byte masking function

Auto refresh and self refresh

4,096 refresh cycle / 64 ms

 

PSRAM

Clock frequency:166 MHz, the maximum frequency can beDDR332

32Mb storage space for one PSRAM

Double-edge data transmission

Data width: 16bits(QN88/LQ144) / 32bits (MG100)

Read/write data latching (RWDS)

Temperature compensatedrefresh

Partial arrays self-refresh(PASR)

Hybird sleepmode

 

Это интересный вариант. Спасибо. Почитаю.

Share this post


Link to post
Share on other sites

Plain
_pv

если запись/чтение не по абсолютно случайным адресам идёт, а более менее последовательно, можно какой-нибудь небольшой умный "кэш" сгородить перед динамической памятью, и в 20нс чтение впихнуть, а запись, речарджи, смены страниц и т.д. уж когда получится, с бурстами. так возможно даже вообще и SDR памятью обойтись получится. в среднем суммарно 50M туда и столько же обратно не так уж и много, если без требования по latency. ну или две sdr sdram поставить из одной читаем, в другую пишем, потом меняем местами, опять же если доступ не рандомный.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.