rainzz 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Здравствуйте! Пытаюсь заставить работать простейшую систему с альтеровским DDR2-контроллером. Плата Cyclone III FPGA Development Kit, Quartus II 10.1. Использую одну микросхему DDR2 из группы на плате. Все настройки контроллера видны на картинках. При попытке как записи так и чтения DDR2 через memory-mapped интерфейс программа зависает. Например printf("Write\n"); IOWR(ALTMEMDDR_BASE,0x0000000A,0x11223344); printf("Reading data\n"); j = IORD(ALTMEMDDR_BASE,0x0000000A); printf("Data0A: %08x\n" ,j); - выводится в терминал только "Write" Ситуация повторяется в 11-м квартусе. Подскажите пожалуйста, что я делаю не так и в каком направлении копать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gosu-art 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Прога выполняется из Он чип памяти? Посмотрите чтобы в настройках линкера нигде не фигурировала ДДР. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Да, все секции линкера установлены на SRAM onchip-memory. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexadmin 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Да, все секции линкера установлены на SRAM onchip-memory. Значит какие-то проблемы с памятью и транзакция подвисает при обращении к контроллеру DDR. Для начала проверьте, все ли сигналы подключены правильно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Ну, если в доке на плату выводы расписаны корректно, то сигналы должны быть подключены правильно, перепроверял несколько раз. Может быть дело в констрейнах? Но они вроде генерируются автоматически... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Может быть дело в констрейнах? Но они вроде генерируются автоматически... отчет таймквеста в студию. и что в логах на предмет Critical warnings? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 21 декабря, 2011 Опубликовано 21 декабря, 2011 · Жалоба Есть несколько Critical warnings: Critical Warning: ALTMEMPHY PLL, adcsystem:inst|altmemddr:the_altmemddr|altmemddr_controller_phy:altmemddr_controller_phy_inst|altmemddr_phy:altmemddr_phy_inst|altmemddr_phy_alt_mem_phy:altmemddr_phy_alt_mem_phy_inst|altmemddr_phy_alt_mem_phy_clk_reset:clk|altmemddr_phy_alt_mem_phy_pll:pll|altpll:altpll_component|altpll_n5k3:auto_generated|clk[1], when fed by another PLL, must have bandwidth mode set to High instead of Medium Critical Warning: ALTMEMPHY PLL, adcsystem:inst|altmemddr:the_altmemddr|altmemddr_controller_phy:altmemddr_controller_phy_inst|altmemddr_phy:altmemddr_phy_inst|altmemddr_phy_alt_mem_phy:altmemddr_phy_alt_mem_phy_inst|altmemddr_phy_alt_mem_phy_clk_reset:clk|altmemddr_phy_alt_mem_phy_pll:pll|altpll:altpll_component|altpll_n5k3:auto_generated|clk[2], when fed by another PLL, must have bandwidth mode set to High instead of Medium Critical Warning: PLL clock inst|the_altmemddr|altmemddr_controller_phy_inst|altmemddr_phy_inst|altmemddr_ph y_alt_mem_phy_inst|clk|pll|altpll_component|auto_generated|pll1|clk[1] not driven by a dedicated clock pin or neighboring PLL source. To ensure minimum jitter on memory interface clock outputs, the PLL clock source should be a dedicated PLL input clock pin or an output of the neighboring PLL. Critical Warning: PLL clock inst|the_altmemddr|altmemddr_controller_phy_inst|altmemddr_phy_inst|altmemddr_ph y_alt_mem_phy_inst|clk|pll|altpll_component|auto_generated|pll1|clk[3] not driven by a dedicated clock pin or neighboring PLL source. To ensure minimum jitter on memory interface clock outputs, the PLL clock source should be a dedicated PLL input clock pin or an output of the neighboring PLL. Critical Warning: Read Capture and Write timing analyses may not be valid due to violated timing model assumptions А из таймквеста какой отчёт? Там их несколько... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба А из таймквеста какой отчёт? Там их несколько... все выкладывайте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 22 декабря, 2011 Опубликовано 22 декабря, 2011 · Жалоба Вот отчёты таймквеста и сам проект rpt.rarddr2system.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба так, в таймквесте ошибок не видать. возможно, проблема в распиновке, но по выложенному проекту этого не понять. использовать только 1 чип памяти - критично? у меня есть несколько примеров для этой борды, но там вся память используется. выложить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Конечно выкладывайте! Разрядность памяти пока не важна, главное чтобы заработало ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба вот пример проекта. еще есть на alterawiki.com, я вроде там брал niosii_ethernet_standard_3c120_rgmii.7z Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 23 декабря, 2011 Опубликовано 23 декабря, 2011 · Жалоба Спасибо. А вы его у себя не проверяли, проект рабочий? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 24 декабря, 2011 Опубликовано 24 декабря, 2011 · Жалоба не уверен насчет именно этой версии, но д.б. рабочий. проверить не смогу, платы нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rainzz 0 27 декабря, 2011 Опубликовано 27 декабря, 2011 · Жалоба Система заработала. Проблема скрывалась всё-таки в эссайнах пинов. Смешал сигналы управления и данных от разных групп микросхем памяти на отладочной плате. Нужно быть внимательней... :blink: Благодарю всех кто отписывался в теме! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться