Цитата(SM @ Jul 16 2007, 18:31)

синопсис DC получает отрицательные значения HOLD и RECOVERY - в nc-verilog при аннотации sdf файла они обнуляются, как лечить и откуда это берётся?
Отрицательный холд/рекавери/сетап и т.п. это нормальная вещь. Всего лишь означает, что (пример для холда) данные совсем не обязательно удерживать после клока, а можно сменить даже раньше действующего фронта на столько времени. Берется оно из рассчетов - величина из либы и задержки в проводах. Если его занулить - хуже не будет никому - просто будет более жесткая проверка, с большим запасом.
1. Verilog-NC c нулевыми числами в SDF не работает (просто игнорирует).
По смыслу проверить на 0 - означает найти такое событие где проверяемые события из
timing violation совпадут. Вероятность этого весьма мала...
2. Я бы посоветовал, наоборот, поставить не нулевые значения и посмотреть.
Это полезно если проект синтезруется не полностью (часть блоков вручную или
экспоритуется как готовые или не все constraints выставлены при синтезе и т.п.)
Это может быть полезно, т. к. топология может дать перекос (0.1-0.5нс легко для современных
быстрых элементов и этого будет достаточно...).
Ещё это существенно, если необходимо как-то заложить запас на разброс
технологий и т. п.
3. Хотя большая часть разработчиков (я этого пока не понимаю) вообще не моделирует и не проверяет схему на timing violation таким образом.
Проверку на это они выполняют с помощью статического временного анализа.
(Synopsys-PrimeTime, Cadence-Pearl и др.). Но в этом случае надо грамотно задать все проверки по путям и constartints, отсечь все ложные пути (проверки). Короче, это своя наука...