|
|
  |
Не победить ripple clock от дизайн-доктора. Помогите начинающему..., Макс-плюс. Графический редактор. Поиск по форуму у меня недоступен. |
|
|
|
Nov 13 2006, 08:40
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 10-10-06
Из: spb
Пользователь №: 21 171

|
Здравствуйте!
--ЧТО ЕСТЬ-- FLEX10KA. Графический редактор. Глобальный клок (60 МГц) делю Т-триггером - надо получить новый клок. На выходе Т-триггера стоит примитив GLOBAL. Полученный новый глобальный клок идет на модули нижнего уровня, тоже gdf'ы, где используется по своему прямому назначению.
--ПРОБЛЕМА-- Design Doctor предупреждает: 1. Ripple Clock detected starting with ... 2. GLOBAL primitive on node <name> feeds logic -- non-global signal usage may result.
--ЧТО ДАЛЬШЕ, ПОДСКАЖИТЕ/ПОПРАВЬТЕ ХОД МЫСЛИ-- 3.Читал хэлп. Сделал вывод, что сообщение ripple clock выдается доктором всегда, когда он видит выход одного триггера заведенный на тактовые входы других триггеров. 4. Читал Report. В разделе Buried logic видел букву "G" в строке с триггером-делителем. Этого достаточно, что-бы быть уверенным в глобальности полученного клока?
(продолжение в след. посте - у меня ограничение на размер отправляемых данных)
(продожение)
--ТАКОЕ ВНИМАНИЕ К САБЖУ, ПОТОМУ ЧТО СМУЩАЕТ-- 5. В симуляторе один и тот-же клок - на выходе триггера-делителя (в верхнем gdf'е) и в модулях, куда он идет (gdf'ах нижнего уровня) - имеет разную фазу. Непонятно почему. 6. По осциллографу (при отладке на столе) есть смутные сомнения - не гуляет ли внутри кристалла фаза у поделенного клока относительно фазы исходного клока. Может ли такое быть в принципе? (Мой осцил. частоту 60 МГц берет с трудом. Точно сказать по нему, к сожалению, нельзя.)
Подскажите, пожалуста...
ps: Понимаю, что надо работать в Квартусе, и вводить проект текстом. К сожалению пока нет времени на изучение - срочной работы много.
|
|
|
|
|
Nov 13 2006, 09:18
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(MaxVetrov @ Nov 13 2006, 11:40)  5. В симуляторе один и тот-же клок - на выходе триггера-делителя (в верхнем gdf'е) и в модулях, куда он идет (gdf'ах нижнего уровня) - имеет разную фазу. Непонятно почему. Что же тут непонятного? На выходе триггера фаза и должна отличаться от той, что после распространения сигнала по глобальному клоковому дереву. Параметр, на сколько дерево задерживает сигнал, называется "clock latency". Кстати, не факт, что он документирован Цитата(MaxVetrov @ Nov 13 2006, 11:40)  6. По осциллографу (при отладке на столе) есть смутные сомнения - не гуляет ли внутри кристалла фаза у поделенного клока относительно фазы исходного клока. Может ли такое быть в принципе? (Мой осцил. частоту 60 МГц берет с трудом. Точно сказать по нему, к сожалению, нельзя.) Конечно может. Причем документировано. Это параметр "clock uncertainty" или "clock skew". То есть разброс времени распространения тактового сигнала от корня дерева по всем его ветвям.
|
|
|
|
|
Nov 13 2006, 14:04
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 10-10-06
Из: spb
Пользователь №: 21 171

|
Большое спасибо всем ответившим... Цитата(SM @ Nov 13 2006, 12:18)  Цитата(MaxVetrov @ Nov 13 2006, 11:40)  В симуляторе один и тот-же клок - на выходе триггера-делителя ... и в модулях, куда он идет ... имеет разную фазу. ...
Что же тут непонятного? На выходе триггера фаза и должна отличаться от той, что после распространения сигнала по глобальному клоковому дереву. Параметр, на сколько дерево задерживает сигнал, называется "clock latency". Кстати, не факт, что он документирован Смущает то, что задержка распространения клока порядка 4.7 нс, 30% периода исходного клока (EPF10K30...-2). Это же глобальный клок. Особенность и то, что во всех модулях (где посмотрел) задержка клока одна и таже относительно клока в gdf'е верхнего уровня. Проект большой. Цитата(SM @ Nov 13 2006, 12:18)  Цитата(MaxVetrov @ Nov 13 2006, 11:40)  6. По осциллографу (при отладке на столе) есть смутные сомнения - не гуляет ли внутри кристалла фаза у поделенного клока относительно фазы исходного клока. Может ли такое быть в принципе? (Мой осцил. частоту 60 МГц берет с трудом. Точно сказать по нему, к сожалению, нельзя.)
Конечно может. Причем документировано. Это параметр "clock uncertainty" или "clock skew". То есть разброс времени распространения тактового сигнала от корня дерева по всем его ветвям. Я немного неправильно поставил вопрос... Есть подозрения, что фаза полученного делением глобального клока постоянно меняется, т.е. плавает относительно исходного клока.
|
|
|
|
|
Nov 13 2006, 14:42
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 10-10-06
Из: spb
Пользователь №: 21 171

|
Цитата(sazh @ Nov 13 2006, 12:29)  //////////////////////////////////////// Design Doctor предупреждает: 1. Ripple Clock detected starting with ... 2. GLOBAL primitive on node <name> feeds logic -- non-global signal usage may result. ///////////////////////////////////////////////////////////////////////////////////////// Попробуйте между триггером и примитивом global поставить примитив lcell всегда запускайте временной анализатор для контроля над проектом при использовании ripple clock. Спасибо, пробую... изучаю новые warning'и от дизайн-доктора... Что такое временной анализатор???? (простите, не знаю) Цитата(sazh @ Nov 13 2006, 12:29)  Скорее всего гуляет фаза у поделенного клока относительно запуска какого то периодического процесса. По запуску этого процесса можно ресетить триггер, на котором делиться исходный клок. Ищу то, за что может цепляться осцилл. С осциллом сомнения. У него полоса 200 МГц, 2 ГСэмпла/с - клок 60 МГц толком не посмотреть. Тут еще такая фишка в дизайне схемы электрической... Клок на Алтеру подается с ноги микроконтроллера  , clock output так называемый... имхо надо еще поразбираться с качеством этого сигнала ...
Сообщение отредактировал MaxVetrov - Nov 13 2006, 14:53
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|