tutorial mentor graphics · 4 observam ca toate proiectele au terminatia “.proj”. in acest...

32
1 Tutorial Mentor Graphics Cojan Nicolae, Cracan Arcadie Iaşi, 2009 implementarea si testarea pas cu pas a unui divizor de frecventa folosind tool-urile Mentor Graphics: Cuprins: NOTA: ....................................................................................................................... 2 PREGATIREA SISTEMULUI DE OPERARE PENTRU PROIECTUL CID. ......................... 3 FOLOSIREA PROPRIU ZISA ICSTUDIO: ...................................................................... 5 Deschiderea unei celule (pas optional) ................................................................. 5 Sinteza MUX2-ului (pas optional) ......................................................................... 6 Crearea unei noi celule.......................................................................................... 6 Paletele cu scurtaturi ............................................................................................. 8 Comenzi, activarea si dezactivarea lor.................................................................. 9 Instantierea componentelor ................................................................................. 10 Rotirea componentelor......................................................................................... 12 Trasarea firelor de legătură între componente ................................................... 14 Selectarea si deselectarea .................................................................................... 14 Plasarea si editarea port-urilor ........................................................................... 15 Editarea blocurilor sau a parametrilor blocurilor .............................................. 16 Verificarea si salvarea schemei ........................................................................... 17 Generarea simbolului dintr-o schema ................................................................. 18 Adaugarea de surse de semnal, surse de alimentare, etc. ................................... 20 Nominalizarea firelor........................................................................................... 22 SIMULAREA CIRCUITULUI ....................................................................................... 24 Pasi obligatorii inainte de lansarea simulatorului .............................................. 24 Lansarea simulatorului ........................................................................................ 25 Efectuarea unei simulări ...................................................................................... 26 Vizualizarea rezultatelor...................................................................................... 32

Upload: others

Post on 12-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

1

Tutorial Mentor Graphics

Cojan Nicolae, Cracan Arcadie

Iaşi, 2009

implementarea si testarea pas cu pas a unui divizor de frecventa folosind tool-urile Mentor Graphics:

Cuprins:

NOTA:.......................................................................................................................2 PREGATIREA SISTEMULUI DE OPERARE PENTRU PROIECTUL CID. .........................3 FOLOSIREA PROPRIU ZISA ICSTUDIO: ......................................................................5

Deschiderea unei celule (pas optional) .................................................................5 Sinteza MUX2-ului (pas optional) .........................................................................6 Crearea unei noi celule..........................................................................................6 Paletele cu scurtaturi.............................................................................................8 Comenzi, activarea si dezactivarea lor..................................................................9 Instantierea componentelor .................................................................................10 Rotirea componentelor.........................................................................................12 Trasarea firelor de legătură între componente ...................................................14 Selectarea si deselectarea....................................................................................14 Plasarea si editarea port-urilor...........................................................................15 Editarea blocurilor sau a parametrilor blocurilor..............................................16 Verificarea si salvarea schemei ...........................................................................17 Generarea simbolului dintr-o schema .................................................................18 Adaugarea de surse de semnal, surse de alimentare, etc. ...................................20 Nominalizarea firelor...........................................................................................22

SIMULAREA CIRCUITULUI .......................................................................................24 Pasi obligatorii inainte de lansarea simulatorului..............................................24 Lansarea simulatorului........................................................................................25 Efectuarea unei simulări......................................................................................26 Vizualizarea rezultatelor......................................................................................32

Page 2: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

2

NOTA: Acest tutorial nu are nici o legatura cu finalitatea proiectului CID, si anume cu

masina FSM. El a fost creat doar pentru a lamuri eventualele nelamuriri ( ☺ ) care pot aparea la unii studenti (noi speram ca nu majoritatea) referitoare la procesul prin care se implementeaza FSM-ul dedus de ei prin parcurgerea temelor.

Din motivul eficientei nu se vor folosi blocurile create pana acum la proiect CID, ci se vor folosi blocuri realizate de austriamicrosystems (AMS – furnizorii pachetului tehnologic HIT-Kit) din biblioteca CORELIB. Deci acest tutorial nu descrie modul de instantiere a tranzitoarelor, sau editarea parametrilor lor.

Sunteti incurajati sa faceti corecturi pe tutorial si de asemenea sa scrieti pe partile laterale ale paginii daca simtiti nevoia unor lamuriri suplimentare ! Autorii

Page 3: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

3

Pregatirea sistemului de operare pentru proiectul CID. Imediat dupa ce ne-am logat pe statiile cu Windows si apoi pe Linux comanda “prj” ne va arata ce scripturi se pot executa pentru diferitele proiecte care se pot realiza pe serverul asociat userului respectiv:

In cazul in care in cimpul “available projects” sunt mai multe proiecte, se scrie codul proiectului dorit in consola dupa care se apasa “Enter”. In cazul de fata, singurul proiect valabil este proiectul la materia CID, astfel incat ii scriem codul corespunzator in consola si apasam tasta “Enter”:

In acest moment setarile specifice sistemului de operare pentru proiectul nostru au fost facute corespunzator (lucru care ne este semnalat si de sistemul de operare:”all analog settings for 0202aDID211P project are done”) si in continuare nu ne mai ramane decat sa lansam in executie programul in care vom implementa mai departe circuitul.

In caz ca nu mai tineti minte ce nume avea proiectul la care ati lucrat data trecuta, se poate folosi comanda “dir” in acest moment care ne va afisa proiectele realizate pana in prezent de utilizatorul respectiv. Aceasta comanda in acest moment este foarte utila deoarece pe fiecare utilizator (train1, train2, etc.) au lucrat mai multi studenti. De exemplu, pentru utilizatorul train1 comanda “dir”dupa acesti pasi va afisa urmatoarele:

Page 4: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

4

Observam ca toate proiectele au terminatia “.proj”.

In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda

“ams_icstudio –p nume_proiect –t c35b3c0” unde nume_proiect se alege din lista obtinuta cu “dir”, iar c35b3c0 este codul procesului tehnologic în care se va dezvolta proiectul.

Ex: ams_icstudio –p adela_gherca ams_icstudio –p Munteanu_Radu

etc.

In cazul de fata, proiectul se numeste nic_1 (denimire cam neacademica, ce-i drept☺) si comanda este “ams_icstudio –p nic_1” (în care s-a omis precizarea procesului tehnologic pentru că proiectul a fost deja creat anterior), dupa care se apasa tasta “Enter”.

Dupa acest pas teoretic ar trebui sa ni se deschida aplicatia familiara noua, si anume ICstudio v2008.2_1.1.

Page 5: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

5

Folosirea propriu zisa ICstudio:

Deschiderea unei celule (pas optional)

Observam cele 3 campuri, Library, Cell si View. Dupa cum stim de datile trecute intr-o bibliotecă (in cazul de fata exista mai multe biblioteci create de utilizator si anume Analogic, Cid_2009, FSM, ICDESIGN_2009) exista mai multe celule. Fiecare celula poate fi ori o componenta, ori o combinatie de alte componente, etc. .

De exemplu in biblioteca selectata, si anume FSM, avem celulele inv, inv_n, tb_inv, tb_inv_n. Se obisnuieste sa se dea nume sugestive celulelor care daca vor fi deschise de o alta persoana decat cel care le-a creat sa fie evidenta functia sau semnificatia lor.

Fiecare celula are un View, sau, in traducere, o reprezentare. Astfel vedem ca celula selectata “inv” are doua view-uri, doua reprezentari, si anume o reprezentare de schemă, si o reprezentare de simbol (Schematic si Symbol).

Page 6: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

6

Am ales in continuare sa lucram in aceasta biblioteca, FSM, si acum ne punem problema de ce blocuri avem nevoie. Bistabilul de tip D ne este furnizat de catre AMS, deci tot ce ne ramane de facut este sa sintetizam MUX2-ul

Sinteza MUX2-ului (pas optional) Functia MUX2-ului este:

_ 1 0 1 0mux out sel in sel in sel in sel in= ⋅ + ⋅ = ⋅ ⋅ ⋅ unde ultima parte a ecuatiei este obtinuta folosind legile lui DeMorgan.

Astfel, schema lui interna este urmatoarea:

Crearea unei noi celule Vom face acum o celula noua cu numele de MUX2 si care va avea View de tip

Schematic in care vom face schema interna din figura de mai sus.

Dupa ce am fost siguri ca suntem in biblioteca dorita (Library) dam click dreapta in spatiul alb asociat celulelor, adica Cell, si selectam “New Cell View”:

Astfel ne apare fereastra:

Page 7: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

7

În această fereastră completăm numele celulei în cîmpul Cell Name şi dam click pe “Finish”.

In acest moment ni se va lansa o alta aplicatie familiara, si anume Design Architect:

Page 8: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

8

Paletele cu scurtaturi

In caz ca meniurile evidentiate nu apar, ele se pot restaura usor din meniul Setup ca in figura urmatoare. Este recomandat sa fie tot timpul afisate Pallete Area adica meniul (sau panoul) incercuit cu rosu din poza anterioara si Message Area, adica zona incercuita de jos din figura anterioara.

Se recomanda pentru începătorii cei care doresc să înveţe sa fie mai eficienti si afisarea Softkey Area, intrucat ea ne prezinta scurtaturile asociate unui set de comenzi uzuale ce pot fi acţionate cu tastele de funcţii (F1-F12).

Page 9: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

9

Acum putem incepe sa instantiem componentele care vor intra in schema dedusa mai sus a MUX2-ului.

Comenzi, activarea si dezactivarea lor Este foarte util sa avem grija ce comanda este activa la anumit moment dat in timp.

Acest lucru este usor de observat pentru ca atunci cand dam o noua comanda programului, ori se deschide o fereastra noua (ca la instantierea unui obiect apasand “i” sau editarea anumitor parametri apasand “q”, etc) ori ne apare un mesaj in stanga jos in fereastra noastra. Urmatorul screenshot evidentiaza rezultatul apasarii comenzii Add wire de 7 ori !!!! :

Este bine să aveţi în vedere toate comenzile active la un moment dat ca să nu vă confruntaţi cu rezultate neaşteptate. De cele mai multe ori este suficient să avem o

Page 10: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

10

singură comandă activă (deşi este perfect posibil să dorim acţionarea unei noi comenzi atunci cînd este activă şi o altă comandă, de exemplu să acţionăm comanda Zoom atunci cînd este activă şi comanda Add wire).

Comenzile se anuleaza ori dand click pe Cancel ori apasand tasta Escape de numarul corespunzator de ori.

Instantierea componentelor From The Free On-line Dictionary of Computing (27 SEP 03) :

Instance: An individual object of a certain class. While a class is just the type definition, an actual usage of a class is called “instance”. Each instance of a class can have different values for its instance variables, i.e. its state.

Cu toate ca definitia cuvantului “instance” sau instanta a dictionarului nu ne lumineaza foarte tare, noi intelegem prin verbul “a instantia” actiunea de a folosi o anumita celula cu un anumit view (adica cu o anumita reprezentare) intr-o alta celula din aceeasi sau din alta biblioteca.

De exemplu intr-o celula de tip “schematic” putem instantia alte celule care au view-uri (reprezentari) de simbol. Cu alte cuvinte daca vom realiza o schema cu tranzistoare putem sa punem in aceasta schema un inversor (la nivel de simbol), sau orice alta poarta. Sau putem realiza o schema care sa contina doar alte porti (sau alte celule instantiate cu view de simbol).

Instantierea unei celule, sau cu alte cuvinte aducerea si folosirea sa, se face apasand tasta “i” care va afisa urmatoarea fereastra:

Page 11: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

11

Este util de observat titlul ferestrei respective: “Add Instance”. Ea nu trebuie confundata cu fereastra care ni se deschide cand lansam in executie ICstudio cu comanda “ams_icstudio –p nume_proiect” . Mai trebuie observat ca daca initial in ICstudio am fi selectat libraria CORELIB si mai departe poarta NAND20 ea ar fi avut mai multe View-uri, si anume Symbol, Schematic, Layout, etc. Dar in cazul de fata cand folosim poarta in alta schema (schema MUX2-ului) ne apare valabila doar reprezentarea NAND20-ului ca un simbol.

Dupa ce se selecteaza Biblioteca dorita, Celula si apoi View-ul se da OK, si astfel in

dreptul cursorului va aparea celula instantiata, si cu un simplu click ea poate fi pozitionata oriunde in schema. Am pozitionat un NAND20 in dreapta cu un click, si folosind tastele sageti si rotita de la mouse se poate naviga in figura si se pozitioneaza numarul de NAND20-uri necesar pentru implementarea schemei MUX2-ului.

Conform schemei din primele pagini, sunt necesare în total trei porţi NAND20 si un INV0 care vor fi luate din biblioteca CORELIB.

Dupa instantiere si o plasare iniţială rapidă a blocurilor in schema, s-a obtinut:

Page 12: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

12

Rotirea componentelor: in acest moment este necesara rotirea doar a inversorului. Acest lucru se poate realiza ori selectand entitatea dorita (simbol, tranzistor, etc) si dand click dreapta:

sau folosind scurtaturile de pe tastatura, care, in caz ca nu le stim, pot fi gasite din meniul urmator:

Page 13: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

13

si ele vor fi afisate astfel:

În această fereastră găsim scurtătura care ne interesează şi anume „r” pentru comanda Rotate.

Obtinem usor:

Page 14: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

14

Trasarea firelor de legătură între componente Componentele se leaga apasand tasta “w” care provine de la “wire”. Firele se

conecteaza doar intre pinii blocurilor care pana acum au fost desenati cu MOV si de obicei sunt notati cat mai clar.

Firele trebuie trase cat mai ingrijit pentru a se evita aglomerarea inutila a figurii.

In caz ca este necesar, componentele se pot muta dupa placul studentului studios !

Dupa legarea componentelor, schema arata in acest mod:

Observam ca ni se arata cu linii intrerupte ceea ce este selectat.

Selectarea si deselectarea Observam in figura anterioara ca programul ne arata ce este selectat cu linii albe si

intrerupte.

Pentru deselectarea oricaror componente (fire selectate, pini selectati, blocuri selectate) se da click stanga oriunde in schema dupa ce am anulat orice comanda deschisa sau am inchis orice fereastra deschisa de program! Altfel dand click stanga de exemplu oriunde in schema cand este comanda wire activa ne va creea un fir nou, nu ne va anula selectia nedorita facuta automat de program.

Selectarea mai multor componente este utila cand se doreste mutarea lor, sau

editarea lor in grup. Acest lucru se efectueaza tinand apasată tasta Control si selectand cu mouse-ul (asemanator cu felul în care selectam fisiere in Windows/Linux). In figura urmatoare s-au selectat prin aceasta metoda cele 3 NAND20:

Page 15: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

15

Plasarea si editarea port-urilor Dupa ce am facut schema interna a MUX2-ului mai ramane ca inainte sa ii cream un

simbol sa adaugam asa zisii ports care vor deveni pinii simbolului MUX2-ului.

Intr-o schema oarecare care ulterior va avea un simbol, pinii de intrare/iesire/etc se numesc ports. Ei vor deveni pins atunci cand se va crea simbolul schemei respective.

Astfel Portin si Portout se adauga din paleta din dreapta, din meniul

Acest lucru este echivalent cu instantierea blocurilor Portin si Portout in schema noastra.

Porturile se pozitioneaza ca orice bloc din schema, si apoi se realizeaza legaturile corespunzatoare:

Page 16: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

16

Editarea blocurilor sau a parametrilor blocurilor Dupa cum se observa din figura anterioara, porturile de intrare si de iesire au

denumirea de NET. De obicei marea majoritate a simulatoarelor consideră în mod implicit firele cu acelasi nume ca fiind în scurt circuit. Deci daca noi vom crea acum un simbol la schema de mai sus, programul va interpreta acei trei pini ca unul singur, pentru ca ei au aceeasi denumire, si anume “NET”, ceea ce este profund gresit.

Pentru a edita parametrul care da numele pin-ului sau pentru a edita orice alt parametru asociat unei componente sau a unui bloc, se selecteaza componenta sau blocul dorit si se da comanda “q”.

A nu se confunda comanda “q” cu “Q”. Ele sunt diferite. In general este util sa fim atenti daca este apasat Caps Lock intrucat programul este case-sensitive (sensibil la registrul caracterelor, cu alte cuvinte la majuscule şi minuscule), chiar daca studentul nu este ☺ !

Astfel se selecteaza portul dorit si se apasa “q”, iar in campul de interes, care este Value (adică valoarea corespunzătoare parametrului) se pune numele portului respectiv:

si se da “OK”. Obtinem :

Page 17: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

17

Pentru orice alt parametru, se selecteaza campul cu acel parametru, se editeaza unul sau mai multe, si se da “OK”.

Verificarea si salvarea schemei Se da click pe butonul evidentiat (care acţionează comanda de salvare cu

verificare):

Se va deschide o filă nouă in program in care va vor fi afisate erorile si avertismentele (warnings). Este necesar sa fie cel mult 1 avertisment, daca sunt mai multe, e nasol !

Ce este în plus faţă de acest avertisment “Interface .... has no pins” trebuie remediat.

Page 18: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

18

Generarea simbolului dintr-o schema Generarea simbolului pentru o schema la care s-au adaugat porturi de intrare si de

iesire se face din meniul Miscellaneous -> Generate Symbol:

Dupa click, va apare fereastra urmatoare:

Atentie, programul completeaza singur cîmpul View cu numele Symbol, si este de preferat ca acest cîmp sa se modifice doar în cunoştinţă de cauză.

Observam ca exista optiunea sa dam o anumita forma de plecare blocului nostru.

Programul in mod implicit, creeaza un “box” si pune ce era ca Portin ca pin de intrare in partea stanga si ceea ce era ca “Portout” pune ca pini de iesire in partea dreapta a “box”-ului. Daca se doreste se poate alege o alta forma de la care sa se porneasca forma blocului dand click pe “Choose shape” si se selecteaza alta forma corespunzatoare.

Altfel nu se da click pe “Choose shape” si se da click pe “OK”.

Page 19: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

19

Observam ca se deschide Symbolul intr-o filă nouă unde se pot muta pinii, se pot trage linii, se pot adauga sau elimina elemente grafice cu ajutorul paletei din stanga sau din dreapta (nereprezentata in figura de mai jos):

Dupa ce editarile necesare au fost facute, in cazul de fata s-a mutat pin-ul out si

linia verde mai sus si s-a mutat pinul de selectie sel si linia sa verde sub box-ul MUX2-ului este necesar sa se seteze originea simbolului.

Originea este punctul de ancora din simbol care va fi aliniat la pozitia mouse-ului cand blocul va fi instantiat. Este usor de observat in figura de sus ca originea este in dreptul pinului de selectie sel. Originea se modifica din meniul Setup -> Set Origin: si se da click pe pin-ul dorit:

Page 20: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

20

Dupa ce s-a terminat editarea simbolului, adaugarea/stergerea elementelor, mutarea pinilor, mutarea originii, adaugarea de text nou, etc. se da click pe discheta din stanga sus pentru salvare cu verificare (ca de obicei de altfel):

Adaugarea de surse de semnal, surse de alimentare, etc. Pana acum am implementat blocul MUX2 si acum vom trece la crearea unei bănci

de test (test bench) pentru a verifica functionarea structurii de pe prima pagina a acestui tutorial.

Nu vom crea un simbol pentru aceasta structura, o vom testa asa cum este ea, ii vom

adauga surse de semnal si ceea ce este necesar pentru testarea ei.

Astfel, cream o noua celula cu view de schematic in biblioteca noastra, unde vom instantia bistabilul de tip D din CORELIB si MUX2-ul creat de noi din biblioteca FSM si le vom lega ca in figura si vom obtine urmatoarea figura:

Page 21: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

21

Observam ca sub poarta adusa din CORELIB scrie: C_VDD si C_VSS. Acest lucru semnifica faptul ca blocul respectiv are nevoie de alimentari. Acest lucru se explica prin faptul ca in interiorul sau blocul are tranzistoare intr-o structura tipica circuitelor integrate digitale CMOS, adica un bloc P si un bloc N conectate la firele cu numele C_VDD si C_VSS care pentru a functiona corect trebuiesc alimentate la potenţialele de 3.3V respectiv 0V.

Astfel surse de tensiune si de semnal se adauga din paleta din dreapta, din Library -

> Sources Lib -> ....

Definirea potentialelor se face tot din paleta din dreapta, dar de aceasta data dand click pe:

unde vdd_g atunci cand va fi pus in schema va deveni C_VDD iar vss_g cand va fi

pus in schema va deveni C_VSS.

Masa (ground-ul) se ia din Library -> Generic Lib -> Ground. Astfel obtinem schema:

Page 22: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

22

Observam ca am adaugat un port in iesirea circuitului pentru a ne facilita citirea semnalului la iesire.

Acum putem modifica parametrii fiecarei surse de tensiune si de semnal pentru a verifica corespunzator circuitul.

Nominalizarea firelor Fiecare schemă pe care o introducem va fi „tradusă” ulterior, în vederea simulării, într-o listă de interconexiuni (termenul în engleză este netlist) care va fi pusă la dispoziţia simulatorului şi cu ajutorul căreia simulatorul îşi alcătuieşte intern sistemele de ecuaţii pe care le va rezolva.

Rezultatele simulării (soluţiile sistemelor de ecuaţii) sînt disponibile prin intermediul numelor firelor de interconexiune (pentru semnale de tensiune) şi prin intermediul numelor pinilor componentelor (pentru semnale de curent).

Atunci cînd introducem o schemă, firele care sînt conectate la porturi capătă numele portului asociat. Toate celelalte fire rămîn ne-denumite de către utilizator, dar totuşi ele trebuie să fie identificabile în mod unic de către program. Soluţia la care recurge programul este de a genera un nume aleator firelor rămase fără nume din schemă.

Această soluţie este acceptabilă de cele mai multe ori, însă există situaţii în care o să vrem să urmărim semnale de pe fire rămase ne-denumite în schemă şi atunci în vizualizatorul de forme de undă la numele semnalelor reprezentate vor apărea numele generate de program, care pentru utilizator nu au nici o semnificaţie şi sînt greu de urmărit.

Soluţia este de a pune cîte o etichetă (de a denumi) pe firele care ne interesează (de exemplu toate firele care fac legătura între sursele de semnal şi intrările în blocuri, pentru că ele, nefiind conectate la nici un port, rămîn ne-denumite). Aceasta se face cu comanda Name Net accesibilă din paleta din dreapta sau cu scurtătura din tastatură „l”. Pentru a denumi un fir trebuie să selectăm firul dorit

Page 23: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

23

şi apoi să acţionăm comanda Name Net (tasta l).

Va apărea o fereastră în care la cîmpul Property Value vom introduce numele dorit pentru fir (clk)

şi vom da click pe At Location (butonul cu cruce).

Vom poziţiona eticheta oriunde dorim pe fir:

Iar rezultatul poziţionării arată ca în figură:

Page 24: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

24

Vom denumi firul conectat la sursa generatoare de tact cu clk, firul din ieşirea Q a bistabilului cu clk_div2 şi firul conectat la intrarea de selecţie a multiplexorului cu sel. Schema finală, cu firele de interes etichetate, arată ca în figură.

Simularea circuitului

Pasi obligatorii inainte de lansarea simulatorului

Primul pas: CHECK AND SAVE ! Daca e mai mult de 1 warning, circuitul trebuie verificat.

Pasul 2: crearea “viewpoint-ului”:

Si apoi:

Page 25: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

25

Unde design path-ul semnifica calea catre celula careia i se face simularea. Ea are de obicei formatul: “$biblioteca/default.group/logic.views/functionare_divizor” Se observa ca acest format se respecta si in cazul de fata. Se da “OK”.

In acest moment celula cu acest View este pregătită pentru simulare.

Lansarea simulatorului Intrarea în modul de simulare se poate face din mai multe locuri ale interfeţei: ori de pe bara de unelte din stînga acţionînd butonul cu triunghiul verde:

ori, cel mai uzual, acţionînd butonul Simulation de pe paleta din dreapta (dacă acest buton nu este disponibil pentru că am coborît în ierarhia butoanelor de pe paletă el se găseşte rapid dînd click dreapta pe paletă şi selectînd Display Schematic Palette):

