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

Констрейны в ISE/Simplify

Добрый день!

Изучаю документацию на использвание констрейнов в выше указаных пакетах и у меня возник следующий вопрос:

Как поступают с временными констрейнами и констрейнами размещения (для ПР, а не для синтеза) в иерархических проектах ?

 

ну с глобальным клоком/коками понятно, описываеться констрейн на клок в топ левел и он распространяеться на все дерево, а как быть с локальными клоками, задержками, falsh path и т.д.

Тоже и с констрейнами размещения.

 

Вариант решения проблемы есть, описывать в ucf файле топ левела иерархию, но ИМХО не есть выход, если проект будет меняться то ....

Можно ли сделать под каждый модуль свой ucf и что бы синтезатор/мапер/ПР собирали из них полный uсf всего проекта ? У симлифая вроде есть такая возможность (до конца еще не изучил) а есть ли подобное у ИСЕ ?

 

Заранее спасибо за ответ.

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


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

Вас спасет constraint guide и ключевые слова constraint propagation и RLOC, RLOC_origin, RLOC_range, U_SET, HU_set, H_set, TNM, TNM_NET, и т.д.

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


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

Вас спасет constraint guide  и ключевые слова constraint propagation и RLOC, RLOC_origin, RLOC_range, U_SET, HU_set, H_set, TNM, TNM_NET, и т.д.

 

Хмм этои разделы я изучал, смысл их понятен, но немного не то, что я хотел бы знать.

В случай использования этих констрейнов ИМХО работы будет строиться так. собираем иерархический проект, потом выделяем группы цепей, пинов, клоков и т.д. и обконстрейниваем их все.

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

Мне же интересна схема работы наоборот. Т.е. сделали различные модули, отладили/оптимизировали их. в том числе и по констрейнам размешения. А потом просто подключили к проекту вместо с ucf файлом.

 

Или это получаеться уже Modular Design и смотреть нужно в ту сторону ?

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


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

Modular design это немножко не то... это о том как в комманде распланировать чип раздать игрокам работу, и пока они ее делают сделать топ левел на чипе и потом собрав модули упаковать их без лшенего геморроя на чип.

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

Правда сам не пробывал поэтому могу и ошибаться

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


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

Modular design это немножко не то... это о том как в комманде распланировать чип раздать игрокам работу, и пока они ее делают сделать топ левел на чипе и потом собрав модули упаковать их без лшенего геморроя на чип.

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

Правда сам не пробывал поэтому могу и ошибаться

 

понятно спасибо,

попрбую на симплифае у них доке про это написанно. если интересно потом выложу результат.

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


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

2 des00

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

Ну а если ничего в модуле не меняется, то и констрейны (с большой степенью вероятности) править не надо будет.

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

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


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

Хотя я немного "покатегоричничал" ;)

Когда-то тоже задавался подобным вопросом.

В синплифае/амплифае можно указывать констрейны, которые потом будут автоматом генериться. Вот только когда я экспериментировал (с годик назад), как то слабо кореллировало мое желание и получаемый результат. К тому же совсем не всегда дезигн вписывается только в PERIOD с OFFSET-ом, ну а тут только ручками ...

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

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


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

Еще вопрос, если можно. Есть группа внешних выводов. Необходимо чтобы система проанализировала задержки и выствавила все одинаковыми (по максимальной).

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


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

to deast: tak ne byvaet ctoby vse zaderzki byli odinakovymi, libo ukazyvaetsja minimum kotoryj nelzja prevysat (dlja vhodov), libo maksimum za kotoryj signal dolzen dobezat do vyhoda

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


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

Хотя vitus_strom уже ответил, добавлю.

Какой смысл выставлять констрейн по максимальному пути?

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

Ну а вообще для подобных целей служит OFFSET, только он работает относительно внешнего тактового сигнала.

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


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

Еще есть FROM:TO и MAXDELAY, причем в каких то случах можно использовать один констрейнт как базовый для другого

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


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

Хорошо. Но если есть два выходных сигнала. Первый их них имеет более жесткие ограничения по выходным задержкам. Но это вовсе не значит, что он реально будет иметь меньшую задержку, чем второй, так как задается максимальное значение. А как тогда сделать, чтобы первый гарантировано имел задержку меньше, чем второй?

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


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

Хорошо. Но если есть два выходных сигнала. Первый их них имеет более жесткие ограничения по выходным задержкам. Но это вовсе не значит, что он реально будет иметь меньшую задержку, чем второй, так как задается максимальное значение. А как тогда сделать, чтобы первый гарантировано имел задержку меньше, чем второй?

 

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

:)

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


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

2 deast

Рзделить констрейны для двух сигналов и для одного сделать более жесткие ограничения.

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


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

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

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

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

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

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

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

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

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

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