реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Клоковый домен и кратные частоты., Формирование кратных частот на PLL
Flip-fl0p
сообщение May 25 2017, 06:30
Сообщение #1


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Суть вопроса в следующем: на блоке PLL я создаю 2 кратные частоты.
К примеру:
1. CLK - 10 МГц.
2. CLKx10 - 100 МГц.
Надо ли дополнительно синхронизировать данные для того чтобы переносить данные из домена CLKx10 в домен CLK ? Например через FIFO ?
Я предполагаю, что необходимости в этом нет, достаточно правильно задать констрейны. Хотелось, бы услышать мнения более опытных коллег.
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 25 2017, 07:08
Сообщение #2


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



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

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


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение May 25 2017, 07:50
Сообщение #3


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



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

А это всё продолжение моих изысканий с ALTLVDS_RX. Данные то, я принимаю этим ядром, да и автомат калибровки по тестовым паттернам работает. Но выход модуля ALTLVDS_RX работает как обычный сдвиговый регистр. Вот и подумал, чем городить сложную схему, которая каждые 10 тактов (частота дессериализации у меня в 10 раз больше частоты фрейма), генерирует сигнал, по которому данные с ALTLVDS_RX анализируются, записывать их в FIFO, затем читать этот FIFO, сбрасывать FIFO при необходимости, ждать пока данные FIFO будут готовы для чтения, и пр. В общем тестовый проект который все это реализует я сделал. И на моделировании он даже работает. Но как мне показалось он получился чересчур сложным. Ведь по сути на PLL частоты получаются кратные. Я где то видел, что кратные частоты (например сформированные на банальном счетчике) можно не считать за разные клоковые домены, там достаточно правильно задавать констрейны. Но первоисточник не нашёл, поэтому и решил вопрос задать.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение May 25 2017, 08:25
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



FYI:
Multicycles Exception Between Two Synchronous Clock Domains
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение May 25 2017, 08:43
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



когда вы делаете такие частоты на PLL у ксалинкса точно и у альтеры кажется тоже. Автоматом прописываются констраины на эти клоки и их связь, и вообще делать ничего не надо. Плл тоже работает так чтобы клоки были синхронизованы, она поднимает на общую частоту входной сигнал и потом пропорционально делит, чтобы блок подъема был единым и джитер поближе.

Но надо понимать что при обмене между этим сегментами рассматривают самый плохой сценарий, то есть данные должны ходить по 100 МГц, а на самом деле можно и раслабить тайминги. Незачем данным из 100 в 10 идти за 1/100, когда чаще раньше 1/10 они там не нужны. Поэтому часто в таких случаях делают дополнительный констраины на путь, и пересинхронизацию руками.
Go to the top of the page
 
+Quote Post
Shivers
сообщение May 25 2017, 09:41
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



В общем случае, пересинхронизацию делать не надо. Исключение - если оба клока (10 и 100) помечены в констрейнтах как асинхронные.
В общем случае, малтисайклы тоже не нужны: пути на стыке доменов будут лимитироваться периодом быстрого клока. Исключение - если на стыке понадобился малтисайкл для каких то специальных целей.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение May 25 2017, 10:20
Сообщение #7


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Спасибо за ответы ! Будем брать более простую схему без FIFO.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01552 секунд с 7
ELECTRONIX ©2004-2016