Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ПЛИС как память компьютера
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
AVR
Задумался о диком извращении, а именно - возможно ли изготовить модуль, совместимый по выводам с DIMM DDR3/4 (ну обычные компьютерные), и через SMBus (или что там) сообщить что есть 128 килобайт памяти в модуле. Возможно ли такое теоретически? Будет ли работать физически? Нет ли минимально допустимого объема памяти для модулей такого типа, а то может 128 Кбайт будет меньше этого минимума.
RobFPGA
Приветствую!

Цитата(AVR @ May 12 2017, 11:49) *
Задумался о диком извращении, а именно - возможно ли изготовить модуль, совместимый по выводам с DIMM DDR3/4 (ну обычные компьютерные), и через SMBus (или что там) сообщить что есть 128 килобайт памяти в модуле. Возможно ли такое теоретически? Будет ли работать физически? Нет ли минимально допустимого объема памяти для модулей такого типа, а то может 128 Кбайт будет меньше этого минимума.


Теоретически может быть и можно но вот практически...

И классический вопрос - а зачем это нужно ?

Удачи! Rob.
alexadmin
Хотел бы я увидеть реакцию компьютера, которому скажут что в модуле аж целых 128 кб памяти! wink.gif
Flood
Цитата(RobFPGA @ May 12 2017, 12:48) *
Теоретически может быть и можно но вот практически...

И классический вопрос - а зачем это нужно ?


Для быстрого и широкого доступа к памяти FPGA?
Тут сложнее с хостовой частью - как ограничить использование этой памяти в общих целях ОС и выделить ее для работы определенного приложения.
RobFPGA
Приветствую!

Цитата(alexadmin @ May 12 2017, 13:02) *
Хотел бы я увидеть реакцию компьютера, которому скажут что в модуле аж целых 128 кб памяти! wink.gif

Для этого наверно достаточно будет перешить spd flash на обычном диме

Цитата(Flood @ May 12 2017, 13:03) *
Для быстрого и широкого доступа к памяти FPGA?
Тут сложнее с хостовой частью - как ограничить использование этой памяти в общих целях ОС и выделить ее для работы определенного приложения.

Ну да! Это наверное самое трудное будет - а эл. согласование сигналов, соблюдение стандарта на протокол это мелочи. sm.gif

Удачи! Rob.

Golikov A.
Цитата
Тут сложнее с хостовой частью - как ограничить использование этой памяти в общих целях ОС и выделить ее для работы определенного приложения.

Кстати если решить эту проблему, то можно даже не говорить что там 128 КБайт, а соврать что там гигобайты, а уже на уровне хоста работать только с началом памяти.
AVR
Цитата(Golikov A. @ May 12 2017, 13:16) *
Кстати если решить эту проблему, то можно даже не говорить что там 128 КБайт, а соврать что там гигобайты, а уже на уровне хоста работать только с началом памяти.
Да, можно и сказать что там куча гектар. Такая ОС как Linux позволит задать рабочую область, чтобы на пустышку не наскочила.
sonycman
Цитата(Flood @ May 12 2017, 14:03) *
Для быстрого и широкого доступа к памяти FPGA?

А будет ли это быстрая память?
Какая FPGA сравнится по скорости доступа с DDR4 модулями с эффективной частотой 3 ГГц ?

Ну латентность будет поменьше, а частота - ну 500 МГц, даже 1ГГц не будет, наверное.

Курам на смех?
jojo
Цитата(AVR @ May 12 2017, 15:28) *
Да, можно и сказать что там куча гектар. Такая ОС как Linux позволит задать рабочую область, чтобы на пустышку не наскочила.


Люди что-то такое делают.
IBM

Помнится, ещё на модуль SDRAM ПЛИС люди ставили, pdf не найду.

AVR
Цитата(sonycman @ May 12 2017, 14:38) *
Ну латентность будет поменьше, а частота - ну 500 МГц, даже 1ГГц не будет, наверное.

