AlexMad 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба Добрый день. Есть проект, работающий на отладочной плате (Terrasic DE1). Есть изготовленная плата устройства. Отличий не много, но они есть: На отладочнике стоит EP2C20 в bga, на устройстве EP2C8 в tqfp. На отладочнике cтоит SDRAM 64 Mbit, на устройстве 128 Mbit. Вроде бы, изменения не смертельные. Но на устройстве не удается ничего запустить из SDRAM - при запуске через Debug в NIOS IDE ругается на ошибки верификации памяти. Сделал проект с запуском из onchip memory, прогнал тест SDRAM - все в норме, ошибок нет, хотя, если быть честным, у меня есть вопросы к тесту, но это в следующий раз. И вот вопрос - если та SDRAM, что я впаял в устройство (MT48LC8M16A2) слишком быстрая (она на 167 МегаГорцев, а система крутится на 50-ти, сможет ли она там заработать, и если да, то что надо исправить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petr_I 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба Причин может быть масса. От плохого питания до ошибок в дизайне. ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации. В тесте проверьте используется ли при записи/чтении из SDRAM кеш. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба ИМХО в первую очередь надо смотреть разводку и назначение ног, настройку регенерации. В тесте проверьте используется ли при записи/чтении из SDRAM кеш. Ноги все прошлую неделю смотрел и пересматривал, а про регенерацию, как раз мне и хотелось бы понять. Возможно, надо было по другому вопрос формулировать. Это первая моя система на ПЛИС, потому вопросы могут быть и детскими. Повторюсь - есть проект с НИОСом, взятый из рабочего примера. Отладочная плата отличается от устройства не значительно. В проекте QSYS в настройках SDRAM только изменил количество столбцов, строк и банков. Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы. А про кеш в тесте можно поподробнее? Я сейчас тестирую вот таким тестом: http://electronix.ru/forum/index.php?showt...st&p=198587. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petr_I 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба Соответствие названий таймингов в модуле qsys и в даташите на ОЗУ для меня загадка, но, вроде бы, те параметры, которые я смог понять, соответствуют необходимым для работы. Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу. А Warning_и после комптляции анализировали? Могут навести на правильную мысль. Чтобы обойти кеш в ниосе надо поднять старший бит в адресе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба Вероятно придется разбираться. Пользовал только DDR2, потому подсказать конкретно не смогу. А Warning_и после комптляции анализировали? Могут навести на правильную мысль. Чтобы обойти кеш в ниосе надо поднять старший бит в адресе. Варнинги есть, но они теже, что и при компиляции для отладочной платы (неподключенные пины, изменение разрядности с 32 до таргета, переопределение переменной в константу). А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба может поможет. на ксалинксе запуск проекта из ДДР и из он чип разный. Для запуска из ддр надо залить в он чип мемори бутлуп - специальная прожка, которая останавливает работу проца, пока вы заливаете проект в ДДР, иначе ни чег не срастется... Может у вас также... на старките из ДДР запускали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба может поможет. на ксалинксе запуск проекта из ДДР и из он чип разный. Для запуска из ддр надо залить в он чип мемори бутлуп - специальная прожка, которая останавливает работу проца, пока вы заливаете проект в ДДР, иначе ни чег не срастется... Может у вас также... на старките из ДДР запускали? На стартерките стоит такая же SDRAM, только в два раза меньше. Купил бОльшую не от жадности, а потому, что такие были у поставщика. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба ну то есть на стартките вы запускали и все работало. А тест памяти на новой плате проходит? вы пробовали всю память записать счетчиком, и потом ее всю считать. Это гарантия того что никакие кэши не влезли в проверку. Еще у меня была такая фигня, я затактировал память от того же ПЛЛ что и ядро в плисине (где то в мануалах написано что надо от отдельного). У меня все собралось, и все вроде работало, но время от времени падало, чуть температура вырастет и все проект что я пишу в память писал несхождение содержимого и кирдык... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Petr_I 0 27 августа, 2013 Опубликовано 27 августа, 2013 · Жалоба А про старший бит не очень понял. Можно поподробнее? Тем более, что специально сделал НИОС эконом, там нет кеша. Или я не о том? 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 только в обход кеша. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexMad 0 28 августа, 2013 Опубликовано 28 августа, 2013 · Жалоба Всем спасибо, кажется, заработало. Я так и не понял, что именно мешало, но догадываюсь. Изначально проект qsys у меня был взят из какого-то примера. Там для на выходы PLL ставились мосты (Clock bridge). Где-то, в описании примера я читал, что они сильно нужны для счастья. Сомневаться не приходилось, тем более, что на отладочной плате все работало. Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 29 августа, 2013 Опубликовано 29 августа, 2013 · Жалоба Решил их удалить, параллельно еще поковырялся в настройках PLL, (правда все те параметры, которые я сейчас установил и были изначально, просто я по мере поиска проблемы пытался играть смещением фазы на клоке SDRAM). а у вас констрейны на i/o выставлены? отсутствующие/кривые констрейны - частая причина ситуаций типа "то работает, то не работает" при нерелевантных с виду изменениях в проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться