Ćwiczenie nr 3. Symulacja analogowa w środowisku CADENCE z wykorzystaniem Analog Artist
Przedmiotem tego ćwiczenia będzie przeprowadzenie elementarnych analiz (stałoprądowej, przejściowej i częstotliwościowej) prostego wzmacniacza operacyjnego w pętli otwa
rtej (rys. 1).

rys. 1
Do przeprowadzania symulacji analogowych służy zintegrowane środowisko o nazwie
Analog Artist, wywoływane z Design Framework II, które integruje narzędzia takie jak:
netlister, czyli program generujący pliki opisujące obwód (odpowiedniki plików CIR w programie Spice) ze schematu zapisanego w programie Composer
symulator (Spectre, Spectre-S, cdsSpice lub HSpice) przeprowadzający właściwą symulację
Waveform Window służący do graficznej wizualizacji wyników symulacji w postaci wykresów (odpowiednik programu Probe w pakiecie MicroSim)
Waveform Calculator, który umożliwia formułowanie skomplikowanych wyrażeń arytmetycznych bez znajomości składni ani listy dostępnych funkcji arytmetycznych oraz sam oblicza wielkości takie jak pasmo 3dB czy margines wzmocnienia i fazy
Results Browser ułatwiający dostęp do wyników symulacji
graficzny interfejs użytkownika umożliwiający w sposób wizualny ustawienie środowiska (np. ścieżki dostępu do modeli elementów), ustawienie parametrów symulacji, selekcję danych do zapisania i wyświetlenia, etc.)
W niniejszym ćwiczeniu symulacje będą przeprowadzane w oparciu o symulator Spectre. Jest to program działający na podobnej zasadzie co Spice, ale różniący się od niego zastosowanymi modelami elementów oraz składnią plików wejściowych.
Laboratorium nr 1. Przygotowanie i przeprowadzenie symulacji w Analog Artist
Z poziomu interpretera poleceń UNIX’a, przejść do podkatalogu analog w swoim katalogu domowym i uruchomić DF II poleceniem startcds &
Korzystając z programu Library Manager odszukać bibliotekę AnalogSim, a w niej celkę ampTop i otworzyć widok schematic
Obejrzeć schemat obwodu, w którym wzmacniacz jest symulowany oraz schemat samego wzmacniacza
- Zaznaczyć na schemacie symbol wzmacniacza i wybrać polecenie
Hierarchy -> Descend Read... (e) aby zobaczyć schemat samego wzmacniacza operacyjnego
Wybrać polecenie Hierarchy -> Return (Ctrl+e) aby powrócić do schematu nadrzędnego
Zaznaczyć źródło napięcia VIN dołączone do jednego z wejść wzmacniacza i wybrać polecenie Edit -> Properties (q) aby obejrzeć parametry tego źródła
Uruchomić środowisko Analog Artist poleceniem Tools -> Analog Artist
Ustawić środowisko symulacji
Z menu okna Analog Artist wybrać polecenie Setup -> Environment...
Wypełnić formularz w sposób pokazany na rys. 2 i kliknąć OK

rys. 2
Wygenerować wstępną listę połączeń elementów
Z menu okna Analog Artist wybrać polecenie Simulation -> Netlist -> Create Final
Zapisać wygenerowaną listę połączeń do pliku o nazwie ampTop.cir wywołując polecenie File -> Save As w oknie, w którym lista została wyświetlona
Zamknąć okno i powrócić do Analog Artist
Ustawić wartości napięć zasilających wzmacniacz operacyjny
Z menu okna Analog Artist wybrać polecenie Setup -> Stimulus -> Edit Analog...
W formularzu, który się pojawił, w polu wyboru zaznaczyć opcję graphical i kliknąć OK. Otworzy się wtedy formularz pokazany na rys. 3

rys. 3
W polu wyboru zaznaczyć Global Sources
W polu listy zaznaczyć źródło o nazwie vvdd
Zaznaczyć opcję Enabled (tzn. że jest aktywne)
W polu Function wybrać dc (źródło o stałej wartości)
W polu Type wybrać Voltage (źródło napięcia)
W polu DC voltage wpisać wartość 5 (tj. 5 V)
Kliknąć Apply aby zapamiętać zmiany
Zaznaczyć źródło o nazwie vvss i powtórzyć powyższe kroki, z tym że w polu DC voltage wpisać wartość –5 (tj. –5 V)
Kliknąć OK aby powrócić do okna Analog Artist
Ustawić parametry przeprowadzanych analiz
Z menu okna Analog Artist wybrać polecenie Analyses -> Choose...
W polu wyboru Analysis zaznaczyć tran
Wypełnić formularz w sposób pokazany na rys. 4

rys. 4
W polu wyboru Analysis zaznaczyć dc
W polu wyboru Sweep Variable wybrać Component Parameter
Kliknąć przycisk Select Component i przejść do okna Composer zawierającego schemat obwodu
Kliknąć w źródło napięcia VIN. Pojawi się wtedy formularz pokazany na rys. 5

rys. 5
Wybrać parametr dc i kliknąć OK aby powrócić do poprzedniego formularza
W polu Sweep Type wybrać Linear
Wypełnić resztę formularza w sposób pokazany na rys. 6

rys. 6
W polu wyboru Analysis wybrać ac
W polu Sweep Type wybrać Logarithmic
Wypełnić resztę formularza tak jak pokazano na rys. 7

rys. 7
Kliknąć OK aby zapisać zmiany i powrócić do okna Analog Artist
Określić zestaw wyników wyświetlanych dla poszczególnych analiz
Z menu okna Analog Artist wybrać polecenie Outputs -> Setup... Pojawi się wtedy okno o nazwie Setting Outputs
Dodać napięcie wyjściowe VOUT dla analizy DC
Kliknąć przycisk New Expression
Kliknąć przycisk Open w sekcji Calculator aby uruchomić Waveform Calculator
W oknie kalkulatora zaznaczyć opcję Display Stack aby wyświetlić stos
Kliknąć przycisk vs ( v = const )
Przejść do okna Composer i na schemacie kliknąć na połączenie do węzła OUT
Powrócić do kalkulatora. Powinno się w nim wyświetlać wyrażenie VS("/OUT")
Przejść z powrotem do okna Setup Outputs i kliknąć przycisk Get Expression. W polu Expression powinno pokazać się wyrażenie VS("/OUT")
W polu Name wpisać nazwę wyrażenia: DC output
Kliknąć przycisk Apply aby zapamiętać wyrażenie
Dodać napięcie wejściowe VIN dla analizy TRANSIENT
Przejść do okna kalkulatora i kliknąć przycisk vt ( v = v(t) )
Przejść do okna Composer i na schemacie kliknąć w węzeł IN
Powrócić do kalkulatora. Powinno się w nim wyświetlać wyrażenie VT("/IN")
Przejść z powrotem do okna Setup Outputs i kliknąć przycisk Get Expression. W polu Expression powinno pokazać się wyrażenie VT("/IN")
W polu Name wpisać nazwę wyrażenia: transient input
Kliknąć przycisk Apply aby zapamiętać wyrażenie
Dodać napięcie wyjściowe VOUT dla analizy TRANSIENT w sposób analogiczny jak w poprzednim punkcie. Wyrażeniu temu nadać nazwę transient output
Dodać amplitudową charakterystykę częstotliwościową (analiza AC)
- Przejść do kalkulatora i kliknąć przycisk
vf ( v = v(f) )
- Przejść do okna
Composer i na schemacie kliknąć w węzeł OUT
- Powrócić do kalkulatora. Powinno się w nim wyświetlać wyrażenie
VF("/OUT")
- Przejść do okna
Composer i na schemacie kliknąć w węzeł IN
- Powrócić do kalkulatora, który powinien teraz wyświetlać wyrażenie
VF("/IN")
- W oknie kalkulatora kliknąć przycisk "
/". Wyświetlane wyrażenie powinno zmienić się na VF("/OUT") / VF("/IN")
- Kliknąć przycisk
enter. Wyrażenie powinno zostać zapamiętane na stosie
- Zapisać powyższe wyrażenie do pamięci kalkulatora. W tym celu z menu wybrać polecenie
Memories -> Store, nazwać wyrażenie gain i kliknąć OK
- Kliknąć przycisk
mag (moduł). Wyświetlane wyrażenie powinno zmienić się na mag( VF("/OUT") / VF("/IN") )
- Przejść z powrotem do okna
Setup Outputs i kliknąć przycisk Get Expression. W polu Expression powinno pokazać się wyrażenie mag( VF("/OUT") / VF("/IN") )
- W polu Name wpisać nazwę wyrażenia: magnitude(gain)
- Kliknąć przycisk
Apply aby zapamiętać wyrażenie
Dodać fazową charakterystykę częstotliwościową (analiza AC)
- Przejść do kalkulatora i kliknąć przycisk
dwn aby pobrać poprzednie wyrażenie ze stosu. Wyświetlane wyrażenie powinno zmienić się na VF("/OUT") / VF("/IN")
- Kliknąć przycisk
phase (faza). Wyświetlane wyrażenie powinno zmienić się na phase( VF("/OUT") / VF("/IN") )
- Przejść z powrotem do okna
Setup Outputs i kliknąć przycisk Get Expression. W polu Expression powinno pokazać się wyrażenie phase( VF("/OUT") / VF("/IN") )
- W polu Name wpisać nazwę wyrażenia: phase(gain)
- Kliknąć przycisk
Apply aby zapamiętać wyrażenie
W rezultacie powyższych czynności okno Setup Outputs powinno wyglądać mniej więcej tak jak na rys. 8

rys. 8
Kliknąć OK aby powrócić do okna Analog Artist, które powinno wyglądać mniej więcej tak jak pokazano na rys. 9

rys. 9
Zapisać bieżącą sesję
Z menu okna Analog Artist wybrać polecenie Session -> Save State...
Wypełnić formularz tak jak pokazano na rys. 10 i kliknąć OK

rys. 10
Na wszelki wypadek zapisać do pliku aktualną pamięć kalkulatora
- Przejść do kalkulatora i z jego menu wybrać polecenie
Memories -> Save...
Kliknąć OK aby zapisać pamięć kalkulatora do pliku o proponowanej nazwie
Przeprowadzić symulacje
- Przejść do okna
Analog Artist i z menu wybrać polecenie Simulation -> Run
Obserwować postęp symulacji (i ewentualne błędy) w głównym oknie icfb
W razie błędów z menu okna Analog Artist wybrać polecenie Simulation -> Output Log... aby wyświetlić bardziej szczegółowe informacje o błędach
Jeżeli symulacje zakończyły się pomyślnie to automatycznie zostanie wyświetlone okno Waveform Window z wynikami symulacji
Uwaga:
Nie zamykać żadnych otwartych okien.
Laboratorium nr 2. Obróbka i prezentacja wyników symulacji w oknie Waveform Window
Rozciągnąć okno Waveform Window na cały ekran aby uzyskać możliwie najlepszą rozdzielczość
Zmienić tytuły wszystkich trzech części okien
- Zaznaczyć skrajną lewą część okna, dwukrotnie kliknąć w jej tytuł (
"Expressions1") i zmienić go na "DC Characteristics"
Zaznaczyć środkową część okna, dwukrotnie kliknąć w jej tytuł ("Expressions2") i zmienić go na "Transient Response"
Zaznaczyć skrajną prawą część okna, dwukrotnie kliknąć w jej tytuł ("Expressions3") i zmienić go na "AC Characteristics"
Wyłączyć skrajną prawą część okna wyświetlającą charakterystyki częstotliwościowe
- Z menu wybrać polecenie
Window -> Subwindows... Pojawi się wtedy formularz pokazany na rys. 11

