Jump to content

    

Recommended Posts

Добрый день. Есть проект, работающий на отладочной плате (Terrasic DE1).

Есть изготовленная плата устройства. Отличий не много, но они есть:

На отладочнике стоит EP2C20 в bga, на устройстве EP2C8 в tqfp.

На отладочнике cтоит SDRAM 64 Mbit, на устройстве 128 Mbit.

Вроде бы, изменения не смертельные.

Но на устройстве не удается ничего запустить из SDRAM - при запуске через Debug в NIOS IDE ругается на ошибки верификации памяти.

Сделал проект с запуском из onchip memory, прогнал тест SDRAM - все в норме, ошибок нет, хотя, если быть честным, у меня есть вопросы к тесту, но это в следующий раз.

И вот вопрос - если та SDRAM, что я впаял в устройство (MT48LC8M16A2) слишком быстрая (она на 167 МегаГорцев, а система крутится на 50-ти, сможет ли она там заработать, и если да, то что надо исправить?

Share this post


Link to post
Share on other sites

Причин может быть масса.

От плохого питания до ошибок в дизайне.

ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации.

В тесте проверьте используется ли при записи/чтении из SDRAM кеш.

Share this post


Link to post
Share on other sites
ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации.

В тесте проверьте используется ли при записи/чтении из SDRAM кеш.

 

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

Это первая моя система на ПЛИС, потому вопросы могут быть и детскими.

Повторюсь - есть проект с НИОСом, взятый из рабочего примера. Отладочная плата отличается от устройства не значительно. В проекте QSYS в настройках SDRAM только изменил количество столбцов, строк и банков.

Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы.

А про кеш в тесте можно поподробнее?

Я сейчас тестирую вот таким тестом: http://electronix.ru/forum/index.php?showt...st&p=198587.

Share this post


Link to post
Share on other sites
Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы.

Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу.

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

 

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

Share this post


Link to post
Share on other sites
Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу.

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

 

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

 

Варнинги есть, но они теже, что и при компиляции для отладочной платы (неподключенные пины, изменение разрядности с 32 до таргета, переопределение переменной в константу).

А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том?

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites
может поможет.

 

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

 

На стартерките стоит такая же SDRAM, только в два раза меньше. Купил бОльшую не от жадности, а потому, что такие были у поставщика.

Share this post


Link to post
Share on other sites

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

 

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

 

Еще у меня была такая фигня, я затактировал память от того же ПЛЛ что и ядро в плисине (где то в мануалах написано что надо от отдельного). У меня все собралось, и все вроде работало, но время от времени падало, чуть температура вырастет и все проект что я пишу в память писал несхождение содержимого и кирдык...

Share this post


Link to post
Share on other sites
А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том?

 

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 только в обход кеша.

Share this post


Link to post
Share on other sites

Всем спасибо, кажется, заработало.

Я так и не понял, что именно мешало, но догадываюсь.

Изначально проект qsys у меня был взят из какого-то примера. Там для на выходы PLL ставились мосты (Clock bridge). Где-то, в описании примера я читал, что они сильно нужны для счастья. Сомневаться не приходилось, тем более, что на отладочной плате все работало.

Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM).

Share this post


Link to post
Share on other sites
Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM).

а у вас констрейны на i/o выставлены? отсутствующие/кривые констрейны - частая причина ситуаций типа "то работает, то не работает" при нерелевантных с виду изменениях в проекте.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this