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

5576ХС1 (FLEX10K) и Global Signal

Здравствуйте, уважаемые коллеги! Встала передо мной, казалось бы, простая задача: вывести внутренний сигнал на глобальные цепи. бОльшая часть схемы работает на половинной частоте, а поскольку дело имеем с 5576ХС1, то о PLL даже не думаем. Сделал простейший clock_enable:

clk_en.png.6c3840da55ffae7069a7c696b5a16470.png

 

Вот этот CLK_EN я и хочу сделать глобальным. В документации и на нашу ПЛИС, и на серию FLEX10K, написано, что можно вывести сигналы с внутренней логики на глобальные цепи. Но когда я добавляю на выход триггера буфер Global, при компиляции получаю "Warning: Ignored Global Signal assignment for logic cell "inst3" because there are not enough global signals available in the device". ПЛИС имеет 2 предопределённых входа для клоков и 4 входа для других глобальных сигналов, их всех этих 6 ног занята только одна, собственно под клок, но при этом квартус пишет, что не достаточно глобальных цепей. Почитал ещё немного. 

clk_en_2.thumb.png.62e31371725a57e8c94fd67c9139c347.png

Со входным пином понятно, нужно повесить на землю, но квартус же не знает, на земле пин или нет. Получается, я должен каким-то образом "пообещать" квартусу не использовать какой-то (или все) незадействованные dedicated pins. Как это сделать, я так и не нашел.

Пробовал в Assignments -> Settings -> Fitter Settings -> More Fitter Settings установить параметр Auto Global Register Control Signals (у меня же clock  enable  и в проекте заводится на соответствующие входы блоков) в положение On, но это ничего не дало.

Фраза "Эта функция идеально подходит для внутренних сигналов очистки или синхросигнала с большим разветвлением.", возможно, говорит о НЕОБХОДИМОСТИ большого количества fan-out. В моём проекте их пока 19 и, опять же возможно, квартус считает сигнал недостойным отдельной глобальной линии. Попробую накидать каких-нибудь блоков, чтоб увеличить fan-out, но сомневаюсь, что дело в этом, компилятор-то в варнинге говорит, что глобальных линий нет.

Я это всё к чему? Может кто-то знает, как правильно разобраться с ситуацией?

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


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

15 hours ago, sunder said:

Фраза "Эта функция идеально подходит для внутренних сигналов очистки или синхросигнала с большим разветвлением.", возможно, говорит о НЕОБХОДИМОСТИ большого количества fan-out

А мне кажется - говорит о том, что наоборот, если сигналы имеют большой fanout, то стоит применить эту функцию. Т.е. специально принудительно увеличивать fanout нет необходимости.

15 hours ago, sunder said:

Со входным пином понятно, нужно повесить на землю, но квартус же не знает, на земле пин или нет

Вы уже назначили выводы в проекте? Ну и неиспользуемые глобальные пины стоит подключить соответствующим образом...

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


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

21 minutes ago, Yuri124 said:

А мне кажется - говорит о том, что наоборот, если сигналы имеют большой fanout, то стоит применить эту функцию. Т.е. специально принудительно увеличивать fanout нет необходимости.

Я имел в виду, что функция задействуется при большом fanout, а если их мало, то и не надо никакие сигналы на глобал тащить.

24 minutes ago, Yuri124 said:

Вы уже назначили выводы в проекте? Ну и неиспользуемые глобальные пины стоит подключить соответствующим образом...

Выводы назначил, но не все, некоторые квартус сам раскидывает при компиляции. А насчет неиспользуемых глобальных пинов, "соответствующим образом" значит на землю?

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


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

8 minutes ago, sunder said:

некоторые квартус сам раскидывает при компиляции

Если Вас это устраивает - можете оставить, но можно и переназначить на те, которые Вас больше устраивают.

9 minutes ago, sunder said:

"соответствующим образом" значит на землю?

ну да, может тогда поймет.

10 minutes ago, sunder said:

а если их мало, то и не надо никакие сигналы на глобал тащить.

может  так и происходит - программа считает, что проще развести проект без  вывода на глобальную линию... 

Я считал, что прога обязана выполнять пожелание разработчика, но вполне вероятно, что ее "интеллект" считает себя более приоритетным...

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


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

Ну незанятые глобальные пины на землю я подключу на уровне платы. Квартус не знает, куда я их подключил и, по идее, с его точки зрения ничего не поменяется

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


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

3 minutes ago, sunder said:

Квартус не знает, куда я их подключил

Я имел в виду - в проекте описать, что эти ноги на земле - может тогда и поймет. Хотя по логике - раз ресурс в проекте не задействован - значит, свободен...

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


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

Just now, Yuri124 said:

Я имел в виду - в проекте описать, что эти ноги на земле - может тогда и поймет. Хотя по логике - раз ресурс в проекте не задействован - значит, свободен...

Или я этого не знаю, или просто туплю... Как описать в проекте, что вход висит на земле?

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


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

Возможно - задать для проекта подключение  всех неиспользуемых выводов - As output driving ground (в окне Device and Pin Options/unused pins)...  

 

Но тогда нужно на 100% убедиться, что на плате ноги разведены так, что при включении этой опции не произойдет конфликта (короткого замыкания). Например, на неиспользуемую ногу заведен на плате клок с генератора - и тут его коротят на землю...

Изменено пользователем Yuri124

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


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

1 hour ago, Yuri124 said:

Возможно - задать для проекта подключение  всех неиспользуемых выводов - As output driving ground (в окне Device and Pin Options/unused pins)...  

 

Но тогда нужно на 100% убедиться, что на плате ноги разведены так, что при включении этой опции не произойдет конфликта (короткого замыкания). Например, на неиспользуемую ногу заведен на плате клок с генератора - и тут его коротят на землю...

 

Этот способ знаю, пробовал, не помогает

 

 

Изменено пользователем sunder
edit

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


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

Поковырял другой проект и вроде разобрался.

1. И, наверно, самое важное. Число fanout должно быть большим. С 19 fanout не работает, с 627 fanout работает.

2. При большом числе fanout включенная функция Auto Global Register Control Signals в Assignments -> Settings -> Fitter Settings -> More Fitter Settings делает сигнал глобальным. Я пробовал с функцией Auto Global Clock, но по идее они работают одинаково.

3. Если функция  Auto Global Register Control Signals выключена, то сигнал сделать глобальным можно через буфер Global. Опять же наличие большого числа fanout обязательно.

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


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

А может просто в .qsf файле прописать в явном виде, зачем усложнять?

set_instance_assignment -name GLOBAL_SIGNAL "GLOBAL CLOCK" -to CLK_EN

Хотя квартус8 (9) и тупой, но он самостоятельно способен вытащить сигнал на глобальную тактовую дорожку не только при большом фанауте, но и при невыполнении временных ограничений (если они конечно заданы).

И проверьте, что фиттер реально ваш сигнал поместил на глобальную линию - compilation report - fitter - resource section - global & other...

Вот если не поместил, тогда надо внимательно читать отчеты...

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


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

On 7/30/2021 at 3:15 PM, bogaev_roman said:

И проверьте, что фиттер реально ваш сигнал поместил на глобальную линию - compilation report - fitter - resource section - global & other...

Помещает. Я правда не сообразил и смотрел в файле fit.rpt

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


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

Вообще аккуратнее с этим чипом - классический временной анализатор дает задержки для флекса. Производитель утверждает, что они корректны и для их чипа. Только есть одно НО - различия в питании ядра (это для 5576хс4, для 1 по идее тоже самое)

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


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

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

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

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

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

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

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

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

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

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