День добрый
Имеется плата от Xilinx – VC709. На борту 7ой Виртекс к которому подключены две планки DD3 по 4Гб каждая.
Также имеется проект самотестирования платы - так называемый BIST (XTP232) - (проверка платы – что загораются светодиодики, нажимаются кнопочки и пр) – выложен на сайте Xilinx: (https://www.xilinx.com/products/boards-and-kits/dk-v7-vc709-g.html#documentation)
Так как планки памяти две, то в block design есть двухканальный mig7:
Так вот при тестировании канала C1 тесты успешно проходят:
, при тестировании канала C0 тесты не проходят:
При этом я просто заливаю немодифицированный bitelf из архива с проектом.
Если же скомпилировать проект под vivado 2018.3 то канал C1 также проходит, а канал C0 не проходит, но немного по другому (меняются адреса ошибок)
Код проверки каналов для MicroBlaze идентичен для обоих каналов :
выполняется вызов функций hello_mem_c0() или hello_mem_c1()
Для канала C0:
для канала C1:
Планки памяти менял местами – результат не меняется (в канале C0 ошибки).
Конечно очень подозрительно что немодифицированный bitelf тестирует с ошибками - наводит на подозрения о неисправности...
Ранее с памятью DDR не работал, но возможно кто-нибудь сталкивался с чем то подобным, куда копать подскажите пожалуйста