В программе PSpice принято, что макромодель источника питания имеет имя DIGIFPWR и на нее автоматически делается ссылка при наличии в схеме макромоделей аналого-цифровых интерфейсов. Конкретное содержание макромодели
источника питания определяется пользователем, а ее текст помещается в библиотеку цифровых устройств. Приведем в качестве примера макромодель источника напряжения, принимающего по умолчанию значение 5 В:
.subckt DIGIFPWR AGND optional:
DPWR=$G_DPWR DGND=$G_DGND
+ params: VOLTAGE=5.0v REFERENCE=Ov
VDPWR DPWR DGND {VOLTAGE}
R1 DPWR AGND 1MEG
VDGND DGND AGND {REFERENCE}
R2 DGNDAGND 1MEG
.ends
Здесь узлам цифрового питания и цифровой «земли» присвоены глобальные имена $G_DPWR, $G_DGND (при желании их можно изменить здесь и одновременно в моделях всех цифровых устройств). Узел AGND - общий узел источника питания, который при включении его в общую схему соединяется с узлом аналоговой «земли» 0. Для создания макромодели источника другого напряжения необходимо в задании на моделирование (в файле *.CIR) включить предложение вызова макромодели источника питания, задав с помощью параметра VOLTAGE нужное значение напряжения питания, и указать после номера узла «земли» 0 имена (номера) узлов его выводов, например:
XMYPOWER О MY_PWR MY_GND DIGIFPWR params: VOLTAGE=9.0v
Здесь вызывается источник напряжения 9 В, выводы которого имеют имена MY_PWR и MY_GND (эти имена указываются в моделях примитивов цифровых устройств, подключаемых к этому источнику, см. ниже). Усложнив макромодель, можно создать источник нескольких напряжений.