Перейти к содержанию
    

TimeQuest и set_clock_groups

В Quartus 9.1 SP2, если задать, к примеру

set_clock_groups -asynchronous -group {line} -group {pldseln}

то временнЫе зазоры между тактовыми доменами line и pldseln анализируются все равно. Что не есть правильно.

Когда же задать

set_clock_groups -asynchronous -group {line}
set_clock_groups -asynchronous -group {pldseln}

то не анализируются. Заменить -asynchronous на -exclusive - ничего не меняет.

Пример специальный готовить нет сил. Кто может, проверьте на своем. :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример специальный готовить нет сил. Кто может, проверьте на своем. :laughing:

у меня работает %) как описаны в вашем случае line и pldseln? Не забываете что под виндами тикл иногда с пробелами подглючивает.

 

а так?

а так вы поместили их в одну группу %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня работает %) как описаны в вашем случае line и pldseln? Не забываете что под виндами тикл иногда с пробелами подглючивает.

line - чисто тактовый сигнал, выбирается мультиплексором, и дальше на clk триггера.

А pldseln - это выбор ПЛИС от микроконтроллера, PLDSELn, для чтения - записи. Тут хитрее - использутся для латча адреса, затем участвует в чтении, записи. Поскольку сигнал line какими-то окольными путями может добраться до внутренней шины, по которой читается - пишется из и в микроконтроллер, то зазоры анализируются. Что мне не нужно.

Просто запретить анализ порта PLDSELn не удается, TimeQuest находит в нем такты. Пришлось создать из порта PLDSELn такт pldseln. Потом запретить его анализ. (дурдом :))

Помимо показанных выше двух set_clock_groups, можно выкрутиться следующим образом.

# Преобразование выбора ПЛИС в тактовый сигнал, чтобы игнорировать
create_clock -name pldseln -period 36MHz [get_ports PLDSELn]
# Запретить проверку по PLDSELn
set_false_path -from [get_clocks pldseln]

Интуитивно чувствую, что вся беда в latch. Не любят их не Quartus, ни TimeQuest. А я люблю :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ап.

 

Уважаемые гуру, объясните пожалуйста.

Есть ли вообще какая-то разница между описаниями

 

set_clock_groups -asynchronous -group {clk1} -group {clk2}

и

set_clock_groups -asynchronous -group {clk1}
set_clock_groups -asynchronous -group {clk2}

?

 

Для -asynchronous и -exclusive? (или эти идентификаторы полностью эквивалентны)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли вообще какая-то разница между описаниями

в случае если в проекте есть только частоты clk1 и clk2 то разницы нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А какая разница появится, если в проекте есть еще одна clk3?

в первом случае она будет считаться синхронной с clk1, clk2

во втором случае нет

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...