Jump to content

    

Qsys Arria10 EMI DDR3 - битые данные при повторяемом чтение тех же адресов

Arria 10 GX FPGA Development Kit (DevKit Terasic/Intel)

Quartus 17.0.2

Проблемное IP в Qsys - Arria 10 EMI (External memory interfaces) при подключении DDR3 HILO

 

Наблюдаю по факту и в SignalTap (по клоку emif_usr_clk), что если повторять вычитывание 32-битных данных из DDR3-памяти, то может вычитаться неправильное значение из памяти.

Те просто несколько раз вычитываем данные по одним и тем же адресам и видим в SignalTap на выходе контроллера emi|amm_readdata_0[511..0], что некоторые биты а 512-битном слове могут менятся при чтении. (При этом в памяти данные не меняются, наличие/отсутствие ECC никак не сказывается).

 

Это наблюдается и при Memory clock 1066.66МГц и при 533.33 МГц (ref clock 133.33МГц).

Нарушений по таймингам при сборке всего проекта нет.

Для настройки конфигурации контроллера EMI используется preset для DevKit

 

 

Уже перепроверил много вариантов, но так и не смог понять по какой причине Hard-контроллер памяти Arria10 может выдавать частично неправильные данные.

Кто сталкивался?

Share this post


Link to post
Share on other sites

Напишите в этой теме, если кто столкнется с подобным или у кого с DDR3 HiLO платой все работает правильно.

 

Пока нашел такое решение:

Заменил плату HiLO на DDR4, перенастроил IP Arria10 EMI и пины не меняя остальную логику проекта.

В итоге сразу заработал правильно на 1066МГЦ с DDR4.

Мне не принципиален тип внешней памяти и достаточно объема DDR4 на плате HiLO.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this