Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разные частоты внутри проекта
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
edren_baton
Доброго времени суток!

Ковыряю простой проект на DE1 + камера D5M. Ваяю на QSys.

Состав такой: CVI -> Frame Buffer (прицеплен к SDRAM) -> CVO (без Nios).

Столкнулся с тем, что проект работает только на кратных частотах от одного клока (50 - вх. кварц, 25 - vga, 100 - системный и память, 25(50) тактирование камеры). Выяснилось в ходе экспериментов с тактированием камеры.

Потом заметил, что проект ведет себя странно при незначительных изменениях в коде.
Например:
1. есть рабочий вариант, чуть его изменили - не работает, возвращаем назад изменения - все равно не работает.
2. ФАПЧ помимо вышеуказанных клоков генерит еще один на 75 МГц, который висит в воздухе. Если его поменять на 60 МГц - общий результат работы системы - отрицательный.
3. В варианте, который работает точно есть 2 ФАПЧа, один преобразовывал частоту 50 МГц (от которого тактируется система), другой 24 МГц (он для экспериментов). Оба ФАПЧа друг с другом не взаимодействуют и их частоты тоже, но когда один банально удалить - система разваливается.

Сначала пытался искать косяки SignalTapом, но после вышеназванных примеров решил, что я где-то дурак, поэтому прошу совета.

Quartus x64 13 sp1

Александр.
Golikov A.
сдрам чем тактируется, ксалинксы просят тактировать память от отдельных ПЛЛ нежели всю остальную систему.

в целом поведение похоже на работу в запределе по частоте. Чуть нагрелось, времянка поехала, все сломалось. Чуть проект изменили, блоки по другому разместились, опять все сломалось... Пропишите временные констраины и проверьте выполняются ли они...

у меня была система с ДДР, так себя вела, пока ДДР не перевесил на свой отдельный ПЛЛ
edren_baton
Цитата(Golikov A. @ Sep 15 2013, 10:39) *
сдрам чем тактируется, ксалинксы просят тактировать память от отдельных ПЛЛ нежели всю остальную систему.

в целом поведение похоже на работу в запределе по частоте. Чуть нагрелось, времянка поехала, все сломалось. Чуть проект изменили, блоки по другому разместились, опять все сломалось... Пропишите временные констраины и проверьте выполняются ли они...

у меня была система с ДДР, так себя вела, пока ДДР не перевесил на свой отдельный ПЛЛ



Сначала вынес клок памяти на отдельный фапч. В качестве входного клока задал тот же, что идет и на первый фапч. Результата не принесло.
После начала прописывания констраинов (раньше с ними не работал вообще) система ожила. Причем на данный момент у меня прописано только 2 входных клока - кварц и от камеры и все работает.

Большое спасибо за помощь!

P.S. заметил интересную особенность.
Есть 2 ФАПЧа, в качестве источника у обоих один и тот же клок. С одного идет тактирование на систему, с другого на память. Но если сгенерировать с одного из них клок для камеры, то квартус ругается на Input clock cannot feed more than one PLL
Golikov A.
ну напрямую клок вроде нельзя..
надо его на буфер, а с буфера в ПЛЛ, только не знал что об этом надо явно говорил. Ксалинкс сам так разводит.

кстати значение констаринов важно.
если я задаю что клок имеет период 10 нс, у меня разводится проект с макс достижимым 9.41,
а если говорю что 9 нс, то 8.11, если прошу 8, говорит ничего не вышло...

то есть в момент оптимизации пути оптимизятся до тех пор пока не попадут в констраины.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.