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

 
 
 
Reply to this topicStart new topic
> Отключение глоабльных сигналов в Quartus, AUTO_GLOBAL_CLOCK OFF - вроде как не работает
Cordroy
сообщение Oct 10 2011, 13:06
Сообщение #1


Участник
*

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



Всем привет!

Проблема вкратце такая:

выставлена опция в Квартусе (QSF):
Код
set_global_assignment -name AUTO_GLOBAL_CLOCK OFF


и она как будто не работает - фиттер продолжает запихивать ненужные мне сигналы в глобальныe сети и в конце заваливается, потому как их всего 16. А сигналов "похожих" на клок - несколько сотен.

Нужен какой-то способ абсолютно запретить Квартусу что-либо класть в глобальный раутинг.

Кто-то знает способ?

-----------------------------------------------------------------------------

Подробнее:

в QSF выставлено следующее:

Код
set_global_assignment -name AUTO_GLOBAL_CLOCK OFF
set_global_assignment -name AUTO_GLOBAL_REGISTER_CONTROLS OFF


Плюс, пара десятков не-клоков которые я уже успел отловить:

Код
set_instance_assignment -name GLOBAL_SIGNAL OFF -to u_ ... ... _НЕ_КЛОК
set_instance_assignment -name GLOBAL_SIGNAL OFF -to u_ ...  ..._НЕ_КЛОК


Плюс, несколько НУЖНЫХ мне установок:

Код
set_instance_assignment -name GLOBAL_SIGNAL ON-to u_ ...  ..._ДА_КЛОК
set_instance_assignment -name GLOBAL_SIGNAL ON -to u_ ...  ..._ДА_КЛОК


В самом RTL есть еще несколько глобальных буферов для клока, в сумме с установленными в QSF - всего 16.

В процессе фиттинга Квартус кидает подобную ошибку:

Код
Error: Design requires 17 clock signal(s) of type Global Clock but device can contain only 16 clock signals of type Global Clock


И далее список клоков, из которых 16 правильные и еще один ненужный.

-------------------------------------------

Проблема в том, что компиляция до момента ошибки, несколько часов и каждый раз получается поймать только один ненужный клок.
Я его выставляю в список GLOBAL_SIGNAL OFF и запускаю заново и так сто-питсот раз.

и еще этот Квартус меняет имена и не всегда кушает "*" в QSF. И один раз он засовывает, например, combout~54 в globals, а в следующей компиляции - combout~100500.
Имена меняются, непредсказуемо - особенно когда он какой-то wire для улучшения тайминга/раутинга заталкивает в глобальный нет. И имя этого wire будет что-то вроде __~47 , существует оно только в этой конкретной компиляции.
------------------------------------------

Сам проект - эмуляция большого чипа на ПЛИСе. Поэтому код огромен, написан почти сотней людей.
В виду чувствительности такого кода, оптимизации связанные с изменением многих блоков не подходят...
И жестко привязываться к железу ПЛИС-а с партишинами, лоджик-локами и прочей инкрементальщиной тоже нельзя.
------------------------------------------

Окружение:
Девайс: Stratix II, EP2S180F1508C3
Версии Квартуса, где пробовалось: 9.0, 10.1-SP1
под Юниксом, если важно - узнаю точнее какие машины.



Спасибо всем кто откликнется! sm.gif
Go to the top of the page
 
+Quote Post
vetal
сообщение Oct 10 2011, 13:17
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Попробуйте опцию установить опцию Auto Gated Clock Conversion = ON . Как раз для таких случаев предназначено.
Go to the top of the page
 
+Quote Post
Cordroy
сообщение Oct 10 2011, 14:09
Сообщение #3


Участник
*

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



Цитата(vetal @ Oct 10 2011, 16:17) *
Попробуйте опцию установить опцию Auto Gated Clock Conversion = ON . Как раз для таких случаев предназначено.


Спасибо, попробую.

Правда эта опция, как я понял имплементирует clock enable регистра вместо enable самого gated-clock.
В проекте gated-clocks с сигналом enable нет (они замаскированы когда компилируется проект под ПЛИС).
Есть несколько muxed-clocks, а также много управляющих сигналов которые Квартусу почему-то кажутся кандидатами в глобальные.



UPDATE:

даже обычные сигналы данных Ква пытается занести в глобальные, например:

Код
... altsyncram_lmf1:auto_generated|ram_block1a11
... ... ... _wr_if_unit|dout[11]


(сигналы выше - просто data)
Go to the top of the page
 
+Quote Post

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

 


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


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