exigo 0 8 июня, 2015 Опубликовано 8 июня, 2015 · Жалоба Добрый день, нужно подключить ddr3 память MT41K256M8-125 к kintex 7. Проект в ISE. Создал файлы в MIG. Не пойму как подключить сгенерированные файлы, какие-то они грамоздкие. Просто для начала инициализацию хотябы В проекте один топ файл, где фифо, юсб3. Подскажите какие файлы нужно подключить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exigo 0 15 июня, 2015 Опубликовано 15 июня, 2015 · Жалоба поделитесь, пожалуйста, ссылками по использование MIG в ISE. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 15 июня, 2015 Опубликовано 15 июня, 2015 (изменено) · Жалоба Вся документация на сайте 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 Изменено 15 июня, 2015 пользователем Алга Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladec 7 16 июня, 2015 Опубликовано 16 июня, 2015 · Жалоба Для седьмой сарии лучше использовать не ISE, а Vivado, а там можно попробовать собрать блочный дизайн. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 16 июня, 2015 Опубликовано 16 июня, 2015 · Жалоба Добрый день, нужно подключить ddr3 память MT41K256M8-125 к kintex 7. Проект в ISE. Создал файлы в MIG. Не пойму как подключить сгенерированные файлы, какие-то они грамоздкие. Просто для начала инициализацию хотябы В проекте один топ файл, где фифо, юсб3. Подскажите какие файлы нужно подключить. Там в папке МИГа example design лежит - вот можно с него начать. Поставьте его как топ-левел. Он память инициализирует и зажигает флаг об окончании инициализации. Потом начинает писать-читать туда-сюда. Если какая ошибка случается - то зажигает флаг Error. Флаги вывести на светодиоды и посмотреть как оно работает, пальцем или пинцетом помехи посоздавать. Обычно приходится повозиться с клоками. В МИГе расчитатано, что приходит два клока: один 200МГц для IOdelay, другой 400 МГц - частота памяти. В реальности зачастую клок один и другой частоты, например, 100МГц - вот и приходится залезать во внутренности файлов МИГа и править их вручную. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Amurak 0 17 июня, 2015 Опубликовано 17 июня, 2015 · Жалоба Обычно приходится повозиться с клоками. В МИГе расчитатано, что приходит два клока: один 200МГц для IOdelay, другой 400 МГц - частота памяти. В реальности зачастую клок один и другой частоты, например, 100МГц - вот и приходится залезать во внутренности файлов МИГа и править их вручную. Другой клок можно варьировать в определенных пределах при создании корки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exigo 0 17 июня, 2015 Опубликовано 17 июня, 2015 · Жалоба Скажите пожалуйста, чтобы пример завести, в настройках корки, что выбирать при настройках клока input clock period, system clock, ref clock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 24 июня, 2015 Опубликовано 24 июня, 2015 · Жалоба Приветствую. Есть плата 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? У контроллера памяти нет таких портов, или должна быть какая-то дополнительная опция? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 25 июня, 2015 Опубликовано 25 июня, 2015 · Жалоба Зачем нужны указанные выше сигналы так и не понял, пока всё работает без них. Собрал систему приведённую на рисунке ниже. MicroBlaze пишет/читает по адресам DDR3. Через указатель на DDR3 (окно Variables) также могу записывать в память. А вот окно Memory почему-то не работает. На чтение показывает все нули, при попытке записи по адресу DDR3 выбрасывает ошибку. MDM вроде как должен иметь доступ к DDR3 (согласно схеме подключения и карте памяти). В чём может быть проблема? Возможно ли редактировать/просматривать внешнюю (DDR3) память через окно Memory? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 25 июня, 2015 Опубликовано 25 июня, 2015 · Жалоба На слот памяти (согласно схеме платы) подключены линии: 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, данные сигналы используются в модулях с двухрядным расположением микросхем памяти (в моём случае они не используются, т.к. модуль - однорядный). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
doom13 0 27 июня, 2015 Опубликовано 27 июня, 2015 · Жалоба В чём может быть проблема? Возможно ли редактировать/просматривать внешнюю (DDR3) память через окно Memory? После правильной настройки DDR3-контроллера всё заработало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exigo 0 13 января, 2016 Опубликовано 13 января, 2016 · Жалоба Добрый день делаю циклический буфер в ддр3 пишу в память 1 транзакцию в цикле пока адрес записи не убежит к примеру на 4 адреса, потом считываю 4 адреса. проблема, что при чтение не всегда приходит 4 valid сигнала, а иногда на 1 меньше. и еще заметил сдвиг данных по адресам, пишу в один адрес а эти данные (тест счетчик) считываются по другому позже, с фиксированным сдвигом по адресу. В целом буфер работает, но иногда происходят разрывы. плис kintex 7, dd3 Может в чтение или записи проблема. Смотрю временные диаграмы разные в интернете. при записи app_wdf_wren<='1';app_wdf_end<='1'; в одно время дергаю, а при чтение считываю по app_rd_data_valid='1' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirB 1 13 января, 2016 Опубликовано 13 января, 2016 · Жалоба Добрый день делаю циклический буфер в ддр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, то адреса перемешиваются перед записью/чтением в память, она начинает тормозить и валиды приходят с паузами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exigo 0 14 января, 2016 Опубликовано 14 января, 2016 · Жалоба Для пробы делаю сейчас так, записываю 64 раза начиная с адреса 16, и инкрементирую +16 каждый раз адрес (16,32,64) Потом в бесконечном цикле считываю эти 64 адреса. В качестве данных записываю адрес В результат в чипскопе данные непрырывно начиная с 16, начинаются только с адреса 64, т.е. сдвиг 3 адреса. Пробовал первые три адреса перезаписывать несколько раз, всеравно данные оказываются только в дресах сдвинутых на 3. Может с адресацией что-то не так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exigo 0 19 января, 2016 Опубликовано 19 января, 2016 · Жалоба Скиньте, пожалуйста, кто-нибуть файл к которому подключен МИГ и есть автомат чтения-записи, проверю конфигурацию и сигналы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться