# Simulace logických obvodů pomocí Cadence PSD 14.2 (OrCAD)

Autoři: Pavel Kubalík, Jiří Buček

English version - Thanks to Petr Fišer

## Obsah:

1. Úvod
2. Ukázkový příklad simulace
3. Vytvoření nového projektu pro simulaci
4. Změna nastavení zpoždění hradel
5. Poznámky

## Důležité

1. Při čtení tohoto návodu si vždy přečtěte celý bod až do konce, než jej provedete.
2. Podívejte se na obrázek (kliknutím), je-li k dispozici.
3. Nepřeskakujte body.
4. Hodně štěstí.

## Úvod

V učebně 307 je k dispozici systém pro kreslení schémat, návrh desek tištěných spojů a simulaci - Cadence PSD 14.2 (jinak zvaný OrCAD). Pro účely předmětu Logické systémy využijeme programu pro kreslení schémat (Capture) a pro simulaci (PSpice A/D).

Obecný postup pro práci se simulací v OrCADu je následující:

(Toto je pouze obecný postup, konkrétní návody následují v dalších sekcích!)

1. Spustíme program Capture
2. Vytvoříme projekt (typu simulace)
3. Nakreslíme schéma obvodu včetně simulačních vstupů (prvků DigStim)
4. Vytvoříme stimuly (tj. budicí průběhy vstupních signálů)
5. Vytvoříme simulační profil obsahující informace o typu simulace, použitých stimulech a použitých knihovnách simulačních modelů (zpoždění hradel apod.)
6. Umístíme měřicí body (markers) na signály, jejichž průběh chceme sledovat
7. Spustíme simulaci
8. Průběhy signálů můžeme vytisknout do postscriptového souboru pro další zpracování.

## Ukázkový příklad simulace

Můžete jej použít jako výchozí stav pro Vaši vlastní práci.

Postup:

1. Vytvoříme nový adresář na disku H.
   Př: H:\PRIKLAD
2. Zkopírujeme vzorový příklad z X:\vyuka\ls\priklad_simulace do adresáře H:\PRIKLAD. (všechny soubory i s podadresářem)
3. Spustíme program Capture z menu "Start->Programy->Cadence PSD 14.2->Capture CIS".
4. Pomocí "File->Open->Project" otevřeme soubor "automat.opj" z adresáře H:\PRIKLAD. (Pozor na vypnuté zobrazování přípon)
5. V okně projektu automat.opj rozbalíme strom "Design Resources->automat.dsn->sch1->strana1" a 2x klikneme na "strana1". Tím zobrazíme schéma.
6. Spustíme simulaci: z menu "PSpice" vybereme "Run" nebo klikneme na položku "Run" v nástrojové liště. Po chvíli výpočtu se zobrazí okno s výsledky simulace.

## Vytvoření nového projektu pro simulaci

Postup:

1. Vytvoříme nový adresář na disku H.
   Př: H:\POKUS
