J
jimjim2k
Guest
Ahoj všem
Jak jsem slíbil v roce:
1.h ** p: / / www.edaboard.com/viewtopic.php?t=98320
I start shromáždit užitečné skripty v Perlu na EDA zde:
Prosím, pomozte získat toto téma
-------------------------------------------------- -----------------------------------
1.Spectre na hspice converion nástroj:Kód:
#! / Usr / bin / perl
# Nelson Hu
# EE464H
# 08/07/03################################################## #####
# Tento program "Spectre2Hspice.pl" generuje Hspice kód
# Spectre netlist (si.inp)
# Výstupy tohoto programu pak bude moci spustit v Hspice
# Pro načasování analýzy################################################## #####
# Jak používat tento program:
# Ve složce Kde je si.inp nalezen, zadejte
# Perl / home/projects/abraham/vlsi464/spicetest/FinalTOOLS/Spectre2Hspice.pl si.inp 3
# Číslo 3 na konci je rozlišení pro načasování analýzy.
to je delší zpoždění, větší počet je používán
# Takže při spuštění Hspice, kód neporušil.################################################## #####
# Vstup:
# Si.inp
# Číslo pro rozlišení.################################################## #####
# Výstup:
#% CELLNAME%. Sp################################################## #####
# Přechodnou dobu a výstup kapacita
# Hspice budou používat tyto dva sloupce k vytvoření matice načasování analýzy
################################################## ###### Přechodnou dobu
@ = QW * 5ps 50ps 100ps 150ps 200ps 250ps 300ps *;
# Kapacitní
@ B = QW * 0ff 3.5ff 17.5ff 35ff 87.5ff 105ff 231ff *;# Před 07/19/03
# @ A = QW * 0 10.695ps 40.71ps 70.75ps 156.49ps 301.6ps 591.8ps *;
# @ B = QW * 0 2FF 8FF 20FF 50FF 100FF 200FF *;# Seokjin navrhl
# @ A = QW * 0.03ps 0.1ps 0.4ps 0.9ps 1.5ps 2.2ps 3Ps *;
# @ B = QW * 0.00035pf 0.021pf 0.0385pf 0.084pf 0.147pf 0.231pf 0.3115pf *;################################################## #####
# Dostat název souboru (obvykle si.inp)
################################################## #####
otevřít LaLa, "$ argv [0]";
@ Line = <LALA>;
Zavřít LaLa;################################################## #####
# Dostat druhý argument, rozlišení
################################################## #####
$ Hp = $ argv [1];################################################## #####
# Získat název buňky, ze si.inp a použití
# Název buňky vytvořit% CELLNAME%. Sp
################################################## #####
foreach (@ line) (
if ($ _ = ~ / Design buněk název: /) (
@ Temp = split / /,$_;
$ Filename = $ temp [$ # temp];
žvýkat $ filename
)otevřít HSPICE, "> $ filename.sp";################################################## #####
# Hledat brány a počet vstupních
# $ OtherInput je buď "GND", nebo "VDD".
# To specifikuje pro více vstupů do tie všechny na GND a VDD
# $ Inverted je buď "T" nebo "F".
# Říká, že program je brána obrácené
# Této části je nutno doplnit o nový typ logiky buněk
################################################## #####$ NumberOfInput = $ filename;
if ($ filename = ~ / inv /) (
$ NumberOfInput = 1;
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / buf /) (
$ NumberOfInput = 1;
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / MUX /) (# nemusí fungovat
$ NumberOfInput = 3;
$ OtherInput = "VDD";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / NAND /) (
$ NumberOfInput = ~ s / NAND / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "VDD";
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / ani /) (
$ NumberOfInput = ~ s / ani / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / xor /) (
$ NumberOfInput = ~ s / xor / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / a /) (
$ NumberOfInput = ~ s / a / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "VDD";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / nebo /) (
$ NumberOfInput = ~ s / nebo / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ Obrácené = "F"
if ($ NumberOfInput == 1) (
$ Input = ""
if ($ NumberOfInput == 2) (
$ Input = "B"
if ($ NumberOfInput == 3) (
$ Input = "AB C"
if ($ NumberOfInput == 4) (
$ Input = "ABC D"
if ($ NumberOfInput == 5) (
$ Input = "ABCD E"
$ InOut = $ input. "". $ Výstup;################################################## #####
# Nahradit "\" a návrat vozíku (v případě, že linka je příliš dlouhý)
# S carriage return a " " v HSPICE formátu
################################################## #####
for ($ n = 0; $ n <= $ # line; $ n ) (
if ($ line [$ n] = ~ / \ \ \ n /) (
žvýkat $ line [$ n];
chop $ line [$ n];
$ Line [$ n] .= $ line [($ n 1)];
$ Line [$ n] = ~ s / / / g
)################################################## #####
# Aby se jich zbavil všech tratích s výjimkou jednoho začíná
# _inst
################################################## #####
$ N = 0;
foreach (@ line) (
if ($ _ = ~ / _inst \ d /) (
$ Nová [$ n] = $ _;
$ N
)
################################################## #####
# Nahradit _inst s * C nebo M * a uzavřít slovo
# Kondenzátor a region = sat.
také uzavřít "(", ")", "!"
################################################## #####
$ M = 1; $ c = 1;
foreach (@ nové) (
if (($ _ = ~ / tsmc20P /) nebo ($ _ = ~ / tsmc20N /)) (
$ _ = ~ S / _inst [\ d] / M $ M / g;
$ M
if ($ _ = ~ / kondenzátor /) (
$ _ = ~ S / _inst [\ d] / C $ C / g;
$ C ;
$ _ = ~ S / kondenzátor / / g
$ _ = ~ S / region \ = sat / / g;
$ _ = ~ S / \ (/ / g;
$ _ = ~ S / \) / / g;
$ _ = ~ S / \! / / G;
$ _ = ~ S / / / g
################################################## #####
# Duplicitní m, pokud m je větší než 2
################################################## #####foreach (@ nové) (
@ Hodnoty = split / /,$_;
$ Hodnoty [$ # hodnoty] = ~ s / m = / / g;
$ Temp = $ hodnoty [$ # hodnoty];
žvýkat $ temp;
$ Hodnoty [$ # hodnoty] = "\ n";
$ _ = Připojit se "," @ hodnoty;
$ Temp -;
$ Copy = $ _;
pro (1 .. $ temp) (
$ Nová [$ # nové 1] = $ kopie;
@ Změna = split / /, $ nová [$ # nové];
if ($ změna [0] = ~ s / M [\ d] / M $ M / g) (;
$ M
if ($ změna [0] = ~ s / C [\ d] / C $ C / g) (;
$ C
$ Nová [$ # nové] = Přidej se "," @ změny;
))################################################## #####
# Výměna w, l, as, reklamní, PS, PD
################################################## #####foreach (@ nové) (
@ Hodnoty = split / /,$_;
if ($ hodnoty [0] = ~ / M (\ d) /) (
($ Hodnoty [7], $ hodnoty [6]) = ($ hodnoty [6], $ hodnoty [7]);
($ Hodnoty [9], $ hodnoty [8]) = ($ hodnoty [8], $ hodnoty [9]);
($ Hodnoty [11], $ hodnoty [10]) = ($ hodnoty [10], $ hodnoty [11])
$ _ = Připojit se "," @ hodnoty
################################################## #####
# Přidání začátku souboru
################################################## #####$ Střední = Připojit "", @ nové;
$ Střední = ~ s / \ n / \ n / g;$ Top_middle = "\ *". $ Filename. ". Sp \ n.options SPICE NOMOD Autostop LVLTIM = 3 \ n.param ttra = 0.1n LV = 0.1e-12 \ n.temp 27 \ n \ n.include \ "/ usr/local/packages/cadence/local/models/hspice/standalone/tsmc20P.m \" \ n.include \ "/ usr/local/packages/cadence/local/models/hspice/standalone/tsmc20N.m \ "\ n.global VDD \ n.global GND \ n \ n \ n.subckt $ filename $ InOut \ n".
$ Uprostřed. ". Skončí \ n";################################################## #####
# Find počet vstupních
################################################## #####
@ Input = split / /, $ input;
$ N_input = $ # vstup, # počet vstupních - 1
$ G = "GND";
$ V = "VDD";
$ I = "input";
$ O = "výstup";žvýkat hp $;
$ Období = $ hp $ hp;
$ Wholeperiod = $ období $ hp;
$ Rozlišení = (($ doba 1) / 10000);print "je rozlišení". $ rozlišení. "\ n";$ Lastpart = "X". $ Filename. $ $ I. OtherInput x $ n_input. $ O. "". $ Filename. "\ NCLOAD". $ $ O. G. "LV \ n \ NVA". $ I. $ G. "PULSE \ (0,3.3,1 p, Ttra, Ttra". $ hp. "n". $ období. "n \) \ n \ nvdd". $ $ V. G. "3,3 \ n \ n ";################################################## #####
# Middie-poslední část
################################################## #####
if ($ obráceného eq "T") (
$ Abc = ". MEAS TRAN cell_rise TRIG V ($ I) val = 1,65 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 1,65 vznik = 1 \ n".
". MEAS TRAN cell_fall TRIG V ($ I) val = 1,65 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 1,65 pád = 1 \ n".
". MEAS TRAN rise_slew TRIG V ($ O) val = 0,33 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 2,97 vznik = 1 \ n".
". MEAS TRAN fall_slew TRIG V ($ O) val = 2,97 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 0,33 pád = 1 \ n".
". TRAN". $ Řešení. "N". $ Wholeperiod. "N zamést DATA = DATNM \ n"
elsif ($ obrácené eq "F") (
$ Abc = ". MEAS TRAN cell_rise TRIG V ($ I) val = 1,65 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 1,65 vznik = 1 \ n".
". MEAS TRAN cell_fall TRIG V ($ I) val = 1,65 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 1,65 pád = 1 \ n".
". MEAS TRAN rise_slew TRIG V ($ O) val = 0,33 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 2,97 vznik = 1 \ n".
". MEAS TRAN fall_slew TRIG V ($ O) val = 2,97 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 0,33 pád = 1 \ n".
". TRAN". $ Řešení. "N". $ Wholeperiod. "N zamést DATA = DATNM \ n"
################################################## #####
# Liší kapacitní a zpoždění
# Změna @, @ b na vrcholu
################################################## #####
@ C;
$ # C = 0;
foreach $ (@) (
foreach $ b (@ b) (
$ C [$ # c ] = ($ a. "\ t". $ B. "\ n ");}}
$ C = Připojit se "," @ c;
$ C = ~ s / \ n / \ n / g;$ Datnm = ". DATA DATNM \ nTtra \ TLV \ n $ c.ENDDATA \ n";# Print $ datnm;################################################## #####
# Změna. Změnit
################################################## #####
@ Poslední;
$ Count = 2;
pro (1 .. $ n_input) (
$ Poslední [0] = "X $ filename";
$ Poslední [1] = $ OtherInput;
pro (1 .. $ n_input) (
$ Poslední [$ _ 1] = $ OtherInput
$ Poslední [$ count ] = $ I;
$ Poslední .= ". Měnit \ n (at) posledních $ O $ filename \ n";
)
$ Poslední .= ". Konci \ n";################################################## #####
# Spojit všechny
################################################## #####$ Poslední = "$ top_middle". "\ N". "$ Lastpart". "$ Abc \ n". "$ Datnm". "\ N". "$ Poslední";
Tisk HSPICE $ v konečném znění;Zavřít HSPICE;
Jak jsem slíbil v roce:
1.h ** p: / / www.edaboard.com/viewtopic.php?t=98320
I start shromáždit užitečné skripty v Perlu na EDA zde:
Prosím, pomozte získat toto téma
-------------------------------------------------- -----------------------------------
1.Spectre na hspice converion nástroj:Kód:
#! / Usr / bin / perl
# Nelson Hu
# EE464H
# 08/07/03################################################## #####
# Tento program "Spectre2Hspice.pl" generuje Hspice kód
# Spectre netlist (si.inp)
# Výstupy tohoto programu pak bude moci spustit v Hspice
# Pro načasování analýzy################################################## #####
# Jak používat tento program:
# Ve složce Kde je si.inp nalezen, zadejte
# Perl / home/projects/abraham/vlsi464/spicetest/FinalTOOLS/Spectre2Hspice.pl si.inp 3
# Číslo 3 na konci je rozlišení pro načasování analýzy.
to je delší zpoždění, větší počet je používán
# Takže při spuštění Hspice, kód neporušil.################################################## #####
# Vstup:
# Si.inp
# Číslo pro rozlišení.################################################## #####
# Výstup:
#% CELLNAME%. Sp################################################## #####
# Přechodnou dobu a výstup kapacita
# Hspice budou používat tyto dva sloupce k vytvoření matice načasování analýzy
################################################## ###### Přechodnou dobu
@ = QW * 5ps 50ps 100ps 150ps 200ps 250ps 300ps *;
# Kapacitní
@ B = QW * 0ff 3.5ff 17.5ff 35ff 87.5ff 105ff 231ff *;# Před 07/19/03
# @ A = QW * 0 10.695ps 40.71ps 70.75ps 156.49ps 301.6ps 591.8ps *;
# @ B = QW * 0 2FF 8FF 20FF 50FF 100FF 200FF *;# Seokjin navrhl
# @ A = QW * 0.03ps 0.1ps 0.4ps 0.9ps 1.5ps 2.2ps 3Ps *;
# @ B = QW * 0.00035pf 0.021pf 0.0385pf 0.084pf 0.147pf 0.231pf 0.3115pf *;################################################## #####
# Dostat název souboru (obvykle si.inp)
################################################## #####
otevřít LaLa, "$ argv [0]";
@ Line = <LALA>;
Zavřít LaLa;################################################## #####
# Dostat druhý argument, rozlišení
################################################## #####
$ Hp = $ argv [1];################################################## #####
# Získat název buňky, ze si.inp a použití
# Název buňky vytvořit% CELLNAME%. Sp
################################################## #####
foreach (@ line) (
if ($ _ = ~ / Design buněk název: /) (
@ Temp = split / /,$_;
$ Filename = $ temp [$ # temp];
žvýkat $ filename
# Hledat brány a počet vstupních
# $ OtherInput je buď "GND", nebo "VDD".
# To specifikuje pro více vstupů do tie všechny na GND a VDD
# $ Inverted je buď "T" nebo "F".
# Říká, že program je brána obrácené
# Této části je nutno doplnit o nový typ logiky buněk
################################################## #####$ NumberOfInput = $ filename;
if ($ filename = ~ / inv /) (
$ NumberOfInput = 1;
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / buf /) (
$ NumberOfInput = 1;
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / MUX /) (# nemusí fungovat
$ NumberOfInput = 3;
$ OtherInput = "VDD";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / NAND /) (
$ NumberOfInput = ~ s / NAND / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "VDD";
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / ani /) (
$ NumberOfInput = ~ s / ani / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ = Obráceného "T"
elsif ($ filename = ~ / xor /) (
$ NumberOfInput = ~ s / xor / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / a /) (
$ NumberOfInput = ~ s / a / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "VDD";
$ Output = "Z";
$ Obrácené = "F"
elsif ($ filename = ~ / nebo /) (
$ NumberOfInput = ~ s / nebo / / g;
$ NumberOfInput = ~ s / x [\ d] / / g;
$ OtherInput = "GND";
$ Output = "Z";
$ Obrácené = "F"
$ Input = ""
if ($ NumberOfInput == 2) (
$ Input = "B"
if ($ NumberOfInput == 3) (
$ Input = "AB C"
if ($ NumberOfInput == 4) (
$ Input = "ABC D"
if ($ NumberOfInput == 5) (
$ Input = "ABCD E"
# Nahradit "\" a návrat vozíku (v případě, že linka je příliš dlouhý)
# S carriage return a " " v HSPICE formátu
################################################## #####
for ($ n = 0; $ n <= $ # line; $ n ) (
if ($ line [$ n] = ~ / \ \ \ n /) (
žvýkat $ line [$ n];
chop $ line [$ n];
$ Line [$ n] .= $ line [($ n 1)];
$ Line [$ n] = ~ s / / / g
)################################################## #####
# Aby se jich zbavil všech tratích s výjimkou jednoho začíná
# _inst
################################################## #####
$ N = 0;
foreach (@ line) (
if ($ _ = ~ / _inst \ d /) (
$ Nová [$ n] = $ _;
$ N
)
################################################## #####
# Nahradit _inst s * C nebo M * a uzavřít slovo
# Kondenzátor a region = sat.
také uzavřít "(", ")", "!"
################################################## #####
$ M = 1; $ c = 1;
foreach (@ nové) (
if (($ _ = ~ / tsmc20P /) nebo ($ _ = ~ / tsmc20N /)) (
$ _ = ~ S / _inst [\ d] / M $ M / g;
$ M
if ($ _ = ~ / kondenzátor /) (
$ _ = ~ S / _inst [\ d] / C $ C / g;
$ C ;
$ _ = ~ S / kondenzátor / / g
$ _ = ~ S / region \ = sat / / g;
$ _ = ~ S / \ (/ / g;
$ _ = ~ S / \) / / g;
$ _ = ~ S / \! / / G;
$ _ = ~ S / / / g
# Duplicitní m, pokud m je větší než 2
################################################## #####foreach (@ nové) (
@ Hodnoty = split / /,$_;
$ Hodnoty [$ # hodnoty] = ~ s / m = / / g;
$ Temp = $ hodnoty [$ # hodnoty];
žvýkat $ temp;
$ Hodnoty [$ # hodnoty] = "\ n";
$ _ = Připojit se "," @ hodnoty;
$ Temp -;
$ Copy = $ _;
pro (1 .. $ temp) (
$ Nová [$ # nové 1] = $ kopie;
@ Změna = split / /, $ nová [$ # nové];
if ($ změna [0] = ~ s / M [\ d] / M $ M / g) (;
$ M
if ($ změna [0] = ~ s / C [\ d] / C $ C / g) (;
$ C
$ Nová [$ # nové] = Přidej se "," @ změny;
))################################################## #####
# Výměna w, l, as, reklamní, PS, PD
################################################## #####foreach (@ nové) (
@ Hodnoty = split / /,$_;
if ($ hodnoty [0] = ~ / M (\ d) /) (
($ Hodnoty [7], $ hodnoty [6]) = ($ hodnoty [6], $ hodnoty [7]);
($ Hodnoty [9], $ hodnoty [8]) = ($ hodnoty [8], $ hodnoty [9]);
($ Hodnoty [11], $ hodnoty [10]) = ($ hodnoty [10], $ hodnoty [11])
$ _ = Připojit se "," @ hodnoty
# Přidání začátku souboru
################################################## #####$ Střední = Připojit "", @ nové;
$ Střední = ~ s / \ n / \ n / g;$ Top_middle = "\ *". $ Filename. ". Sp \ n.options SPICE NOMOD Autostop LVLTIM = 3 \ n.param ttra = 0.1n LV = 0.1e-12 \ n.temp 27 \ n \ n.include \ "/ usr/local/packages/cadence/local/models/hspice/standalone/tsmc20P.m \" \ n.include \ "/ usr/local/packages/cadence/local/models/hspice/standalone/tsmc20N.m \ "\ n.global VDD \ n.global GND \ n \ n \ n.subckt $ filename $ InOut \ n".
$ Uprostřed. ". Skončí \ n";################################################## #####
# Find počet vstupních
################################################## #####
@ Input = split / /, $ input;
$ N_input = $ # vstup, # počet vstupních - 1
$ G = "GND";
$ V = "VDD";
$ I = "input";
$ O = "výstup";žvýkat hp $;
$ Období = $ hp $ hp;
$ Wholeperiod = $ období $ hp;
$ Rozlišení = (($ doba 1) / 10000);print "je rozlišení". $ rozlišení. "\ n";$ Lastpart = "X". $ Filename. $ $ I. OtherInput x $ n_input. $ O. "". $ Filename. "\ NCLOAD". $ $ O. G. "LV \ n \ NVA". $ I. $ G. "PULSE \ (0,3.3,1 p, Ttra, Ttra". $ hp. "n". $ období. "n \) \ n \ nvdd". $ $ V. G. "3,3 \ n \ n ";################################################## #####
# Middie-poslední část
################################################## #####
if ($ obráceného eq "T") (
$ Abc = ". MEAS TRAN cell_rise TRIG V ($ I) val = 1,65 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 1,65 vznik = 1 \ n".
". MEAS TRAN cell_fall TRIG V ($ I) val = 1,65 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 1,65 pád = 1 \ n".
". MEAS TRAN rise_slew TRIG V ($ O) val = 0,33 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 2,97 vznik = 1 \ n".
". MEAS TRAN fall_slew TRIG V ($ O) val = 2,97 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 0,33 pád = 1 \ n".
". TRAN". $ Řešení. "N". $ Wholeperiod. "N zamést DATA = DATNM \ n"
elsif ($ obrácené eq "F") (
$ Abc = ". MEAS TRAN cell_rise TRIG V ($ I) val = 1,65 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 1,65 vznik = 1 \ n".
". MEAS TRAN cell_fall TRIG V ($ I) val = 1,65 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 1,65 pád = 1 \ n".
". MEAS TRAN rise_slew TRIG V ($ O) val = 0,33 TD = 0n vznik = 1 \ n \ tTARG V ($ O) val = 2,97 vznik = 1 \ n".
". MEAS TRAN fall_slew TRIG V ($ O) val = 2,97 TD = 0n pád = 1 \ n \ tTARG V ($ O) val = 0,33 pád = 1 \ n".
". TRAN". $ Řešení. "N". $ Wholeperiod. "N zamést DATA = DATNM \ n"
# Liší kapacitní a zpoždění
# Změna @, @ b na vrcholu
################################################## #####
@ C;
$ # C = 0;
foreach $ (@) (
foreach $ b (@ b) (
$ C [$ # c ] = ($ a. "\ t". $ B. "\ n ");}}
$ C = Připojit se "," @ c;
$ C = ~ s / \ n / \ n / g;$ Datnm = ". DATA DATNM \ nTtra \ TLV \ n $ c.ENDDATA \ n";# Print $ datnm;################################################## #####
# Změna. Změnit
################################################## #####
@ Poslední;
$ Count = 2;
pro (1 .. $ n_input) (
$ Poslední [0] = "X $ filename";
$ Poslední [1] = $ OtherInput;
pro (1 .. $ n_input) (
$ Poslední [$ _ 1] = $ OtherInput
$ Poslední [$ count ] = $ I;
$ Poslední .= ". Měnit \ n (at) posledních $ O $ filename \ n";
)
$ Poslední .= ". Konci \ n";################################################## #####
# Spojit všechny
################################################## #####$ Poslední = "$ top_middle". "\ N". "$ Lastpart". "$ Abc \ n". "$ Datnm". "\ N". "$ Poslední";
Tisk HSPICE $ v konečném znění;Zavřít HSPICE;