Przedmowa. Przedmowa



Podobne dokumenty
Symulacja układów elektronicznych z użyciem oprogramowania SPICE zajęcia warsztatowe SKN CHIP. Przygotował Bogdan Pankiewicz, maj 2017

Większe możliwości dzięki LabVIEW 2009: programowanie równoległe, technologie bezprzewodowe i funkcje matematyczne w systemach czasu rzeczywistego

Zajęcia 10. PSpice Komputerowa symulacja układów elektronicznych (analogowych i cyfrowych) Pspice Schematic evaluation version 9.1

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Katedra Mikroelektroniki i Technik Informatycznych

PRZEWODNIK PO PRZEDMIOCIE

Systemy operacyjne. Informatyka Stosowana, I rok. Krzysztof Wilk. Katedra Informatyki Stosowanej i Modelowania

Tworzenie oprogramowania

Uniwersytet Mikołaja Kopernika. Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej

Mechatronika i inteligentne systemy produkcyjne. Modelowanie systemów mechatronicznych Platformy przetwarzania danych

Marek Parfieniuk, Tomasz Łukaszuk, Tomasz Grześ. Symulator zawodnej sieci IP do badania aplikacji multimedialnych i peer-to-peer

Zakład Układów Elektronicznych i Termografii ( Prezentacja bloków i przedmiotów wybieralnych

Język opisu sprzętu VHDL

Dostawa oprogramowania. Nr sprawy: ZP /15

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Zdalne monitorowanie i zarządzanie urządzeniami sieciowymi

1.1. Możliwości programu

Podstawy elektroniki i miernictwa

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

System zarządzający grami programistycznymi Meridius

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Załącznik nr 1 do Zapytania ofertowego: Opis przedmiotu zamówienia

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

omnia.pl, ul. Kraszewskiego 62A, Jarosław, tel

Zamieszczanie ogłoszenia: obowiązkowe. Ogłoszenie dotyczy: zamówienia publicznego.

ZAJĘCIA WYBIERALNE KIERUNEK ELEKTRONIKA I TELEKOMUNIKACJA STUDIA NIESTACJONARNE

OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Kurs wybieralny: Zastosowanie technik informatycznych i metod numerycznych w elektronice

WYMAGANIA DOTYCZĄCE ZALICZENIA ZAJĘĆ

Wykład 1. Wprowadzenie do systemów CAD

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

TECHNOLOGIE INFORMACYJNE

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

Elementy cyfrowe i układy logiczne

Systemy na Chipie. Robert Czerwiński

Technika mikroprocesorowa

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

PROGRAM MICROSOFT DEVELOPER NETWORK ACADEMIC ALLIANCE MSDN AA

efekty kształcenia dla kierunku Elektronika studia stacjonarne drugiego stopnia, profil ogólnoakademicki

Szybkie prototypowanie w projektowaniu mechatronicznym

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Efekty kształcenia na kierunku AiR drugiego stopnia - Wiedza Wydziału Elektrotechniki, Automatyki i Informatyki Politechniki Opolskiej

PRZEWODNIK PO PRZEDMIOCIE

Firma Informatyczna ASDER. Prezentacja. Serwer danych lokalnych. Przemysław Kroczak ASDER

Inteligentne projektowanie systemów rozdziału energii Łatwo, szybko i bezpiecznie. simaris design

Informatyka studia stacjonarne pierwszego stopnia

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Modelowanie jako sposób opisu rzeczywistości. Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka

KIERUNKOWE EFEKTY KSZTAŁCENIA

InPro BMS InPro BMS SIEMENS

Jednolite zarządzanie użytkownikami systemów Windows i Linux

PROGRAMOWALNE STEROWNIKI LOGICZNE

Projekt przejściowy 2016/2017 BARTOSZ JABŁOŃSKI

Scala Business Solutions Polska Sp. z o.o. Signature metodologia wdrażania Scali. Czego użytkownik potrzebuje najbardziej?

Naukowe Koło Nowoczesnych Technologii

Dokumentacja projektu QUAIKE Architektura oprogramowania

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2018/2019

KOMPLEKSOWA OFERTA SZKOLEŃ MS EXCEL. z konsultacjami

SPIS TREŚCI. Do Czytelnika... 7

INSTRUKCJA LABORATORYJNA

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Technik Elektronik. Miejsce pracy: Kwidzyn.

PLATFORMA ACTIVE FORMS. Kreator Formularzy Internetowych ze wsparciem dla RWD

ABC. Obiekt3D Wersja 6.2 Opis

Projektowanie i symulacja systemu pomiarowego do pomiaru temperatury

Investing f or Growth

PROMOCJA PROJEKTU. SchematicLab stworzenie innowacyjnej aplikacji do projektowania układów elektronicznych firmy GEARCOM SPÓŁKA JAWNA ADAM CICHOSZ

Instytut Systemów Elektronicznych. Specjalność Systemy Informacyjno-Pomiarowe

Ewidencja oznakowania w oparciu o system wideorejestracji.

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Simulink MATLAB Przegląd obiektów i przykłady zastosowań

biegle i poprawnie posługuje się terminologią informatyczną,

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

BSD alternatywa dla Linuksa. (na przykładzie FreeBSD)

EFEKTY KSZTAŁCENIA DLA KIERUNKU STUDIÓW INFORMATYKA

System Cyfrowego Obiegu Dokumentów to rozwiązanie ułatwiające procesy przechowywania, zarządzania i wyszukiwania dokumentów.

Rodzina systemów Microsoft Windows 1. Rodzina systemów Microsoft Windows

Systemy Czasu Rzeczywistego (SCR)

Modelowanie logiki rewersyjnej w języku VHDL

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Badanie właściwości wysokorozdzielczych przetworników analogowo-cyfrowych w systemie programowalnym FPGA. Autor: Daniel Słowik

REFERAT PRACY DYPLOMOWEJ

ABC. Rama3D Wersja 6.2 Opis

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Wymagania edukacyjne na ocenę z informatyki klasa 3

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Informacja o firmie i oferowanych rozwiązaniach

Elektrotechnika II Stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

<Nazwa firmy> <Nazwa projektu> Specyfikacja dodatkowa. Wersja <1.0>

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Po ukończeniu studiów pierwszego stopnia na kierunku studiów elektronika i telekomunikacja absolwent:

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

SYSTEMY WBUDOWANE CZASU RZECZYWISTEGO. Specjalność magisterska Katedry Systemów Elektroniki Morskiej

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Transkrypt:

7 Wczesne lata 70. XX wieku były początkiem burzliwego rozwoju technologii wytwarzania scalonych układów elektronicznych. Ze względu na wysoki koszt opracowania masek układ scalony musi być bardzo dokładnie przetestowany, zanim rozpocznie się jego masową produkcję. W przypadku układów scalonych badania wykonywane na prototypie nie mogą być zastosowane z dwóch podstawowych powodów. Po pierwsze, koszt wykonania jednego kompletu masek prototypu jest porównywalny z kosztem produkcji całego układu, na który składa się głównie koszt projektu układu i masek oraz koszt testowania układu. Po drugie, model układu wykonany na elementach dyskretnych z reguły nie oddaje zachowania układu scalonego. Powodem tego są specyficzne zjawiska fizyczne charakterystyczne tylko dla układów scalonych. W rezultacie pozostaje symulacja komputerowa, która pozwala na sprawdzenie układu stosunkowo niskim kosztem, zanim jeszcze praktycznie go wykonano. Dlatego też początek lat 70. XX wieku to okres intensywnych prac nad metodami i algorytmami komputerowej symulacji układów elektronicznych. Program analizy układów elektronicznych SPICE w swojej pierwotnej postaci powstał na początku lat 70. na Uniwersytecie Kalifornijskim w Berkeley i w krótkim czasie zyskał akceptacje wydziałów elektroniki wielu uczelni, a firmy programistyczne zaczęły zaopatrywać dynamicznie rozwijający się przemysł układów scalonych w jego pochodne. Do dzisiaj studenci elektroniki większości uczelni poznają zastosowania programu SPICE lub jego mutacji, a większość współczesnych symulatorów komercyjnych na nim się opiera. Swego rodzaju fenomenem jest, że program SPICE stał się standardem przemysłowym bez udziału jakichkolwiek komisji do spraw standaryzacji. Najważniejszą przyczyną tej wyjątkowej popularności był fakt, że SPICE powstał na uczelni państwowej i od początku był projektem publicznym. Początkowo traktowany jako pomoc naukowa dla studentów, szybko został zaakceptowany na wielu wyższych uczelniach na świecie. Absolwenci rozpoczynający kariery w przemyśle mogli otrzymać bezpłatną kopię programu i stosować go w pracy, przyczyniając się tym samym do wzrostu jego popularności. Wygoda użytkowania oraz wyjątkowa wiarygodność i dokładność obliczeń spowodowały, że SPICE stał się wzorcem programu przeznaczonego do analizy obwodów i obecnie jest użytkowany także przy projektowaniu układów złożonych z elementów dyskretnych. SPICE był ostatnim z szeregu programów do symulacji układów elektronicznych opracowanych na Uniwersytecie Kalifornijskim w Berkeley i w dużej mierze był pochodną powstałego w latach 1968...1970, pod kierunkiem Ronalda H. Rohrera, programu CANCER (ang. Computer Analysis of Nonlinear Circuits, Excluding Radiation). Program CANCER ujrzał światło dzienne w artykule [1] opublikowanym przez studenta Lawrence a Nagela w roku 1971. Program ten powstawał w czasach, gdy nad wieloma projektami komputerowej analizy układów pracowano w wielkich korporacjach realizując zamówienia rządowe. W zamówieniach tych wymagano istnienia symulacji pozwalających badać odporność układów na promieniowanie. Nazwa programu wyraźnie sygnalizowała, że nigdy nie będzie on służył do symulacji wpływu promieniowania i że nie jest wspierany przez

8 przemysł obronny, co w latach 60. XX wieku było szczególnie wymowne. Po ukończeniu studiów magisterskich Nagel postanowił dalej rozwijać program i ponieważ Rohrer odchodził z uniwersytetu rozpoczął studia doktoranckie z Donaldem O. Pedersonem jako promotorem. Możliwości Pedersona w zakresie dystrybucji wśród przyjaciół i kolegów z przemysłu źródeł programu CANCER były ograniczone, ponieważ program nie był jego własnością intelektualną. Zatem gdy Rohrer opuszczał Berkeley, Pederson przejął projekt z zastrzeżeniem, Ronald H. Rohrer że będzie mógł wykorzystać źródła programu CANCER jako punkt wyjścia dla w pełni publicznego, otwartego symulatora układów. Nazwa CANCER nie była w przemyśle zbyt popularna głównie z powodu skojarzeń z nowotworami. Nagel wiedział, że projekt nie zyska uznania bez chwytliwej nazwy, tak więc przemianował program na SPICE ang. Simulation Program with Integrated Circuit Emphasis, co w wolnym przekładzie oznacza Program symulacyjny ze szczególnym uwzględnieniem układów scalonych. Pierwsze kopie programu oznaczone numerem 1 rozprowadzono w roku 1971 jako oprogramowanie typu public domain, a pierwsza publiczna prezentacja miała miejsce w roku 1973 w Waterloo (Kanada) podczas 16 th Midwest Symposium on Circuit Theory. Program SPICE 1 oferował wiele udoskonaleń w stosunku do programu CANCER, m.in. dodano model tranzystora polowego opublikowany przez H. Shichmana i D. Hodgesa [2] w roku 1968 i zastosowano dokładniejszy model tranzystora bipolarnego, opublikowany przez H. Gummela i H. Poona [3] w roku 1970. Ponadto program wzbogacono o bardzo przydatną możliwość tworzenia makromodeli definiowanych jako podobwody i umożliwiających łatwe przenoszenie pewnych stałych struktur do różnych projektów. Ponieważ największa potrzeba symulacji istniała w dziedzinie układów scalonych, SPICE od początku był optymalizowany w tym kierunku. Ograniczenia stąd wynikające dają o sobie znać aż do dnia dzisiejszego, np. układy zawierające cewki czy transformatory z rdzeniami ferromagnetycznymi wymagają zastosowania specjalnego opisu, gdyż w algorytmach zastosowanych w programie SPICE nie przewidziano elementów tego typu. W trakcie studiów doktoranckich Nagel rozwijał algorytmy analizy układów i pozyskał do współpracy zapalonego programistę Ellisa Cohena. Po uzyskaniu stopnia doktora Nagel kontynuował jeszcze krótko prace nad programem, tworząc wersję SPICE 2, którą przedstawił w roku 1975 [4]. Nowa wersja programu wniosła wiele usprawnień. Dzięki zastosowaniu zmodyfikowanej metody potencjałów węzłowych umożliwiono wprowadzenie do analizowanego obwodu idealnych źródeł napięciowych oraz wszystkich czterech typów źródeł sterowanych. Ponadto poprawiono dokładność i szybkość analizy czasowej poprzez wprowadzenie algorytmu adaptacyjnej zmiany kroku i stabilnego algorytmu interpolacyjnego Eulera. Dynamiczny rozwój technologii półprzewodnikowej wymusił ponadto dalszą rozbudowę modeli diod i tranzystorów.

9 W latach 1975...1983 w Berkeley kontynuowano rozwój programu i wprowadzano kolejne poprawki. Cohen dokonał w programie znaczących zmian jeszcze jako student, a później przetworzył program, jaki pozostawił Nagel, w profesjonalne oprogramowanie, określające nieformalny standard Berkeley SPICE 2G.6. W roku 1983 SPICE 2G.6 udostępniono jako program typu public domain. Była to ostatnia wersja uniwersytecka napisana w języku FORTRAN, notabene do dziś dostępna w Berkeley. W związku ze wzrostem popularności systemów pracujących na platformie Unix w Berkeley podjęto decyzję o przepisaniu programu w języku C. Nowa wersja, która wówczas powstała, otrzymała oznaczenie SPICE 3A.0. Podczas translacji programu dodano modele nowych elementów, m.in. stratnej linii transmisyjnej i nieidealnego klucza oraz udoskonalono już istniejące modele elementów półprzewodnikowych, uwzględniając ich nowe konstrukcje i coraz mniejsze rozmiary. Ponadto poprawiono niektóre algorytmy numeryczne, co zmniejszyło problemy związane ze zbieżnością i po raz pierwszy uzupełniono program o postprocesor graficzny. Niestety, entuzjazm towarzyszący autorom projektu we wczesnych latach 70. zaczął maleć (podobnie jak środki finansowe) i ciężar konwersji ponad 22 tys. linii kodu w dużej mierze przesunięto na barki studentów. Ogrom zadania spowodował, że pierwsza wersja programu zawierała wiele błędów. Co gorsza, podczas translacji utracono kompatybilność z wersją 2G.6. Dotychczasowi użytkownicy musieli więc przepisywać wiele makromodeli i użytecznych struktur archiwalnych. Pierwsza poprawiona wersja nowego programu SPICE 3 ujrzała światło dzienne z numerem 3A.7 już w roku 1984 i stała się podstawą programu PSpice (ang. Personal Spice) [5] pierwszej komercyjnej realizacji standardu SPICE na komputery osobiste klasy PC, wprowadzonej na rynek przez firmę MicroSim Corp. z Laguna Hills w Kalifornii w roku 1985. Jedną z najpopularniejszych obecnie wersji tego programu jest PSpice Studio [6] firmy Cadence Design System, Inc. Od tego czasu program SPICE 3 był systematycznie rozwijany i otrzymywał kolejne numery wersji, jednak dopiero na początku roku 1992 pojawiła się wersja Berkeley SPICE 3E.2, która mogła zastąpić poprzedni standard, gdyż oprócz wielu dodatkowych Donald O. Pederson

10 udoskonaleń posiadała wszystkie możliwości wersji 2G.6. Pierwszym programem komercyjnym, bazującym na 3E.2, był IsSpice 3 [7] firmy Intusoft z San Pedro w Kalifornii. Pojawił się już pod koniec 1992 r. w pakiecie z graficznym edytorem schematów, edytorem tekstowym i postprocesorem graficznym i pracował pod kontrolą systemu operacyjnego DOS (z nakładką umożliwiającą wykorzystywanie rozszerzonej pamięci operacyjnej komputera). Najnowsze wersje programu, oznaczone Berkeley SPICE 3F.3 [8] i 3F.5, są podstawą wielu komercyjnych symulatorów przeznaczonych na platformę PC, m.in. interaktywnego IsSpice 4 [9], będącego podstawą pakietu symulacyjnego ICAP/4 Windows (ang. Interactive Circuit Analysis Program For Windows), czy programu TINA PRO 6 (ang. Toolkit for Interactive Network Analysis) firmy DesignSoft, pracujących pod kontrolą systemów operacyjnych z rodziny MS Windows. IsSpice4 oferuje dodatkowo rozszerzenia języka SPICE opracowane w roku 1992 w Georgia Institute of Technology w Atlancie i znane pod nazwą XSPICE. Program XSPICE napisano w języku C dla stacji roboczych pracujących pod kontrolą systemu operacyjnego Unix. Nowością w stosunku do pierwowzoru z Berkeley było zdefiniowanie oryginalnego języka opisu sprzętu analogowego znanego jako AHDL (ang. Analog Hardware Description Language), który upraszcza opis układów mieszanych tj. analogowo-cyfrowych i umożliwia tworzenie własnych podprogramów. Cechy te znacznie zwiększają możliwości modelowania behawioralnego układów i systemów elektronicznych. Program XSPICE jest dostępny zarówno jako kod źródłowy w języku C jak i w wersji skompilowanej. Obecnie SPICE jest integrowany z oprogramowaniem do rysowania schematów i projektowania płytek drukowanych oraz układów FPGA (ang. Field Programmable Gate Array, tj. programowalne matryce bramek) i CPLD (ang. Complex Programmable Logic Device, tj. złożone programowalne struktury logiczne). Sztandarowymi programami z pierwszej kategorii są Protel DXP oparty na Berkeley SPICE 3F.5 z rozszerzeniami oferowanymi przez XSPICE oraz OrCAD Unison Design Suites, który jest 10. wersją pakietu OrCAD i do symulacji używa modułu opartego na programie PSpice o nazwie OrCAD PSpice A/D. W drugiej grupie na uwagę zasługuje program MultiSIM 7 firmy Electronics Workbench, który jest doskonałym narzędziem w przypadku symulacji układów analogowych i cyfrowych na poziomie płytki. Program ten oferuje unikalną zdolność symulowania obwodów zawierających różnego rodzaju elementy zamodelowane w językach SPICE, VHDL lub Verilog. Program koordynuje komunikację pomiędzy modelami w wymienionych językach, zapewniając całkowitą przejrzystość i optymalne współdziałanie na wszystkich etapach projektowania. W chwili obecnej na platformie PC używa się kilkudziesięciu aplikacji pochodzących od Berkeley SPICE. W szczególności pod kontrolą systemu operacyjnego MS Windows pracuje około 40 różnych programów, a w systemach Unix/Linux można uruchomić kilkanaście aplikacji. Ponadto kilka programów implementujących algorytmy standardu SPICE funkcjonuje w systemie MacOS. Producenci symulatorów komercyjnych, opartych na standardzie SPICE, starają się stworzyć przyjazne środowisko do symulacji układów elektronicznych, rozszerzając oprogramowanie m.in. o funkcje analiz statystycznych i obszerne biblioteki

11 elementów. W niektórych przypadkach, w celu lepszego zapanowania nad zbieżnością, modyfikują algorytmy numeryczne oraz dodają nowe parametry i rozbudowują składnię języka. W skład typowego środowiska symulacyjnego wchodzą: edytor schematów, specjalizowany edytor tekstowy, postprocesor graficzny oraz oczywiście sam symulator. Rola poszczególnych komponentów jest intuicyjnie oczywista. Edytor schematów jest specjalizowanym programem graficznym, umożliwiającym sprawne rysowanie analizowanych obwodów. Ponadto zawiera najczęściej wygodny in teraktywny interfejs służący do sterowania analizą. W istocie program ten opisuje rysowany przez użytkownika obwód wraz ze zleconymi do wykonania analizami w postaci skryptu tekstowego rozumianego przez moduł symulujący. Po przeprowadzeniu analiz wyniki można obejrzeć, sformatować oraz w miarę potrzeb przeliczyć i opracować w postprocesorze graficznym. Moduły środowiska symulacyjnego z tej grupy, to specjalizowane edytory wykresów, wzbogacone o wiele funkcji matematycznych, statystycznych, funkcji do cyfrowego przetwarzania sygnałów, funkcji pomiarowych itp. Zintegrowany z pakietem edytor tekstowy pozwala na ręczne sterownie procesem symulacji poprzez ingerencję w skrypt opisujący obwód i w wielu szczególnych przypadkach bywa niezastąpiony. Edytor tekstowy pozwala ponadto na przeglądanie wyników analizy w trybie tekstowym i umożliwia wygodny eksport do użytecznych programów zewnętrznych takich, jak np. Excel czy Mathcad. Program SPICE istnieje już niemal 35 lat, a większość zastosowanych w nim algorytmów ma już przeszło 150 lat. Jednym z najmłodszych jest algorytm Geara [10] przedstawiony w roku 1967. Wprawdzie istnieje wiele ważnych osiągnięć naukowych w oryginalnym programie SPICE, jednak sukcesu tej technologii nie należy przypisywać wyłącznie nauce. Nawet twórcy programu SPICE zapewniają, że istnieją lepsze algorytmy niż te użyte w programie, ale gdy rozważy się je osobno. To przede wszystkim sposób, w jaki algorytmy były ze sobą łączone, doprowadził do powstania rodziny programów, które przez blisko 35 lat nie zmieniły się istotnie ani nie znalazły znaczącej konkurencji podstawowa struktura programu oryginalnie zaprojektowana przez Nagela jest ciągle w użyciu i w większości przypadków cały oryginalny kod istnieje w nowym oprogramowaniu. Powstało wprawdzie wiele innych programów, opracowanych dla określonych technologii lub programów o mniejszej dokładności, z prostymi modelami i algorytmami, szybszych dla dużych układów, jednak do ogólnych zastosowań i w dokładnych symulacjach użytkownicy wracają do zaufanego i sprawdzonego oprogramowania opartego na systemie SPICE. W czasach, gdy kształtował się program SPICE, w głównych ośrodkach półprzewodnikowych na świecie powstawało wiele podobnych programów. Programy te zawierały często prekursorskie w stosunku do istniejących w programie SPICE rozwiązania, ale wiele wczesnych innowacji w symulacji układów rozwijano jako zastrzeżoną własność firm. Oryginalną wizją autorów projektu SPICE było zaś połączenie ze sobą szeregu jak najlepszych algorytmów i stworzenie możliwie najbardziej elastycznego i przenośnego oprogramowania oraz uczynienie go otwartym i bezpłatnym. Jedynym ograniczeniem dla użytkowników było to, że nie mogą go nikomu innemu sprzedawać komercyjnie. W efekcie nowe pomysły i rozwiązania dla programu napływały z różnych źródeł, zarówno z uczelni, jak i z przemysłu.

12 Firmy i uczelnie przystosowywały program SPICE do wielu różnych systemów operacyjnych i także traktowały te wersje jako publiczne. Na przykład pierwszą wersję programu dla komputerów IBM klasy mainframe stworzono w firmie Texas Instruments (TI-SPICE) i darmowo rozpowszechniano wraz z uaktualnieniami przez wiele lat dla każdego zainteresowanego w USA. W tym miejscu warto wspomnieć ważną rolę odgrywaną przez Army Research Office, które zapewniło długookresowe wsparcie dla autorów projektu SPICE, co dało im swobodę w kontynuowaniu pracy przez wiele lat. Niewykluczone, że m.in. wsparcie armii przyczyniło się do zmiany nazwy programu z CANCER na SPICE. Pomysł napisania książki opisującej podstawy systemu SPICE powstał po przeszło dziesięciu latach użytkowania programów opartych na źródłach pochodzących z Berkeley. Książka ta ma z założenia wyjaśniać możliwie najprostszym językiem podstawowe metody i algorytmy zastosowane przez twórców systemu SPICE w taki sposób, by były one przystępne zarówno dla inżyniera elektronika, jak i studenta pierwszych lat studiów kierunku Elektronika i Telekomunikacja. Z założenia więc unikałem ściśle matematycznej formy wykładu akademickiego, starając się raczej skupiać na fizycznej interpretacji rozpatrywanych algorytmów oraz wyjaśnianiu ich na przykładach. Starałem się nie dublować monografii [11, 12] i skryptów akademickich [13...15] dotyczących metod komputerowej symulacji układów elektronicznych, czy też podręczników związanych z modelowaniem elementów [16]. Nie miałem również na celu przekazywania Czytelnikowi spolszczonej instrukcji użytkowania programu SPICE rolę tę spełniają podręczniki polskojęzyczne (np. [17...19]), napisane dla konkretnych implementacji programu i uzupełnione zbiorami przykładów. Niniejsza książka ma być raczej komentarzem, w pewnym sensie przewodnikiem, pozwalającym Czytelnikowi zgłębiać zawiłości wybranych metod numerycznych, stosowanych praktycznie podczas komputerowej analizy układów elektronicznych. W celu umożliwienia Czytelnikowi swobodnego rozpoczęcia pracy z programem SPICE i samodzielnego testowania przedstawionych w książce algorytmów w ostatnim rozdziale zdecydowałem się zamieścić skrócony opis pakietu ICAP/4 Windows firmy Intusoft, którego wersja demonstracyjna jest dostępna w Internecie. W trakcie pracy redakcyjnej starałem się wykryć i wyeliminować z tekstu książki wszystkie napotkane błędy, zdaję sobie jednak sprawę, że pewne niedociągnięcia mogłem przeoczyć. W związku z tym będę wdzięczny wszystkim Czytelnikom, którzy zechcą przesłać pod adresem ADobrowolski@wat.edu.pl swoje krytyczne uwagi związane z dostrzeżonymi błędami, jak również propozycje poprawek i uzupełnień. Autor Warszawa, sierpień 2004