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

 
 
> Spartan-3: Расхождения в максимальных частотах
olegras
сообщение Apr 26 2009, 11:40
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



После танцев с бубном вокруг констрейнов и оптимизаций, PAR выдает: "Min delay = 5.8 ns, max freq. = 172.4 MHz". Но запустить проект на реальном устройстве (S3BOARD от DIGILENT) удается только на частотах системного клока до 137,5 МГц включительно. На частотах выше проект работает нестабильно, т.е. при одних и тех же входных данных, каждый раз результат непредсказуемо разный.
Собственно вопрос: неужели расчетная максимальная частота, расчитанная PAR, так сильно должна отличаться от реальной? Где подвох?
На камень заведен внешний тактовый сигнал 50 МГц, который подключен ко входу DCM. Системные клоки снимаются с выходов DCM CLKFX и CLKFX180, и далее через BUFG в систему. Обратная связь между CLK0 и CLKFB имеется.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
Boris_TS
сообщение Apr 26 2009, 14:57
Сообщение #2


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(olegras @ Apr 26 2009, 14:40) *
На частотах выше проект работает нестабильно, т.е. при одних и тех же входных данных, каждый раз результат непредсказуемо разный.

С наскоку я могу только спросить:
1. А проверяли ли Вы, выполняются ли ограничения на входные сигналы (setup и hold) в живом стенде ?
2. Был ли использован constraint temperature для снижения предельной рабочей температуры ?
Go to the top of the page
 
+Quote Post
SFx
сообщение Apr 26 2009, 19:51
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 758
Регистрация: 11-07-05
Из: Понаехал (Мск)
Пользователь №: 6 688



olegras, Вы каждый раз перекомпилировали проект поднимая частоту или подавали внешний тактовый сигнал на DCM различной частоты ?
Go to the top of the page
 
+Quote Post
olegras
сообщение Apr 27 2009, 04:51
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Цитата(SFx @ Apr 26 2009, 23:51) *
olegras, Вы каждый раз перекомпилировали проект поднимая частоту или подавали внешний тактовый сигнал на DCM различной частоты ?


Каждый раз перекомпилировал. Кажый раз PAR выдает одинаковые ограничения (конечно если меняю только атрибуты DCM не трогая код, констрейны и параметры оптимизации). Внешний сигнал всегда 50 МГц с борта S3BOARD.

Цитата
А проверяли ли Вы, выполняются ли ограничения на входные сигналы (setup и hold) в живом стенде ?

Входные данные загружаются и выгружаются четко при любом значении системной частоты. Так как не зависят от системных клоков. Загрузка тактируется внешним медленным клоком от управляющего МК. Проверял даже при сист. частоте 280 МГц.

Цитата
Был ли использован constraint temperature для снижения предельной рабочей температуры ?


Нет не был. А что это мне даст (в смысле моего вопроса)?.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 27 2009, 05:54
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Так-так, у вас используется CLKFX и CLKFX180.
1. На этих выводах джиттер может быть несколько (пикосекунд на 500) больше, чем думает PAR.\
2. У вас наверное есть хитрый переход между CLKFX и CLKFX180, которого PAR почему-то не видит при анализе, но который эффективно уполовинивает реальную тактовую частоту.
Go to the top of the page
 
+Quote Post
olegras
сообщение Apr 27 2009, 07:50
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Цитата(DmitryR @ Apr 27 2009, 09:54) *
Так-так, у вас используется CLKFX и CLKFX180.
1. На этих выводах джиттер может быть несколько (пикосекунд на 500) больше, чем думает PAR.\
2. У вас наверное есть хитрый переход между CLKFX и CLKFX180, которого PAR почему-то не видит при анализе, но который эффективно уполовинивает реальную тактовую частоту.


Переходов нету: каждый из сигналов подключен к "своему" BUFG, выходы которых используются независимо. А насчет джиттеров - судя по всему так оно и есть...
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 27 2009, 07:57
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Если они используются абсолютно независимо, то смысла в использовании CLKFX180 нет никакого - можно все тактировать от CLKFX. Что же касается "наверное" - то джиттер CLKFX умеет считать CoreGen, и еще специальные отдельные утилитки для этого были.
Go to the top of the page
 
+Quote Post
olegras
сообщение Apr 27 2009, 08:58
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 113
Регистрация: 12-03-07
Пользователь №: 26 075



