Цитата(klop @ Nov 24 2011, 10:16)

Добрый день,
Очень хотелось бы найти толковое руководство по заданию Timing constraints и STA.
Работаю в Cadence но и для Synopsys будет нелишнее. Интересует именно подробное с примерами как делать можно а как нельзя. общем
Схемку с одним идеальным колоком законстрейнить не проблема а вот когда на один модуль приходит три-четыре селектируемых клока...
Заранее спасибо.
Даже схемка с одним СLK входом требует 2 клока - один для схемы внутри, второй (виртуальный) - для вход\выход портов.
Ну а где 2 - там и 10.
STA нормально понимает когда на одном физическом входе задекларировано много клоков.
Цитата(klop @ Jan 11 2012, 10:43)

Спасибо большое.
Еще один вопрос по теме. В дизайне имеется некий блок (EEPROM) На адресные входа этой EEPROM приходят прошедшие через комбинаторную логику выходы флопов (все как обычно). Проблема в том что провайдер EEPROM требует чтобы все адресные входы устаканились в течении ограниченного периода времени (окно -> 2 нс). Как это обконстрайнить?
Заранее спасибо.
Вы наверное хотите добиться skew=2нс в адресной шине.
Это противоречит идеологии синхронного дизайна. Тул это плохо воспримет.
Попробуйте использовать:
set_max_delay
set_min_delay
Цитата(Nix_86 @ Feb 11 2012, 18:28)

"Устаканивание" перед чем? Перед фроном синхроимпульса или сигналом выбора EEPROM? В обоих случаях задачу можно решить, задав ограничения по setup в библиотечном описании блока в секции таймингов адресного пина.
Как вариант можно но....
Надо гарантировать коридор =+\-1нс, а setup в LIB это ограничение с одной только стороны. Т.е. А(1) может прийти через 3нс а А(2) через 6нс.
Надо-же гарантировать разницу А(2)-А(1)<=2нс.
Конечно приближая setup до периода клока может и получится загнать тул в угол - ужать все пути до минимума и может они выровняются.....
Но это гадание на кофейной гуще и много итераций.