[an error occurred while processing this directive]
|
Во первых - линия задержки ПО ДАННЫМ и АДРЕСАМ. Так как у меня клок инвертирован, и его передний фронт гарантировано попадает в устоявшиеся данные. А в реальном чипе задержка на клоко-гейтилке войдет в общий бюджет задержек в дереве клока - то есть она изначально считается за ноль. Посему я задерживаю данные (не могу и не имею права с клоком так поступать).
А синопсис очень просто задерживает - он знает, что "clock" это клок. Это я ему в констрейнах сказал. Он знает (я ему сказал через спец-команду, о кторой писал), что на гейтилках сетап сигнала разрешения относительно фронта клока должен быть не меньше 100пс и холд (после спада) такой-же. Так как клок инверсный, сетап выдержан изначально. Холд если не выдержан - вставляет буфера до тех пор, пока холд не станет в норме. По линиям данных - берет из технологической библиотеки инфу о сетапе перед фронтом, и о холде после спада для данной конкретной защелки. После чего проверяет сетап и холд, если сетап не выдержан - пытается соптимизировать критический путь (уменьшить время прохождения, но в моем случае это не актуально - априори сетап в порядке). Если холд - вставляет буфера. Ну, только, главное, не забыть перед компиляцией ему сказать "set_fix_hold", а то он на эту задачу "положит", оставив войну с холдами плейсеру-рутеру.
E-mail: info@telesys.ru