Цитата(DmitryR @ Apr 27 2009, 11:57) *
Если они используются абсолютно независимо, то смысла в использовании CLKFX180 нет никакого - можно все тактировать от CLKFX. Что же касается "наверное" - то джиттер CLKFX умеет считать CoreGen, и еще специальные отдельные утилитки для этого были.


Ну конечно же "независимо" я имел ввиду совсем другое. Есть конечный автомат. Переключение между состояниями - CLKFX. Есть несколько BRAM, значения из которых должны считываться между переключениями состояний автомата, чтобы следующее состояние могло использовать знеачение из BRAM, адрес которого сформирован в предыдущем состоянии автомата (во загнул - сам бы не понял smile.gif). Для этого и используется CLKFX180, который подключен только к CLK BRAM. Тактировать одним сигналом не получается по определению.
CLKFX: сформировать адрес БРАМ
CLKFX180: считать значения
CLKFX: чтото сделать со считанным значением + сформировать следующий адрес БРАМ и т.д.
Все процессы оттестированы сначала в симуляции, а затем и на реальной плате. Но на реальной плате выше 137,5 МГц - ... В принципе меня устраивает и эта скорость. Но с разностью частот между PAR и устройством - хотелось бы разобраться.
Была бы разница в пару (ну в пяток) МГц - я бы вопрос не поднимал. Вот я и хотел бы услышать мнения гуру: может это нормальная ситуация?? Или же кто сталкивался а потом устранил?

Цитата(DmitryR @ Apr 27 2009, 11:57) *
и еще специальные отдельные утилитки для этого были.


А что за утилитки?

Цитата(DmitryR @ Apr 27 2009, 11:57) *
Что же касается "наверное" - то джиттер CLKFX умеет считать CoreGen


CoreGen выдает: "Period Jitter (unit interval) - 0.11 ns", "Period Jitter (pk-to-pk ns) - 0.78 ns" для режима DCM 50 в 137.5 МГц. Для частот выше - второй джиттер еще меньше. Ну пусть общий джиттер = 1 нс.
150 МГц должен работать по любому...
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Apr 27 2009, 12:54
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(olegras @ Apr 27 2009, 12:58) *
CLKFX: сформировать адрес БРАМ
CLKFX180: считать значения
CLKFX: чтото сделать со считанным значением + сформировать следующий адрес БРАМ и т.д.

Ну вот у вас тут и есть пол-периода. Правда, PAR такие корки должен понимать, но очевидно не понимает: вам разрешают период 5.8, то есть в память и из памяти пути типа менее 3 ns. Не верю, © Станиславский. А попробуйте вместо CLKFX180 использовать инвертированный CLKFX (память поглотит инвертор и будет работать по падающему фронту) и посмотрите что станет с таймингами.
Go to the top of the page
 
+Quote Post
Boris_TS
сообщение Apr 27 2009, 14:25
Сообщение #10


Злополезный
****

Группа: Свой
Сообщений: 608
Регистрация: 19-06-06
Из: Russia Taganrog
Пользователь №: 18 188



Цитата(olegras @ Apr 27 2009, 07:51) *
Входные данные загружаются и выгружаются четко при любом значении системной частоты. Так как не зависят от системных клоков. Загрузка тактируется внешним медленным клоком от управляющего МК. Проверял даже при сист. частоте 280 МГц.

Если есть независимая от системной частота, то, соответственно, могут быть проблемы с метастабильностью при смене clock'ового домена.

Цитата(olegras @ Apr 27 2009, 07:51) *
Нет не был. А что это мне даст (в смысле моего вопроса)?

Теоретически Вы могли задать внутрикристальную температуру ниже реальной, тогда PAR заведомо неправильно оценивал бы задержки. То же касается и constraint'ов на питание. Кстати, а Вы проверяли: с питанием всё в порядке ? Остаются ли в допустимых пределах пульсации (по всем веткам питания) с ростом частоты ?

Кстати, а зачем Вам CLKFX180, если у Вас есть CLKFX ? - инверторы по CLK есть практически во всех элементах ПЛИС (IOB, Slice, BRAM,..). А DCM в Spartan-3x мне не понравился - на мой взгляд jitter просто огромен, стараюсь, по возможности обходиться без DCM работать.
Go to the top of the page
 
+Quote Post

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

 


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


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