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

 
 
 
Reply to this topicStart new topic
> Cyclone II и SDRAM
AlexMad
сообщение Aug 27 2013, 08:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Добрый день. Есть проект, работающий на отладочной плате (Terrasic DE1).
Есть изготовленная плата устройства. Отличий не много, но они есть:
На отладочнике стоит EP2C20 в bga, на устройстве EP2C8 в tqfp.
На отладочнике cтоит SDRAM 64 Mbit, на устройстве 128 Mbit.
Вроде бы, изменения не смертельные.
Но на устройстве не удается ничего запустить из SDRAM - при запуске через Debug в NIOS IDE ругается на ошибки верификации памяти.
Сделал проект с запуском из onchip memory, прогнал тест SDRAM - все в норме, ошибок нет, хотя, если быть честным, у меня есть вопросы к тесту, но это в следующий раз.
И вот вопрос - если та SDRAM, что я впаял в устройство (MT48LC8M16A2) слишком быстрая (она на 167 МегаГорцев, а система крутится на 50-ти, сможет ли она там заработать, и если да, то что надо исправить?
Go to the top of the page
 
+Quote Post
Petr_I
сообщение Aug 27 2013, 09:04
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 129
Регистрация: 28-09-10
Из: Москва
Пользователь №: 59 793



Причин может быть масса.
От плохого питания до ошибок в дизайне.
ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации.
В тесте проверьте используется ли при записи/чтении из SDRAM кеш.
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Aug 27 2013, 09:48
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(Petr_I @ Aug 27 2013, 13:04) *
ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации.
В тесте проверьте используется ли при записи/чтении из SDRAM кеш.


Ноги все прошлую неделю смотрел и пересматривал, а про регенерацию, как раз мне и хотелось бы понять. Возможно, надо было по другому вопрос формулировать.
Это первая моя система на ПЛИС, потому вопросы могут быть и детскими.
Повторюсь - есть проект с НИОСом, взятый из рабочего примера. Отладочная плата отличается от устройства не значительно. В проекте QSYS в настройках SDRAM только изменил количество столбцов, строк и банков.
Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы.
А про кеш в тесте можно поподробнее?
Я сейчас тестирую вот таким тестом: http://electronix.ru/forum/index.php?showt...st&p=198587.
Go to the top of the page
 
+Quote Post
Petr_I
сообщение Aug 27 2013, 10:07
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 129
Регистрация: 28-09-10
Из: Москва
Пользователь №: 59 793



Цитата(AlexMad @ Aug 27 2013, 13:48) *
Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы.

Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу.
А Warning_и после комптляции анализировали? Могут навести на правильную мысль.

Чтобы обойти кеш в ниосе надо поднять старший бит в адресе.
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Aug 27 2013, 10:35
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(Petr_I @ Aug 27 2013, 14:07) *
Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу.
А Warning_и после комптляции анализировали? Могут навести на правильную мысль.

Чтобы обойти кеш в ниосе надо поднять старший бит в адресе.


Варнинги есть, но они теже, что и при компиляции для отладочной платы (неподключенные пины, изменение разрядности с 32 до таргета, переопределение переменной в константу).
А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 27 2013, 10:51
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



может поможет.

на ксалинксе запуск проекта из ДДР и из он чип разный. Для запуска из ддр надо залить в он чип мемори бутлуп - специальная прожка, которая останавливает работу проца, пока вы заливаете проект в ДДР, иначе ни чег не срастется... Может у вас также... на старките из ДДР запускали?
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Aug 27 2013, 11:09
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Цитата(Golikov A. @ Aug 27 2013, 14:51) *
может поможет.

на ксалинксе запуск проекта из ДДР и из он чип разный. Для запуска из ддр надо залить в он чип мемори бутлуп - специальная прожка, которая останавливает работу проца, пока вы заливаете проект в ДДР, иначе ни чег не срастется... Может у вас также... на старките из ДДР запускали?


На стартерките стоит такая же SDRAM, только в два раза меньше. Купил бОльшую не от жадности, а потому, что такие были у поставщика.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 27 2013, 12:03
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну то есть на стартките вы запускали и все работало.

А тест памяти на новой плате проходит? вы пробовали всю память записать счетчиком, и потом ее всю считать. Это гарантия того что никакие кэши не влезли в проверку.

Еще у меня была такая фигня, я затактировал память от того же ПЛЛ что и ядро в плисине (где то в мануалах написано что надо от отдельного). У меня все собралось, и все вроде работало, но время от времени падало, чуть температура вырастет и все проект что я пишу в память писал несхождение содержимого и кирдык...
Go to the top of the page
 
+Quote Post
Petr_I
сообщение Aug 27 2013, 12:19
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 129
Регистрация: 28-09-10
Из: Москва
Пользователь №: 59 793



Цитата(AlexMad @ Aug 27 2013, 14:35) *
А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том?


n2cpu_nii51002.pdf
стр.2-13
"The Bit-31 Cache Bypass Method
The bit-31 cache bypass method on the data master port uses bit 31 of the address as a tag that indicates whether the processor should transfer data to/from cache, or bypass it. ...."

Адрес 0х80000000 = 0х00000000 только в обход кеша.
Go to the top of the page
 
+Quote Post
AlexMad
сообщение Aug 28 2013, 10:12
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 262
Регистрация: 18-02-05
Из: SPb
Пользователь №: 2 743



Всем спасибо, кажется, заработало.
Я так и не понял, что именно мешало, но догадываюсь.
Изначально проект qsys у меня был взят из какого-то примера. Там для на выходы PLL ставились мосты (Clock bridge). Где-то, в описании примера я читал, что они сильно нужны для счастья. Сомневаться не приходилось, тем более, что на отладочной плате все работало.
Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM).
Go to the top of the page
 
+Quote Post
vadimuzzz
сообщение Aug 29 2013, 04:59
Сообщение #11


Гуру
******

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



Цитата(AlexMad @ Aug 28 2013, 17:12) *
Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM).

а у вас констрейны на i/o выставлены? отсутствующие/кривые констрейны - частая причина ситуаций типа "то работает, то не работает" при нерелевантных с виду изменениях в проекте.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 11th August 2025 - 12:20
Рейтинг@Mail.ru


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