Цитата(billidean @ Feb 17 2012, 10:55)

Здравствуйте.
Имеется проект под StratixIV на Q9.1, который качает данные в DDR3 и из нее.
Используется HPC II.
Все работает отлично.
Далее, взял этот проект и вставил его как компонент в другой проект, который создан в Q11.1.
Здесь-то и началось все веселье.
Сначала Квартус потребовал перегенерить ядро HPC II, ладно сделал, проект вроде скомпилился.
Заливаю в кристалл, обмена с DDR-кой нет.
Смотрю на SignalTap'е, сигнал local_ready='0' с самого начала, т.е. он даже не был в '1'.
Перекомпилил проект, залил, обмен есть, но поведение сигнала local_ready мне не нравится, при записи данных в DDR-ку он иногда падает в '0'.
Такого поведения от него я не видел при отладке начального проекта в Q9.1, там этот сигнал падал в '0' только при вычитывании большого объема данных из DDR-ки, когда буфер контроллера HPC II заполнялся.
Кто может что-нибудь посоветовать, как победить проблему в Q11.1???
З.Ы.: после каждой перекомпиляции поведение конртоллера HPC II меняется, и это не есть гуд.
Local_ready падает в '0' при записи и чтении в начале burst'а - это нормально для HPCII. Мне это тоже не нравится, но это объективная реальность.
Local_ready может быть всегда нулю только в случае не прохождения инициализации (калибровки или грузите неправильные значения в регистры памяти). Посмотрите на local_init_done.
Есть еще проблема при нецелостной записи/чтения burst'a - сигнал готовности падает в ноль навсегда. Это может случится если не обращаете внимания на local_ready.
Читайте доку