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

 
 
 
Reply to this topicStart new topic
> Critical Warning от TimeQuest, Помогите понять смысл сообщения
nmurzin
сообщение Jul 18 2011, 08:48
Сообщение #1


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

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



Здравствуйте.
Помогите пожалуйста разобраться с сообщением "Timing requirements not met" от TimeQuest.
Работаю в Quartus 9.1 делаю проект для Cyclon3.

В проекте используются два клока:
Strob - с периодом 40 ns, приходит с улицы.
Clk100Mhz - с периодом 10 ns, приходит с PLL.
Тригер Op4_1 тактируется клоком Strob.
Тригер abusValid_rg тактируется клоком Clk100Mhz.

Собрана схема где происходит следующее (приложил TechnologiMap.jpg):

Тригер Op4_1 захлопавает '1' по некоторому условию.
Тригер abusValid_rg захлопывает значение Op4_1 то есть ту же '1', но уже на своей частоте.
Значение тригера abusValid_rg = '1' является условием сброса тригера Op4_1.

При компиляции проекта TimeQuest выдает сообщение об ошибке.
Приложил CompilationReport.jpg и TimeQuest.jpg

Если я в sdc файле использую для Clk100Mhz дерективу set_clock_groups -exclusive,
то все компилируется без ошибок.

Но все таки очень хочется понять, о чем меня хотел предупредить TimeQuest ?
Гляжу на информацию в отчетах, но ни как не могу понять, что ему не нравиться ?

Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Cordroy
сообщение Jul 18 2011, 10:59
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 13-09-10
Из: Israel
Пользователь №: 59 464



Цитата(nmurzin @ Jul 18 2011, 11:48) *
Если я в sdc файле использую для Clk100Mhz дерективу set_clock_groups -exclusive,
то все компилируется без ошибок.

Но все таки очень хочется понять, о чем меня хотел предупредить TimeQuest ?
Гляжу на информацию в отчетах, но ни как не могу понять, что ему не нравиться ?


1) exclusive ставить нельзя, потому как клоки да, зависимые (я полагаю что ПЛЛ запущен в *нормальном* режиме).
2) Removal - это аналог hold violation для асинхронных ресетов у регистров. Я бы предложил сбрасывать вашу схему по цепочке: т.е.
ресет(Clk100Mhz) подключен к ресет(Strob) через 2-х регистровый синхронизатор. Тогда можно будет на ругательства не обращать внимания.

А вообще есть целая теория по анализу начальных условий:
см. док на альтеровском форуме.

Пример 2-х регистрового сихронизатора для ресета:


(В вашем случае FastClk - это Clk100Mhz)

Сообщение отредактировал Cordroy - Jul 18 2011, 11:00
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jul 18 2011, 12:54
Сообщение #3


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

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



Cordroy, спасибо за участие.

Цитата
1) exclusive ставить нельзя, потому как клоки да, зависимые (я полагаю что ПЛЛ запущен в *нормальном* режиме).

В моем случае Strob и Clk100MHz это абсолютно независимые клоки (PLL питается от третьего источника).

Цитата
2) Removal - это аналог hold violation для асинхронных ресетов у регистров.

А в чем смысл этого emoval/hold violation ?

Смотрю я на картинку которую нарисовал мне TimeQuest и вижу некий DataArrival и DataRequired.
Насколько я понимаю в данном случае под данными понимается сигнал сброса, источник которого высокочастотный(Clk100MHz) тригер.
Насколько я вижу из картинки TimeQuest не доволен, что сигнал сброса пришел слишком рано.
Не понятно почему он так считает ?
Чего он боится ? что длительности сигнала сброса будет не достаточно чтобы тригер сбросился или еще чего ?


Пока не получается зарегистрироваться на альтеровском форуме.
Кинь пожалуйста этот документ мне на почту ya.nmurzin@yandex.ru
Go to the top of the page
 
+Quote Post
Cordroy
сообщение Jul 18 2011, 13:31
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 13-09-10
Из: Israel
Пользователь №: 59 464



Цитата(nmurzin @ Jul 18 2011, 15:54) *
В моем случае Strob и Clk100MHz это абсолютно независимые клоки (PLL питается от третьего источника).
...
Не понятно почему он так считает ?
Чего он боится ? что длительности сигнала сброса будет не достаточно чтобы тригер сбросился или еще чего ?
...
Пока не получается зарегистрироваться на альтеровском форуме.
Кинь пожалуйста этот документ мне на почту ya.nmurzin@yandex.ru


1) Если клоки независимые, то, конечно, нужно определить их как exclusive (или false path между клоками). Но все равно, контур ресета рекомендуется синхронизовать и/или делать четко продуманную цепочку сбросов (альтернатива - цепочка сигналов enable).

2) Не зная того что клоки независимые, Квартус пытается посчитать возможные несоответствия по таймингу.
(на самом деле их должно быть гораздо больше, может я чего-то не понял в структуре ваших клоков)
В общем случае, в момент асинхронного ресета вся схема должна прийти в начальное состояние; если какой-то регистр сделает это раньше других - состояние будет не тем. Т.е. не только длительность сброса важна, а и момент его прихода в конкретную точку схемы.

3) Попробую прикрепить файл к посту:

Прикрепленные файлы
Прикрепленный файл  Understanding_Recovery_and_Removal_Analysis_forum__1_.doc ( 134.5 килобайт ) Кол-во скачиваний: 97
 
Go to the top of the page
 
+Quote Post
nmurzin
сообщение Jul 18 2011, 14:33
Сообщение #5


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

Группа: Участник
Сообщений: 94
Регистрация: 24-11-10
Из: г.Зеленоград
Пользователь №: 61 141



Я понял. Ну или думаю что понял.

TimeQuest считает что фронт клока Clk100MHz и фронт клока Strob сстартуют одновременно каждый со своего источника клоков.
TimeQuest анализирует выход из состояния reset.
По Clk100MHz тригер abusValid_rg снимает состояние ресет для тригера Op4_1.
Так как исходное состояние - это состояние ресета, то предполагается, что в момент прихода фронта тригер Op4_1
будет еще под воздействием ресета. Однако время распространения клока Strob настолько велико,
что сигнал снятия ресета доходит до тригера Op4_1 раньше, чем фронт.
Получается, что я могу захлопнуть данные по фронту, который был предназначен для снятия ресета.

Спасибо огромное за документ.
Go to the top of the page
 
+Quote Post
Cordroy
сообщение Jul 18 2011, 14:52
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 65
Регистрация: 13-09-10
Из: Israel
Пользователь №: 59 464



Цитата(nmurzin @ Jul 18 2011, 17:33) *
Спасибо огромное за документ.


Не за что sm.gif
Удачи с проектом!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 05:08
Рейтинг@Mail.ru


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