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

Добрый день, нужно подключить ddr3 память MT41K256M8-125 к kintex 7.

Проект в ISE. Создал файлы в MIG.

Не пойму как подключить сгенерированные файлы, какие-то они грамоздкие.

Просто для начала инициализацию хотябы

В проекте один топ файл, где фифо, юсб3.

Подскажите какие файлы нужно подключить.

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


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

Вся документация на сайте Xilinx, ее много,

в тч использование МIG для ISE и для Vivado описано в разных версиях

 

http://www.xilinx.com/support/documentatio...7Series_MIS.pdf

 

http://www.xilinx.com/support/documentatio...xtp105-14.4.pdf

 

Дополнительно как пример для Virtex-6

 

https://www.wpi.edu/Pubs/E-project/Availabl...DDR3_Memory.pdf

Изменено пользователем Алга

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


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

Для седьмой сарии лучше использовать не ISE, а Vivado, а там можно попробовать собрать блочный дизайн.

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


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

Добрый день, нужно подключить ddr3 память MT41K256M8-125 к kintex 7.

Проект в ISE. Создал файлы в MIG.

Не пойму как подключить сгенерированные файлы, какие-то они грамоздкие.

Просто для начала инициализацию хотябы

В проекте один топ файл, где фифо, юсб3.

Подскажите какие файлы нужно подключить.

Там в папке МИГа example design лежит - вот можно с него начать.

Поставьте его как топ-левел. Он память инициализирует и зажигает флаг об окончании инициализации.

Потом начинает писать-читать туда-сюда. Если какая ошибка случается - то зажигает флаг Error.

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

 

Обычно приходится повозиться с клоками. В МИГе расчитатано, что приходит два клока: один 200МГц для IOdelay, другой 400 МГц - частота памяти.

В реальности зачастую клок один и другой частоты, например, 100МГц - вот и приходится залезать во внутренности файлов МИГа и править их вручную.

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


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

Обычно приходится повозиться с клоками. В МИГе расчитатано, что приходит два клока: один 200МГц для IOdelay, другой 400 МГц - частота памяти.

В реальности зачастую клок один и другой частоты, например, 100МГц - вот и приходится залезать во внутренности файлов МИГа и править их вручную.

Другой клок можно варьировать в определенных пределах при создании корки.

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


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

Скажите пожалуйста, чтобы пример завести, в настройках корки, что выбирать при настройках клока input clock period, system clock, ref clock

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


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

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

Есть плата HTG-V7-PCIE-G3. Установлена планка 1GB 204-PIN SODIMM DDR3 (Crucial CT12864BF1339.M4FKD). Добавил в IP интегратор DDR3 контроллер, сгенерил систему.

Получил следующие порты:

output [13:0]ddr3_addr;

output [2:0]ddr3_ba;

output ddr3_cas_n;

output [0:0]ddr3_ck_n;

output [0:0]ddr3_ck_p;

output [0:0]ddr3_cke;

output [0:0]ddr3_cs_n;

output [7:0]ddr3_dm;

inout [63:0]ddr3_dq;

inout [7:0]ddr3_dqs_n;

inout [7:0]ddr3_dqs_p;

output [0:0]ddr3_odt;

output ddr3_ras_n;

input ddr3_ref_clk_clk_n;

input ddr3_ref_clk_clk_p;

input ddr3_reset;

output ddr3_reset_n;

input ddr3_sys_clk_clk_n;

input ddr3_sys_clk_clk_p;

output ddr3_we_n;

output init_calib_complete;

На схеме платы шина адреса для слота памяти имеет разрядность 16 бит - в полученной системе 14. Где брать ещё две линии?

На слот памяти (согласно схеме платы) подключены линии:

1) DDR3_CK0_P, DDR3_CK0_N и DDR3_CK1_P, DDR3_CK1_N;

2) DDR3_CKE0 и DDR3_CKE1;

3) DDR3_CS0_N и DDR3_CS1_N;

4) DDR3_ODT0 и DDR3_ODT1.

Что подключается к портам DDR3_CK1_P и DDR3_CK1_N, DDR3_CKE1, DDR3_CS1_N, DDR3_ODT1? У контроллера памяти нет таких портов, или должна быть какая-то дополнительная опция?

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


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