rys. 11
W polu listy zaznaczyć okno nr 3, kliknąć przycisk Off a następnie OK
Zaznaczyć okno Transient Response i kliknąć przycisk Switch Axis Mode znajdujący się po lewej stronie okna, aby rozdzielić obydwa przebiegi czasowe na osobne wykresy
Zamienić miejscami wykresy VIN(t) i VOUT(t)
- Z menu wybrać polecenie
Edit -> Swap Strips
- Kolejno kliknąć w obydwa wykresy. W wyniku tego zostaną zamienione miejscami
Włączyć wyświetlanie siatki w oknie Transient Response
- Z menu wybrać polecenie
Axes -> Options...
- W polu wyboru Display zaznaczyć opcję grids (rys. 12) i kliknąć OK

rys. 12
Wykreślić pochodną charakterystyki stałoprądowej po napięciu wejściowym
- Zaznaczyć okno
DC Characteristics
Z menu wybrać polecenie Tools -> Calculator aby przejść do kalkulatora
W oknie kalkulatora kliknąć przycisk wave
Przejść z powrotem do okna Waveform Window i kliknąć w charakterystykę DC
Powrócić do kalkulatora. Powinno się w nim wyświetlać wyrażenie VS("/OUT")
W oknie kalkulatora kliknąć przycisk Special Functions i wybrać funkcję deriv. Wyświetlane wyrażenie powinno zmienić się na deriv( VS("/OUT") )
Kliknąć przycisk plot aby wyświetlić pochodną na wykresie
W oknie Waveform Window zaznaczyć podokno DC Characteristics i kliknąć w przycisk Switch Axis Mode aby rozdzielić obydwa wykresy
Włączyć wyświetlanie siatki w podoknie DC Characteristics (Axis -> Options...)
Zapisać bieżące ustawienia wykresu do pliku o nazwie dc+tran wywołując z menu polecenie Window -> Save i podając nazwę pliku
Włączyć część okna wyświetlające charakterystyki częstotliwościowe, a wyłączyć częsci okien wyświetlające charakterystyki DC i odpowiedź przejściową
- Z menu wybrać polecenie
Window -> Subwindows...
Korzystając z przycisków On i Off włączyć wyświetlanie okna nr 3, a wyłączyć wyświetlanie okien 1 i 2 (rys. 13) i kliknąć OK aby powrócić do okna wykresów

rys. 13
Rozdzielić od siebie charakterystykę amplitudową i fazową na osobne wykresy i zamienić je miejscami oraz włączyć wyświetlanie siatki
Zmienić skalę osi wartości (Y) wykresu charakterystyki amplitudowej z liniowej na logarytmiczną wyskalowaną w dB
- Z menu wybrać polece
nie Curves -> Edit...
W formularzu (rys. 14) zaznaczyć krzywą nr 1 ( magnitude(gain) )

rys. 14
W polu wyboru Scale wybrać db20 i kliknąć OK
Wykreślić charakterystykę Nyquista
Z menu okna Waveform Window wybrać polecenie Window -> Subwindows...
W formularzu kliknąć przycisk Add aby dodać nowe okno, a następnie OK aby powrócić do wykresów
Zaznaczyć nowe okno i z menu wybrać polecenie Annotation -> Edit -> Subtitle...
Wpisać nową nazwę okna: "Nyquist Characteristics" i kliknąć OK
Przejść do kalkulatora (poleceniem Tools -> Calculator)
Z menu kalkulatora wybrać polecenie Memories -> Recall...
W polu listy formularza (rys. 15) wybrać parametr gain i kliknąć OK. Kalkulator powinien wyświetlić wyrażenie mag( VF("/OUT") / VF("/IN") )

rys. 15
Kliknąć przycisk enter aby zapamiętać powyższe wyrażenie na stosie
Kliknąć przycisk real (część rzeczywista). Kalkulator powinien wyświetlić wyrażenie real( VF("/OUT") / VF("/IN") )
Kliknąć przycisk plot aby wyświetlić krzywą odpowiadającą części rzeczywistej na wykresie
Zaznaczyć wyświetlony wykres i z menu okna Waveform Window wybrać polecenie Axes -> X Axis... Pojawi się wtedy formularz pokazany na rys. 16