Да, это тоже вопрос. Есть ли какой-то максимум у значений задержек таймингов. Чтобы например всё работало, хоть и на существенно меньшей скорости.
krux
имхо, DDR3/4 по времянкам будет сделать сложно.
на практике, при разработке микросхем DDR3/4 памяти и первичного proof-of-concept с помощью FPGA используют намного более низкие частоты.
надо понимать, что минимально возможный по JEDEC DDR3‑800 должен будет работать например для xilinx с 400 МГц на ISERDES/OSERDES. что сложно.

если на ПЛИС с другой стороны поставить соответствующие чипы памяти и взять сгенерированный при помощи MIG (Memory Interface Generator) хост-контроллер памяти, то
можно предъявить хостовой системе, куда будет установлено данное чудо, длинные тайминги на чтение/запись, которые включат в себя тайминги запросов через MIG.
тогда всё срастётся, можно будет показать системе, например, 2 гигабайта. Два очень медленных гигабайта.
по крайней мере теоретически.

вопрос как обычно - нафига?
ваять shared-memory кластер? так это сейчас удобнее с другой стороны делать.
Flood
Цитата(RobFPGA @ May 12 2017, 13:15) *
Ну да! Это наверное самое трудное будет - а эл. согласование сигналов, соблюдение стандарта на протокол это мелочи. sm.gif


Не мелочи, но это должно быть решаемо. Раз существует контроллер памяти DDR3/DDR4, значит на электрическом уровне проблем точно не будет. Получится ли реализовать PHY чипа памяти на основе такого контроллера - большой вопрос. Скорее всего это возможно, хотя и не просто. А вот программный уровень может оказаться практически непробиваемым.

Более обозримый путь получения shared memory - работа ПЛИС в одном из сокетов многопроцессорной конфигурации. Например на шине QPI. Но без взаимодействия с Intel и доступа к разработке BIOS это не проходимо.
Кроме того, давно уже ходят слухи об объединении Интелом процессора и ПЛИС в одном корпусе (Xeon + Arria 10 на шине QPI или Omni-Path). Когда (если) это решение станет широкодоступным, все проблемы с интеграцией будут решены самим Интелом.
AVR
Цитата(krux @ May 12 2017, 23:59) *
вопрос как обычно - нафига?

Интересует возможность прототипирования разработки модулей памяти. Конечно, дело до этого не дойдет, я понимаю что мой интерес лишь праздный, а реальные разработки быть может всецело полагаются на сертифицированные мат модели и софтовые симуляторы.
RobFPGA
Приветствую!

Цитата(AVR @ May 14 2017, 22:57) *
Интересует возможность прототипирования разработки модулей памяти. Конечно, дело до этого не дойдет, я понимаю что мой интерес лишь праздный, а реальные разработки быть может всецело полагаются на сертифицированные мат модели и софтовые симуляторы.

Ну тогда - для начала берем спецификацию на какой нибудь DDR3 чип вместе его моделью и ваяем в базисе выбранной FPGA функционал повторяющий этот чип. И смотрим чтобы эта реализация для начала на симе работала вместе с DDR3 контроллером сделанным на этой же FPGA sm.gif Затем - соединив снаружи ей ноги - проверить и в реале в железе. Делов то на месяц-два работы.

Удачи. Rob.

krux
если цель - разработка м/сх чипа памяти - то принципиальных (читай: непреодолимых) проблем не вижу.

в стандартах DDR 2/3/4 вся алгоритмическая сложность отнесена на сторону контроллера, а не памяти. by design.
Wic
Цитата(AVR @ May 15 2017, 02:57) *
Интересует возможность прототипирования разработки модулей памяти.

Судя по модулям памяти, там простейшая схема, а разработка модуля упирается в топологию ПП.
Если же рассматривать использование плисы, как вычислителя, доступного как массив памяти, то сделать в теории реально, самое сложное будет опять же разводка ПП, выравнивание шин и прочее фишки больших скоростей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.