Зачем нужны указанные выше сигналы так и не понял, пока всё работает без них.

 

Собрал систему приведённую на рисунке ниже. MicroBlaze пишет/читает по адресам DDR3. Через указатель на DDR3 (окно Variables) также могу записывать в память. А вот окно Memory почему-то не работает. На чтение показывает все нули, при попытке записи по адресу DDR3 выбрасывает ошибку. MDM вроде как должен иметь доступ к DDR3 (согласно схеме подключения и карте памяти).

В чём может быть проблема? Возможно ли редактировать/просматривать внешнюю (DDR3) память через окно Memory?

post-63539-1435215442_thumb.jpg

post-63539-1435215447_thumb.jpg

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


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

На слот памяти (согласно схеме платы) подключены линии:

1) DDR3_CK0_P, DDR3_CK0_N и DDR3_CK1_P, DDR3_CK1_N;

2) DDR3_CKE0 и DDR3_CKE1;

3) DDR3_CS0_N и DDR3_CS1_N;

4) DDR3_ODT0 и DDR3_ODT1.

Что подключается к портам DDR3_CK1_P и DDR3_CK1_N, DDR3_CKE1, DDR3_CS1_N, DDR3_ODT1? У контроллера памяти нет таких портов, или должна быть какая-то дополнительная опция?

 

Нашёл стандарт для SO-DIMM 204, данные сигналы используются в модулях с двухрядным расположением микросхем памяти (в моём случае они не используются, т.к. модуль - однорядный).

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


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

В чём может быть проблема? Возможно ли редактировать/просматривать внешнюю (DDR3) память через окно Memory?

После правильной настройки DDR3-контроллера всё заработало.

 

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


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

Добрый день

делаю циклический буфер в ддр3

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

проблема, что при чтение не всегда приходит 4 valid сигнала, а иногда на 1 меньше.

и еще заметил сдвиг данных по адресам, пишу в один адрес а эти данные (тест счетчик) считываются по другому позже, с фиксированным сдвигом по адресу.

В целом буфер работает, но иногда происходят разрывы.

плис kintex 7, dd3

Может в чтение или записи проблема.

Смотрю временные диаграмы разные в интернете.

при записи app_wdf_wren<='1';app_wdf_end<='1'; в одно время дергаю, а при чтение считываю по app_rd_data_valid='1'

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


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

Добрый день

делаю циклический буфер в ддр3

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

проблема, что при чтение не всегда приходит 4 valid сигнала, а иногда на 1 меньше.

и еще заметил сдвиг данных по адресам, пишу в один адрес а эти данные (тест счетчик) считываются по другому позже, с фиксированным сдвигом по адресу.

В целом буфер работает, но иногда происходят разрывы.

плис kintex 7, dd3

Может в чтение или записи проблема.

Смотрю временные диаграмы разные в интернете.

при записи app_wdf_wren<='1';app_wdf_end<='1'; в одно время дергаю, а при чтение считываю по app_rd_data_valid='1'

Если у вас версия MIG v1.9 (ISE 14.7, а может и более ранние)

то там есть косяк: http://www.xilinx.com/support/answers/56276.html.

В этой версии, если оставить дефолтный параметр MEM_ADDR_ORDER=TG_TEST, то адреса перемешиваются перед записью/чтением в память, она начинает тормозить и валиды приходят с паузами.

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


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

Для пробы делаю сейчас так, записываю 64 раза начиная с адреса 16, и инкрементирую +16 каждый раз адрес (16,32,64)

Потом в бесконечном цикле считываю эти 64 адреса.

В качестве данных записываю адрес

В результат в чипскопе данные непрырывно начиная с 16, начинаются только с адреса 64, т.е. сдвиг 3 адреса.

Пробовал первые три адреса перезаписывать несколько раз, всеравно данные оказываются только в дресах сдвинутых на 3.

Может с адресацией что-то не так?

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


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

Скиньте, пожалуйста, кто-нибуть файл к которому подключен МИГ и есть автомат чтения-записи, проверю конфигурацию и сигналы.

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


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

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

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

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

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

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

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

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

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

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