реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Nios II + DDR2. Помогите разобраться
rainzz
сообщение Dec 21 2011, 06:53
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Здравствуйте! Пытаюсь заставить работать простейшую систему с альтеровским 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-м квартусе.

Подскажите пожалуйста, что я делаю не так и в каком направлении копать.

Прикрепленное изображение

Прикрепленное изображение
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
gosu-art
сообщение Dec 21 2011, 07:31
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 555
Регистрация: 14-10-09
Пользователь №: 52 939



Прога выполняется из Он чип памяти?
Посмотрите чтобы в настройках линкера нигде не фигурировала ДДР.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 21 2011, 07:53
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Да, все секции линкера установлены на SRAM onchip-memory.
Go to the top of the page
 
+Quote Post
alexadmin
сообщение Dec 21 2011, 08:08
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 572
Регистрация: 17-11-05
Из: СПб, Россия
Пользователь №: 10 965



Цитата(rainzz @ Dec 21 2011, 11:53) *
Да, все секции линкера установлены на SRAM onchip-memory.


Значит какие-то проблемы с памятью и транзакция подвисает при обращении к контроллеру DDR. Для начала проверьте, все ли сигналы подключены правильно.
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 21 2011, 09:30
Сообщение #5





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Ну, если в доке на плату выводы расписаны корректно, то сигналы должны быть подключены правильно, перепроверял несколько раз.
Может быть дело в констрейнах? Но они вроде генерируются автоматически...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 21 2011, 09:35
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(rainzz @ Dec 21 2011, 16:30) *
Может быть дело в констрейнах? Но они вроде генерируются автоматически...

отчет таймквеста в студию. и что в логах на предмет Critical warnings?
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 21 2011, 10:36
Сообщение #7





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Есть несколько 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


А из таймквеста какой отчёт? Там их несколько...
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 22 2011, 01:28
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



Цитата(rainzz @ Dec 21 2011, 17:36) *
А из таймквеста какой отчёт? Там их несколько...

все выкладывайте
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 22 2011, 06:24
Сообщение #9





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Вот отчёты таймквеста и сам проект
Прикрепленный файл  rpt.rar ( 164.07 килобайт ) Кол-во скачиваний: 88
Прикрепленный файл  ddr2system.rar ( 48.12 килобайт ) Кол-во скачиваний: 100
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 23 2011, 01:11
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



так, в таймквесте ошибок не видать. возможно, проблема в распиновке, но по выложенному проекту этого не понять.
использовать только 1 чип памяти - критично? у меня есть несколько примеров для этой борды, но там вся память используется. выложить?
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 23 2011, 05:58
Сообщение #11





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Конечно выкладывайте! Разрядность памяти пока не важна, главное чтобы заработало )
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 23 2011, 06:52
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



вот пример проекта. еще есть на alterawiki.com, я вроде там брал
Прикрепленные файлы
Прикрепленный файл  niosii_ethernet_standard_3c120_rgmii.7z ( 2.37 мегабайт ) Кол-во скачиваний: 33
 
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 23 2011, 07:47
Сообщение #13





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Спасибо. А вы его у себя не проверяли, проект рабочий?
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Dec 24 2011, 02:31
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988



не уверен насчет именно этой версии, но д.б. рабочий. проверить не смогу, платы нет.
Go to the top of the page
 
+Quote Post
rainzz
сообщение Dec 27 2011, 07:12
Сообщение #15





Группа: Участник
Сообщений: 11
Регистрация: 13-10-06
Пользователь №: 21 274



Система заработала. Проблема скрывалась всё-таки в эссайнах пинов. Смешал сигналы управления и данных от разных групп микросхем памяти на отладочной плате. Нужно быть внимательней... blink.gif
Благодарю всех кто отписывался в теме!
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016