Приветствую. Сижу уже третьи сутки, никак не могу придумать скрипт обработки нижеуказанного кода, с целью
подсчета сколько в каждом .SUBCKT групп элементов(элементы SWITCH1, SWITCH2 и другие - могут быть разные названия) и вывести количество .SUBCKT с двумя группами этих элементов. В данном случае результатом должнен быть 1 - второй .SUBCKT ADG.
Подскажите конструкцию для реализации, пожалуйста.
* ADG511_3 Spice Macromodel
* Description: Converter
* END Notes
*
* Node assignments
* IN1
* | D1
* | | S1
* | | | VSS
* | | | | GND
* | | | | | S4
* | | | | | | D4
* | | | | | | | IN4
* | | | | | | | | IN3
* | | | | | | | | | D3
* | | | | | | | | | | S3
* | | | | | | | | | | | VL
* | | | | | | | | | | | | VDD
* | | | | | | | | | | | | | S2
* | | | | | | | | | | | | | | D2
* | | | | | | | | | | | | | | | IN2
* | | | | | | | | | | | | | | | |
.SUBCKT ADG511_3 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
* SWITCH 1
*
MP1 20 1 12 12 PCNTRL L=6E-6 W=90E-6
MN1 20 1 5 5 NCNTRL L=6E-6 W=210E-6
CSD1 2 3 1.3E-12 xSWITCH
*
* SWITCH 2
MP4 30 16 12 12 PCNTRL L=6E-6 W=90E-6
MN4 30 16 5 5 NCNTRL L=6E-6 W=120E-6
*
* SWITCH 3
MP7 40 9 12 12 PCNTRL L=6E-6 W=90E-6
MN7 40 9 5 5 NCNTRL L=6E-6 W=210E-6
IL3 9 5 5E-9
C5 40 4 120P
MP8 41 42 13 13 PCNTRL L=6E-6 W=20E-6
MN8 41 42 4 4 NCNTRL L=6E-6 W=20E-6
*
.MODEL PCNTRL PMOS(VTO=-.2 RD=0.1 RS=0.1)
.MODEL NCNTRL NMOS(VTO=.2 RD=.1 RS=.1)
.MODEL PSW PMOS(LEVEL=1 VTO=-1 GAMMA=0.3772 PHI=0.5 RS=5
+ UO=279.4 TOX=100E-9 LAMBDA =0.3141 CGSO=172.6E-12 KP=4.5E-5
+ CGDO=172.6E-12 CGBO=69.1E-12 CJ=120E-12
+ CJSW=597E-6 JS=3.2E-6 KF=1E-30 AF=1)
.MODEL NSW NMOS(LEVEL=1 VTO=0 GAMMA=1.412 PHI=0.7 RS=10
+ UO=662.6 TOX=100E-9 LAMBDA=.013 CGSO=172.6E-12 KP=3.5E-5
+ CGDO=172.6E-12 CGBO=69.1E-12 CJ=170E-6
+ CJSW=298E-6 JS=2.7E-6 KF=3.6E-29 AF=1)
.ENDS ADG511_3
.END
.SUBCKT ADG
* SWITCH 1
*
MP1 20 1 12 12 PCNTRL L=6E-6 W=90E-6
MN1 20 1 5 5 NCNTRL L=6E-6 W=210E-6
CSD1 2 3 1.3E-12 xSWITCH
*
* SWITCH 2
MP4 30 16 12 12 PCNTRL L=6E-6 W=90E-6
MN4 30 16 5 5 NCNTRL L=6E-6 W=120E-6
*
.MODEL PCNTRL PMOS(VTO=-.2 RD=0.1 RS=0.1)
.MODEL NCNTRL NMOS(VTO=.2 RD=.1 RS=.1)
.MODEL PSW PMOS(LEVEL=1 VTO=-1 GAMMA=0.3772 PHI=0.5 RS=5
+ UO=279.4 TOX=100E-9 LAMBDA =0.3141 CGSO=172.6E-12 KP=4.5E-5
+ CGDO=172.6E-12 CGBO=69.1E-12 CJ=120E-12
+ CJSW=597E-6 JS=3.2E-6 KF=1E-30 AF=1)
.MODEL NSW NMOS(LEVEL=1 VTO=0 GAMMA=1.412 PHI=0.7 RS=10
+ UO=662.6 TOX=100E-9 LAMBDA=.013 CGSO=172.6E-12 KP=3.5E-5
+ CGDO=172.6E-12 CGBO=69.1E-12 CJ=170E-6
+ CJSW=298E-6 JS=2.7E-6 KF=3.6E-29 AF=1)
.ENDS ADG
.END