Пытаемся наладить процесс характеризации яцеек цифровой библиотеки, столкнулись с расчетом внутренней энергии (rise_power, fall_power из internal power group, synopsys) . Есть образцовый .lib файл для synopsys, полученный с помощью тула nanochar. Для расчетов пользуем spice.
Для простых ячеек типа (инвертор, буффер) работает следующие выражение:
Internal power = total power –C_load*VDD*VDD/2, где
total power - интеграл тока источника i _vdd(t) во временном диапазоне, соответствующем, например, уровням выходного напряжения 0%/100% по переднему/заднему фронту+ умноженный на VDD
C_load - емкость нагрузки, VDD - напряжение питания.
C_load*VDD*VDD/2 - switching power
В качестве переменных задаются фронт входного сигнала и С_load (templates)
результаты симуляции и образцового файла совпадают;
Но для сложных ячеек типа flip-flop (ячейка с прямым и инверсным выходом, выходны нагружены на две одинаковых емкости), в представленном файле почти нет зависимости потребления от емкости нагрузки, а значения, сосчитанные нами к концу диапазона емкостей (большие емкости) в десять раз превышают приведенные в файле цифры. Может уже неверный подход?

Спасибо