Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Клоковый домен и кратные частоты.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Flip-fl0p
Суть вопроса в следующем: на блоке PLL я создаю 2 кратные частоты.
К примеру:
1. CLK - 10 МГц.
2. CLKx10 - 100 МГц.
Надо ли дополнительно синхронизировать данные для того чтобы переносить данные из домена CLKx10 в домен CLK ? Например через FIFO ?
Я предполагаю, что необходимости в этом нет, достаточно правильно задать констрейны. Хотелось, бы услышать мнения более опытных коллег.
Maverick
Цитата(Flip-fl0p @ May 25 2017, 09:30) *
Суть вопроса в следующем: на блоке PLL я создаю 2 кратные частоты.
К примеру:
1. CLK - 10 МГц.
2. CLKx10 - 100 МГц.
Надо ли дополнительно синхронизировать данные для того чтобы переносить данные из домена CLKx10 в домен CLK ? Например через FIFO ?
Я предполагаю, что необходимости в этом нет, достаточно правильно задать констрейны. Хотелось, бы услышать мнения более опытных коллег.

я всегда делаю синхронизацию, но когда-то давно побный вопрос поднимался (возможно путаю что-то) так там кажется des00 говорил что для Вашего случая можно не делать.
Flip-fl0p
Цитата(Maverick @ May 25 2017, 10:08) *
я всегда делаю синхронизацию, но когда-то давно побный вопрос поднимался (возможно путаю что-то) так там кажется des00 говорил что для Вашего случая можно не делать.

А это всё продолжение моих изысканий с ALTLVDS_RX. Данные то, я принимаю этим ядром, да и автомат калибровки по тестовым паттернам работает. Но выход модуля ALTLVDS_RX работает как обычный сдвиговый регистр. Вот и подумал, чем городить сложную схему, которая каждые 10 тактов (частота дессериализации у меня в 10 раз больше частоты фрейма), генерирует сигнал, по которому данные с ALTLVDS_RX анализируются, записывать их в FIFO, затем читать этот FIFO, сбрасывать FIFO при необходимости, ждать пока данные FIFO будут готовы для чтения, и пр. В общем тестовый проект который все это реализует я сделал. И на моделировании он даже работает. Но как мне показалось он получился чересчур сложным. Ведь по сути на PLL частоты получаются кратные. Я где то видел, что кратные частоты (например сформированные на банальном счетчике) можно не считать за разные клоковые домены, там достаточно правильно задавать констрейны. Но первоисточник не нашёл, поэтому и решил вопрос задать.
Golikov A.
когда вы делаете такие частоты на PLL у ксалинкса точно и у альтеры кажется тоже. Автоматом прописываются констраины на эти клоки и их связь, и вообще делать ничего не надо. Плл тоже работает так чтобы клоки были синхронизованы, она поднимает на общую частоту входной сигнал и потом пропорционально делит, чтобы блок подъема был единым и джитер поближе.

Но надо понимать что при обмене между этим сегментами рассматривают самый плохой сценарий, то есть данные должны ходить по 100 МГц, а на самом деле можно и раслабить тайминги. Незачем данным из 100 в 10 идти за 1/100, когда чаще раньше 1/10 они там не нужны. Поэтому часто в таких случаях делают дополнительный констраины на путь, и пересинхронизацию руками.
Shivers
В общем случае, пересинхронизацию делать не надо. Исключение - если оба клока (10 и 100) помечены в констрейнтах как асинхронные.
В общем случае, малтисайклы тоже не нужны: пути на стыке доменов будут лимитироваться периодом быстрого клока. Исключение - если на стыке понадобился малтисайкл для каких то специальных целей.
Flip-fl0p
Спасибо за ответы ! Будем брать более простую схему без FIFO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.