Полная версия этой страницы:
Microblaze + spartan 6 + DDR
Golikov A.
Apr 29 2013, 11:02
Всем привет! На спартане 6 сделал микроблайз, И 2 банка ДДР3 по 128 мегобайт.
Программа с ЛвИП и во внутренний 64 кбайта не влезла, запускаю из ДДР, выделил в одном банке хвост банка под программу и данные. Для того чтобы все здорово крутилось включаю кэш инструкций и данных.
Заметил такую странность
кеш данных 64 кбайта не жалуется.
кеш инструкций если ставлю кешируемым адресным пространством 1 банк ДДР и 32 кбайта кеш. Работает, Если ставлю 64 кайта, или 2 банка ДДР в кешируемое пространство, то не работает прогармма. Либо перезапускается, либо повисает на включении кеша инструкций. Если кэш инструкций вырубить, все работает...
Я что-то не нашел в описаниях что надо выбирать размер кэша от размера банка и так далее... кто -то с чем то подобным сталкивался? в чем может быть затык? Означает ли такое поведение кэша инструкци, что и кэш данных может давать сбои? И есть ли смысл выбирать кэшируемое чем меньше тем лучше, эли это не влияет на производительность, и жрет только ресурсы?
П.С. Правильно я понимаю что если программа из ДДР работает то на внутреннюю память программ достаточно минимум 16 КБайт, там же только загрузчик будет?
Golikov A.
Apr 29 2013, 12:43
2 банка, и кеши по 32 байта заработали, что-то перегрелось, то ли плиска толи память... Положил пакетик со льдом и начало работать, убрал и через некоторое время опять рессеты... Думаю перегрелась плисина, вряд ли из-за памяти она бы рессетилась....
2 банка и 64 кэш так и не стартует... вот какого блин?!
Golikov A.
Apr 29 2013, 17:31
Приделал охлаждение из радиатора и вентилятора, без него плисина достигала угрожающих 63-69 градусов, с ним стоит на 40, но проблем не ушли, а даже усугубились.
Без кеша инструкций работает как часы, с кешем, рушиться, ресетиться, виснет... ЧТО я сделал не так?!...
ведь куча народу использует кеш инструкций на микроблейзе и спартане 6..., кошмар какой то...
aaarrr
Apr 29 2013, 17:54
Цитата(Golikov A. @ Apr 29 2013, 21:31)

Без кеша инструкций работает как часы, с кешем, рушиться, ресетиться, виснет... ЧТО я сделал не так?!...
Так, из общих соображений: включение кэш резко увеличивает нагрузку на интерфейс памяти. При проблемах с целостностью сигналов описываемое поведение достаточно типично.
Golikov A.
Apr 29 2013, 18:26

делать то чего?!
При проблемах с целостностью сигналов описываемое поведение достаточно типично.
что проверить? это констрейны или что?
тесты памяти проходят нормально, как бороться? Я реально в тупике... такое чувство что есть где то кнопочка, включить чтобы все было хорошо, но где?!
Golikov A.
Apr 30 2013, 07:20
После долгой пляски с охлаждением перегенерением и прочего. Дошел вот до чего, включил опцию slice регистров на шине кеша и памяти, получил варнинг что типа это не оптимально по ресурсам и предложение сделать LIGHT_WEIGHT, решил не слушать, синтезировал ядро. Синтез дольше раз в 5 стал, но на выходе прекрасно работающее ядро с 32КБайт кеша данных и инструкций, с 8 линиями вик кеша и прочее..
Делаю тесты, пока похоже что проблема была в этом.
Golikov A.
Apr 30 2013, 17:15
32 КБайта кеш работает исправно, 64 КБайта кэш так и не запустился. Не то чтобы мне очень нужно 64, просто не понятно почему. Есть мнение что чем больше кэш тем больше брамов на него идет, тем больше потребление и нагрев, и возможно тем меньше максимальная частота работы. Шины и проц работают на частоте 100 МГц, снижать их не стал, возможно для 6 спартана и такого кеша многовато.
У кого есть опыт?
П.С. Надо ли мне куда вставлять еще регистры? На контроллер МАК например или еще куда?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.