rys. 16
W polu wyboru Plot vs. wybrać część rzeczywistą VOUT / VIN (rys. 16) i kliknąć OK
Powrócić do kalkulatora i kolejno kliknąć przyciski: down i enter. Kalkulator znowu powinien wyświetlać wyrażenie VF("/OUT") / VF("/IN")
Kliknąć przycisk imag (część urojona). Kalkulator powinien wyświetlić wyrażenie imag( VF("/OUT") / VF("/IN") )
Kliknąć przycisk plot aby zakończyć wyświetlanie charakterystyki Nyquista
Zapisać ustawienia wykresów do pliku o nazwie ac (polecenie Window -> Save...)
Odczytać z wykresów najważniejsze parametry częstotliwościowe wzmacniacza w pętli otwartej
- Odczytać maksymalne wzmocnienie w paśmie (w dB
)
- Zaznaczyć część okna wyświetlającą charakterystykę amplitudową i fazową
- Uaktywnić jeden z celowników:
A (polecenie Chrosshair -> Marker A (a)) lub B (polecenie Chrosshair -> Marker B (b))
- Najechać celownikiem na płaski fragment wykresu charakterystyki amplitudowej i kliknąć lewym przyciskiem myszy
- Odczytać i zanotować wartość wzmocnienia (w dB) wyświetloną pod wykresami (współrzędną
Y celownika)
Odczytać szerokość pasma 3-decybelowego
- Uaktywnić jeden z celowników i obserwować jego współrzędne wyświetlane
pod wykresami
Najechać na fragment charakterystyki, w którym wartość wzmocnienia (współrzędna Y celownika) jest mniejsza od maksymalnej o 3 dB i kliknąć lewym przyciskiem myszy w to miejsce
Odczytać i zanotować wartość pasma wyrażoną w Hz (współrzędna X celownika)
Wykorzystując obydwa celowniki naraz odczytać z charakterystyki amplitudowej i fazowej margines amplitudy i margines fazy
- Margines amplitudy to wartość charakterystyki amplitudowej dla częstotliwości, przy której charakterystyka fazowa przecina oś odpowiadającą -180°
Margines fazy to 180°
minus wartość charakterystyki fazowej dla częstotliwości, przy której charakterystyka amplitudowa przecina oś odpowiadającą 0 dB
Wykorzystując program Waveform Calculator zweryfikować wartości parametrów odczytane z wykresów
- Przejść do kalkulatora i kliknąć przycisk
down. Kalkulator powinien wyświetlić wyrażenie VF("/OUT") / VF("/IN")
- W polu wyboru Special Functions wybrać funkcję bandwith. Pojawi się wtedy formularz pokazany na rys. 17

rys. 17
- W polu wyboru Type wybrać low (tzn. że dotyczy pasma dolnoprzepustowego)
- W polu Db wpisać 3 (tzn. że ma być obliczone pasmo 3-decybelowe)
- Kliknąć OK aby powrócić do okna kalkulatora. Kalkulator powinien wyświetlić wyrażenie bandwidth( VF("/OUT") / VF("/IN"), 3, "low" )
- Kliknąć przycisk print aby odczytać szerokość pasma 3dB. Porównać otrzymaną wartość z wartością odczytaną poprzednio z wykresu
- Kliknąć przycisk down. Kalkulator powinien ponownie wyświetlić wyrażenie VF("/OUT") / VF("/IN")
- W polu wyboru Special Functions wybrać funkcję gainMargin. Kalkulator powinien wyświetlić wyrażenie gainMargin( VF("/OUT") / VF("/IN") )
- Kliknąć przycisk
print aby odczytać szerokość margines amplitudy. Porównać otrzymaną wartość z wartością odczytaną poprzednio z wykresów
- W analogiczny sposób odczytać margines fazy powtarzając kroki g-i z zastosowaniem funkcji phaseMargin i porównać go z wartością odczytaną z wykresów