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

Доброго времени суток! Хочу задать такой вот вопрос.

Создав в MIG 3.6.1 ip для ddr2, хочу осуществить запись данных с АЦП посредством ПЛИС в ддр2. Данные поступают с частотой

20 МГц,а запись в ддр2 на 200МГц. Возможно ли это все реализовать и в каком направлении двигаться дальше?

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


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

Возможно ли это все реализовать

Возможно :)

в каком направлении двигаться дальше?

Вы хотя бы вкратце изложите что хотите из всего этого извлечь.

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


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

Дальше нужно организовать FIFO для уравнивания скоростей входящего и исходящего потока.

Внутри ПЛИС собирать несколько отсчетов и писать их пачками в память.

Под конкретную задачу нужно выбирать и тип памяти.

Какая разрядность АЦП, какая ширина cлова у памяти (x4, х8 или х16)?

Например если АЦП 12 бит, а память выбрать x4, то можно будет один отсчет АЦП писать в три ячейки памяти.

Для 14 или 16 бит в четыре. Тогда разница скоростей будет меньше и можно будет делать меньше глубину FIFO и экономить ресурсы ПЛИС.

У нас в платах использовалась память х16 и для АЦП 12 и 14 бит оставшиеся биты забивались нулями. 16М отсчетов хватало с головой, но так было проще вычитывать из памяти данные.

Еще помню, что разработчики цифры доделывали под себя DDR контроллер, потому что сгенерированный просто так не подходил. Но занимался всем этим не я.

 

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


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

С АЦП идут 16 бит, ширина памяти судя по DDR2_SODIMM (d1288TPMFGL25E) 128X8(8 бит),если я конечно не ошибаюсь...

И у меня вопрос. Неужели так необходимо ставить FIFO для контроллера памяти DDR2? ведь я же с помощью MIG делаю ip-ядро, которое в своей структуре уже содержит входные/выходные буферы?

Насколько актуально уравновешивание скоростей входного/выходного потока?

Ведь сначала мы только записываем,а потом считываем инфу.

Используется для проекта кит(MIL-506) с Virtex5

 

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


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

На сколько я знаю, в DDR память информация записывается блоками или страницами, как-то так, между ними идет служебные установки. Если ваш проект, созданные в MIG позволяет приостанавливать запись на 8 тактов из пяти, а потом писать дальше, то можно наверное и не делать FIFO. Или например, создать версию контроллера памяти в которой адрес будет увеличиваться только по готовности данных из АЦП, а 8 раз будет стоять на месте. Опять же таки я контроллер памяти не писал, не могу конкретнее подсказать.

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


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

Используя описание на память Kingston 2G(256M x 64) при создании в MIG 3.6.1(ISE) SDRAM-controller-а, какой вариант выбрать в Memory Part?...

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


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

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

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

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

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

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

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

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

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

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