Перейти к содержанию
    

Cyclone V + DDR3 Hard Memory Controller

Получил BeMicro CV. Примеров пока нету, попытался сконфигурировать HMC в Q13.0sp1. Сгенерить IP Quartus не смог - выдал кучу ошибок

Кто-нибудь пробовал DDR3 к Cyclone V E цеплять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получил BeMicro CV...

Тоже получил BeMicro CV :) Сейчас пробую запустить в Quartus 13.1 вот такой проект с DDR3 Hard Memory Controller:

BeMicroCV_Nios.7z

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоже получил BeMicro CV :) Сейчас пробую запустить в Quartus 13.1 вот такой проект с DDR3 Hard Memory Controller:

Спасибо! Будем пробовать!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так толку от HMC и не добился. Микроновская моделька ругается на неоконченную инициализацию

 

А софт контроллер работает !

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так толку от HMC и не добился. Микроновская моделька ругается на неоконченную инициализацию...

А у меня в железе HMC работает :) Сконфигурировал контроллер DDR3, как трех портовый: 1-й порт на чтение, 2-й на запись и 3-й на чтение/запись. К третьему подключил процессор Nios II, а к первому и второму SG-DMA. Пока проверил обмен через Nios II: запись 128 Мбайт, затем чтение и проверка на совпадение с ожидаемыми данными. Это работает. Сейчас допишу обмен через SG-DMA и можно будет оценить реальную скорость обмена.

Использую Quartus 13.1. Возмущаюсь :cranky:, злюсь :angry2:, но использую...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дописал обмен через SG-DMA. Выкладываю архив с проектом.

Если нет желания смотреть в исходники, то в папке "\BeMicroCV_Nios\Programm_BeMicroCV" находятся .bat файлы для программирования и стирания SPI Flash :rolleyes:

После включения питания процессор Nios II записывает в DDR3 (128 Мбайт) 32-разрядные значения с приращением +1. В это время (около 2 секунд) светится младшая тетрада 8-ми светодиодов. Затем процессор Nios II считывает из DDR3 32-разрядные числа и проверяет, что они равны, ранее записанным значениям. В это время (около 8 секунд) светится старшая тетрада 8-ми светодиодов. При обнаружении несоответствия, будут светиться все 8 светодиодов. Но, такого не должно быть и процессор Nios II в цикле пересылает младшие 64 Мбайта DDR3 в старшие. Для этого Nios II использует SG-DMA. После каждого цикла Nios II выводит на светодиоды время пересылки в мс, деленное на 4. В данном проекте пересылка данных через два порта контроллера DDR3 занимает 620 мс. То есть, скорость обмена составляет 206 Мбайт/сек.

BeMicroCV_Nios.7z

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дописал обмен через SG-DMA. Выкладываю архив с проектом.

Если нет желания смотреть в исходники, то в папке "\BeMicroCV_Nios\Programm_BeMicroCV" находятся .bat файлы для программирования и стирания SPI Flash :rolleyes:

После включения питания процессор Nios II записывает в DDR3 (128 Мбайт) 32-разрядные значения с приращением +1. В это время (около 2 секунд) светится младшая тетрада 8-ми светодиодов. Затем процессор Nios II считывает из DDR3 32-разрядные числа и проверяет, что они равны, ранее записанным значениям. В это время (около 8 секунд) светится старшая тетрада 8-ми светодиодов. При обнаружении несоответствия, будут светиться все 8 светодиодов. Но, такого не должно быть и процессор Nios II в цикле пересылает младшие 64 Мбайта DDR3 в старшие. Для этого Nios II использует SG-DMA. После каждого цикла Nios II выводит на светодиоды время пересылки в мс, деленное на 4. В данном проекте пересылка данных через два порта контроллера DDR3 занимает 620 мс. То есть, скорость обмена составляет 206 Мбайт/сек.

Пытался подсмотреть настройки HMC - QSYS меня обругал, вывалил кучу ошибок и завис практически. Пользую 13.1 Web Edition

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 Konst_777 Извиняюсь за наглость, но у Вас нет проекта по использованию этой ДДРки на этой же плате, только без применения НИОСа, так сказать работа напрямую с HMC?

 

Я создал тему с проблемой по работе с этой памятью (вот), а уже после этого нашел эту тему.

 

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообще работа с памятью оставляет за собой много вопросом, очень важна сама оптимизация аппаратной реализации. Так как в конечном итоге именно от оптимизации зависит скорость

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да уж.

Ни разу не было так, чтобы взять новую плату с памятью, подцепить в проект контроллер памяти, запустить проект и ... он заработал. Типа как работа с OnChip. Каждый раз приходится искать в инете какие-то настройки и секреты...

А самая клёвая настройка у этих контроллеров внешней памяти - это настройки борды (времена)! Это ваще жесссь!...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да уж.

Ни разу не было так, чтобы взять новую плату с памятью, подцепить в проект контроллер памяти, запустить проект и ... он заработал. Типа как работа с OnChip. Каждый раз приходится искать в инете какие-то настройки и секреты...

А самая клёвая настройка у этих контроллеров внешней памяти - это настройки борды (времена)! Это ваще жесссь!...

Ни разу не трогал эти настройки. Подберете один раз - потом на температуре поплывут

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...