Page 26: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

26

Va apărea o fereastră prin care sîntem întrebaţi ce configurare a simulării dorim să selectăm:

Dacă am urmărit acest tutorial cu precizie, atunci va fi disponibilă o singură configuraţie, cea pe care am creat-o la etapa Pasi obligatorii inainte de lansarea simulatorului (vezi mai sus). Putem în acest moment să apăsăm OK. Astfel se intră în modul de simulare (Simulation Mode), diferit de modul de editare a schemei. Se poate constata rapid că aspectul interfeţei s-a schimbat, sînt disponibile alte comenzi în meniul principal, pe bara din stînga, pe paleta din dreapta, etc.:

Efectuarea unei simulări O simulare se efectuează parcurgînd următorii paşi:

Primul pas: Configurarea modelelor pentru simulare Aceasta se face acţionînd comanda Set Simulation Models din meniul HIT-Kit Utilities a meniului principal:

Page 27: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

27

Va apărea o fereastră care ne permite să selectăm una dintre abaterile (process corners) procesului tehnologic: worst speed, worst power, etc., noi vom alege opţiunile implicite (cele deja selectate) şi vom da OK.

Al doilea pas: Configurarea analizelor care vor fi efectuate Aceasta se face acţionînd comanda Analyses de pe paleta din dreapta:

Va apărea o fereastră care ne permite să selectăm şi să configurăm fiecare analiză pe care dorim s-o efectuăm:

Page 28: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

28

În această fereastră vom selecta (bifa) analizele pe care dorim să le efectuăm (DC, AC, Transient, etc.). În exemplul nostru vom dori să efectuăm analiza în timp a circuitului şi de aceea vom bifa analiza tranzitorie (transient):

Pentru a configura analiza vom da click pe butonul Setup alăturat analizei pe care am bifat-o. În exemplul nostru vom configura analiza tranzitorie. Fereastra de configurare arată în felul următor:

Cel mai important parametru pentru analiza tranzitorie este durata simulării sau timpul de simulare sau timpul de oprire a simulării, indicat de cîmpul Stop time (TSTOP), care în mod implicit este de 100N. Pentru exemplul nostru vom alege un timp de simulare de 5u:

În funcţie de forma particulară a semnalelor generatoarelor acest timp poate fi mai lung sau mai scurt. Trebuie să avem grijă să alegem un timp suficient de lung astfel încît să putem observa fenomenele care ne interesează. Totodată vom căuta să alegem acest timp cît mai scurt pentru o simulare cît mai rapidă. Cu aceasta configurarea analizei tranzitorii se încheie, dăm click pe OK şi ferestrele se închid.

Page 29: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

29

Al treilea pas: Stabilirea listei de semnale urmărite Acest pas este important deoarece dacă nu există semnale urmărite (ceea ce înseamnă că nu ne interesează nici un rezultat al simulării) simulatorul nu va rula nici o simulare. Aceasta se face acţionînd comanda Wave Outputs de pe paleta din dreapta:

Va apărea o fereastră care ne permite să adăugăm semnale şi să specificăm acţiunea care va fi efectuată cu rezultatele obţinute (salvare, reprezentare grafică, tipărire), tipul rezultatelor (este posibil ca în cadrul unei analize să fie disponibile pentru acelaşi semnal mai multe tipuri de informaţii):

Această fereastră prezintă mai multe cîmpuri şi butoane. Cele mai importante cîmpuri sînt cele două evidenţiate: Lista de semnale urmărite şi Lista obiectelor selectate. Iniţial lista semnalelor urmărite este vidă (încă nu am specificat nici un semnal), iar lista obiectelor selectate poate fi sau nu vidă, în dependenţă de faptul dacă avem sau nu obiecte selectate în schemă. Metoda de adăugare a semnalelor la lista de semnale urmărite este după cum urmează:

1. Se selectează un obiect din schema circuitului. În exemplul nostru toate obiectele vor fi fire (nets). Pentru aceasta vom da la o parte fereastra (ATENŢIE, NU SE ÎNCHIDE) cu semnalele urmărite pentru a avea accesibilă schema circuitului. Apoi cu mouse-ul vom selecta un fir de pe care vrem să urmărim semnalul:

Page 30: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

30

Astfel firul selectat apare cu linie întreruptă. În exemplul nostru firul selectat este out.

2. Aducem (tragem) fereastra cu semnalele urmărite înapoi în prim plan şi observăm că în lista obiectelor selectate apare selecţia pe care am făcut-o:

Obiectul selectat este un fir deoarece are tipul N (N: OUT), numele firului este OUT. Pentru acest fir vom specifica: tipul analizei ale cărei rezultate ne interesează, acţiunea ce trebuie efectuată cu rezultatele obţinute, tipul particular al rezultatelor care ne interesează. Aceasta se face setînd cîmpurile din dreapta listei de obiecte selectate:

Tipul analizei ale cărei rezultate ne interesează este setat din cîmpul Analysis. În exemplul nostru vom alege TRAN pentru analiza tranzitorie (singura efectuată):

Acţiunea pe care o va întreprinde programul pentru rezultatele pentru semnalul selectat se configurează din cîmpul Task. În exemplul nostru vom alege ca aceste rezultate să fie reprezentate grafic (Plot):

Tipul particular al rezultatelor care ne interesează din mulţimea rezultatelor obţinute pentru acest semnal se setează din cîmpul Type. Noi vom alege pentru tipul rezultatelor valorile de tensiune (Voltages)

Page 31: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

31

deoarece în acest circuit semnalele logice sînt transmise prin intermediul tensiunilor:

În acest moment principalele setări pentru semnalul selectat au fost făcute.

3. Se adaugă semnalul (cu setările făcute la punctul anterior) la lista de semnale urmărite. Aceasta se face dînd click pe butonul de adăugare care se află în coloana de butoane din dreapta listei de semnale urmărite:

Astfel semnalul este adăugat la lista de semnale urmărite, aşa cum se observă în figură.

Punctele 1, 2 şi 3 se reiterează pentru fiecare semnal pe care dorim să-l urmărim. În exemplul nostru lista finală de semnale urmărite arată aşa:

Această fereastră se poate închide în acest moment dînd click pe butonul X din colţul din dreapta-sus. Ori de cîte ori avem nevoie să modificăm lista semnalelor urmărite vom reveni la această fereastră acţionînd comanda Wave Outputs. Dacă am adăugat semnale în plus acestea se pot sterge selectîndu-le (în aceeaşi manieră cum selectăm fişiere în sistemul de operare) şi apăsînd butonul de ştergere:

Dacă dorim să modificăm unele setări pentru un anumit semnal, îl selectăm, modificăm cîmpurile care nu ne convin (Analysis, Task, etc.) şi reactualizăm semnalul din lista de semnale urmărite făcînd click pe butonul de reactualizare:

Page 32: Tutorial Mentor Graphics · 4 Observam ca toate proiectele au terminatia “.proj”. In acest moment putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p

32

Cu aceste precizări pasul de configurare a semnalelor urmărite se încheie aici.

Al patrulea pas: Rularea simulării Dacă toţi paşii anteriori au fost corect realizaţi putem, în acest moment, să rulăm simularea. Aceasta se face acţionînd comanda Run ELDO, disponibilă şi pe paleta din dreapta:

Vom urmări fereastra de mesaje (Message Area – ATENŢIE – trebuie s-o aveţi în prealabil afişată, altfel mesajele se pierd) mesajul că simularea s-a încheiat cu succes (Simulation completed successfully):

În situaţia în care apare un alt mesaj există o problemă ori în circuitul pe care îl simulăm, ori la setările pe care le-am făcut. Vom urmări fereastra de înregistrări în jurnal (Log) care apare tot în partea de jos a simulatorului (dacă aceasta lipseşte, ea trebuie adăugată din meniul Setup->Windows->Log) pentru a găsi problema ce a condus la eşecul simulării (în general se caută mesaje care conţin cuvintele: error, failed etc.). Sînt numeroase situaţiile în care pot apărea erori de aceea paşii premergători rulării simulării trebuie efectuaţi cu atenţie.

Vizualizarea rezultatelor