2. Spustíme program Capture z menu "Start->Programy->Cadence PSD 14.2->Capture CIS".
3. Pomocí "File->New->Project" otevřeme okno pro vytvoření nového projektu.
4. V okně zvolíme umístění a jméno nového projektu. Jako typ projektu zvolíme "Analog or Mixed A/D". Zmáčkneme "OK".
5. V následujícím okně "Create PSpice Project" ponecháme výchozí nastavení "Empty.opj" a zmáčkneme "OK".
6. Zobrazíme schéma: rozbalíme strom "Design Resources->automat.dsn->SCHEMATIC1->PAGE1" a 2x klikneme na "PAGE1". Výsledkem je okno bez schématu.
7. Vytvoření vstupních portů: klikneme na ikonečku hradla v nástrojové lištičce umístěné na pravé straně obrazovky.
8. Zvolíme "Part Search". Otevře se nové okno.
9. Do položky "Part name" vepíšeme "digstim*". Klikneme na "Begin Search".
10. V zobrazeném seznamu nalezených položek zvolíme "DigStim1/sourcstm.olb". Klikneme na butůnek "OK".
11. V následujícím okně "Place Part" potvrdíme výběr "DigStim1/SOURCSTM" tlačítkem "OK".
12. Teď umístíme dva vstupní porty pomocí levého tlačítka myše. (Pozor na přepínání oken - po přepnutí na jiné okno a zpět se ukončí režim vkládání součástky.)
13. Obdobným způsobem umístíme součástku "NAND", která je v pouzdře obvodu "7400". (Opět použijeme "Place Part" a "Part Search".)
14. Po umístění jednoho hradla "NAND" propojíme vstupní porty se vstupy tohoto hradla a to pomocí ikonky pro kreslení čar v nástrojové liště.
15. Abychom mohli sledovat výstup hradla "NAND", je nutné přidat ještě jeden vodič na výstup a to tak že jeden jeho konec není připojen.
16. Následuje pojmenování vstupních portu.
17. 2x klikneme na položce "implementation" umístěné poblíž vstupních portů. V okně "Display Properties" do kolonky "Value" napíšeme název portu. (Zvolíme např. A.)
18. Stejný postup aplikujeme i pro druhý vstupní port (např. B).
19. Hodnoty "implementation" slouží k navázání stimulu na vstupní body schématu.
20. Nyní pojmenujeme vodiče, abychom mohli sledovat jejich hodnoty.
21. V nástrojové liště klikneme na ikonu pro pojmenování vodičů a pojmenujeme všechny 3 vodiče: A,B,Y.
22. Následuje vytvoření stimulů.
23. Spustíme program Stimulus Editor z menu "Start->Programy->Cadence PSD 14.2->PSpice Accessories->Stimulus Editor".
24. Pomocí "File->New" vytvoříme prázdný soubor stimulů.
25. Pro vytvoření stimulů použijeme položku menu "Stimulus->New" nebo klikneme na ikonu v nástrojové liště.
26. V okně "New Stimulus" zvolíme název stimulu "A" a typ "Digital->Signal". Stiskneme "OK".
27. Teď je potřeba změnit průběh signálu A.
28. Z nástrojové lišty zvolíme položku pro úpravu průběhu a klikneme 2x na průběh "A" a to ve směru z leva do prava.
29. Druhý stimul bude jiného typu. Jméno stimulu bude "B" a zvolíme "Digital->Clock". Stiskneme "OK".
30. Objeví se další okno, které slouží k nastavení parametru signálu clock, ve kterém vyplníme položku "Frequency". Frekvence bude 2M (Velké M jako megahertz! Malé m znamená milihertz - i to už někdo zkoušel). Ostatní položky necháme podle počátečního nastavení. Stiskneme "OK".
31. Pokud je potřeba změnit délku stimulu, vybereme z menu položku "Tools->Options...". a změníme "Time->to" na potřebnou délku.
32. Na závěr je nutné námi vytvořené stimuly uložit. Zvolíme položku "File->Save" z menu a soubor uložíme do adresáře projektu.
33. Vrátíme se do schématického editoru programu Capture CIS.
34. Pro simulaci je nezbytné vytvořit netlist. Ten nám zároveň zkontroluje správnost schématu.
35. Z menu zvolíme položku "PSpice->Create Netlist".
36. Pokud byl netlist vytvořen bez chyb je možné začít s vlastní simulací.
37. Vytvoříme simulační profil: Z menu zvolíme položku "PSpice->New Simulation Profile".
38. V okně "New Simulation" vložíme do položky "Name" jméno simulace. Např.: time. Klikneme na tlačítko "Create".
39. Otevře se okno "Simulation Settings" s otevřenou záložkou "Analysis".
40. Zkontrolujeme položku "Analysis type", ktera musí být nastavena "Time domain". Nastavíme položku "Run to time" na potřebnou hodnotu. Hodnota určuje dobu běhu simulace.
41. Vybereme záložku "Stimulus". Vložíme námi vytvořené stimuly: Klikneme na tlačítko "Browse..." a vybereme soubor obsahující stimuly, které jsme vytvořili dříve.
42. Přidáme stimuly do našeho návrhu pomocí "Add to Design". Stiskneme "OK".
43. Pokud se objeví hláška "Cannot write to ini file" potvrdíme ji tlačítkem "OK".
44. Vrátíme se do schématického editoru.
45. Do schématu přidáme měřicí body: Z nástrojové lišty vybereme ikonku voltmetru a přidáme ji k měřeným signálům.
46. Nyní spustíme simulaci: Z menu zvolíme položku "PSpice->Run" nebo v nástrojové liště klikneme na ikonu "Run PSpice".
47. Zobrazí se výsledky simulace.

## Změna nastavení zpoždění hradel

1. Zkopírujeme knihovny obsahující simulační modely jednotlivých obvodů do adresáře ve kterém je uložen náš projekt.
2. Knihovny jsou uloženy v adresáři X:\vyuka\ls\priklad_simulace\lib. Kopírujeme všechny soubory včetně adresáře "lib".
3. Budeme nyní upravovat hodnoty zpoždění obvodů použitých v našem schématu.
4. Pomocí vašeho oblíbeného textového editoru otevřeme knihovnu uloženou v adresáři "lib", který jste zkopírovali v předchozím bodě.
5. Jméno knihovny je závislé na použitém obvodu. Např.: obvod 7400 je uložen v knihovně 7400.lib.
6. Zpoždění jsou definovaná v položce "tplhty" a "tphlty" na konci souboru. Obě nastavte na stejnou hodnotu podle zadání. První určuje zpoždění při náběžné hraně a druhá při sestupné.
7. Soubor uložte.
8. Nyní je potřeba změnit nastavení simulace.
9. V programu "Capture CIS", ve kterém je nakreslené schéma, zvolíme z menu položku "PSpice->Edit Simulation Setting" nebo klikneme na ikonu v nástrojové liště.
10. Otevře se okno "Simulation Settings".
11. Vybereme záložku "Libraries".
12. Pomocí tlačítka "Browse..." postupně přidáme všechny knihovny námi použitých obvodů. Pro přidání je nutné kliknout na tlačítko "Add to Design".
13. Aby knihovny byly použity, musí být knihovna "nom.lib" umístěna na konci seznamu, protože tato knihovna obsahuje počáteční nastavení všech obvodů.
14. Stiskneme "OK". Případnou chybovou hlášku "Cannot write to ini file" ignorujeme ("OK")
15. Nyní spustíme simulaci.
16. Z menu zvolíme položku "PSpice->Run" nebo v nástrojové liště klikneme na ikonu "Run PSpice".
17. Zobrazí se výsledky simulace s námi upravenými hodnotami zpoždění.

## Poznámky

1. Pokud nejde vytvořit netlist, jedna z možných chyb je stejné označení použitých obvodů. Odstraňuje se pomocí "Tools->Annotate->Action->Unconditional reference update". Položka "Annotate" je přístupná v případě, že z okna projektu je zvolená položka designu: "Design Resources->.\design.dsn". Položku "Annotate" je možné vybrat také z nástrojové lišty.