tutorial mentor graphics - tuiasi 2.pdf · de exemplu in biblioteca selectata, si anume fsm, avem...

39
1 Tutorial Mentor Graphics http://vlsi.etti.tuiasi.ro implementarea si testarea pas cu pas a unui divizor de frecventa folosind tool-urile Mentor Graphic Cuprins: PREGATIREA SISTEMULUI DE OPERARE PENTRU PROIECTUL CID. ................................................. 2 FOLOSIREA PROPRIU ZISA ICSTUDIO: .............................................................................................. 3 Lansarea programului Icstudio ..................................................................................................... 3 Fereastra principala a programului ICStudio: library, cell, view ................................................ 4 Sinteza MUX2-ului (optional) ........................................................................................................ 6 Crearea unei noi celule .................................................................................................................. 7 Paletele cu scurtaturi ..................................................................................................................... 8 Comenzi, activarea si dezactivarea lor ........................................................................................ 10 Instantierea componentelor ......................................................................................................... 10 Rotirea componentelor................................................................................................................. 12 Trasarea firelor de legătură între componente ........................................................................... 13 Selectarea si deselectarea ............................................................................................................ 14 Plasarea si editarea pinilor de intrare si iesire (port-urilor) ...................................................... 15 Editarea blocurilor sau a parametrilor blocurilor ...................................................................... 16 Verificarea si salvarea schemei (si eventuale erori) ................................................................... 18 Generarea simbolului dintr-o schema cu pini ............................................................................. 20 Schema finala a divizorului - adaugarea de surse de semnal, surse de alimentare, etc. ............ 23 Nominalizarea firelor................................................................................................................... 27 SIMULAREA CIRCUITULUI ............................................................................................................... 29 Pasi obligatorii inainte de lansarea simulatorului ...................................................................... 29 Lansarea simulatorului ................................................................................................................ 30 Efectuarea unei simulări .............................................................................................................. 31 Vizualizarea rezultatelor.............................................................................................................. 38

Upload: others

Post on 24-Feb-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

1

Tutorial Mentor Graphics http://vlsi.etti.tuiasi.ro

implementarea si testarea pas cu pas a unui divizor de frecventa

folosind tool-urile Mentor Graphic

Cuprins:

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

Lansarea programului Icstudio ..................................................................................................... 3

Fereastra principala a programului ICStudio: library, cell, view ................................................ 4 Sinteza MUX2-ului (optional) ........................................................................................................ 6 Crearea unei noi celule .................................................................................................................. 7 Paletele cu scurtaturi ..................................................................................................................... 8

Comenzi, activarea si dezactivarea lor ........................................................................................ 10 Instantierea componentelor ......................................................................................................... 10 Rotirea componentelor................................................................................................................. 12 Trasarea firelor de legătură între componente ........................................................................... 13

Selectarea si deselectarea ............................................................................................................ 14 Plasarea si editarea pinilor de intrare si iesire (port-urilor) ...................................................... 15

Editarea blocurilor sau a parametrilor blocurilor ...................................................................... 16

Verificarea si salvarea schemei (si eventuale erori) ................................................................... 18

Generarea simbolului dintr-o schema cu pini ............................................................................. 20 Schema finala a divizorului - adaugarea de surse de semnal, surse de alimentare, etc. ............ 23

Nominalizarea firelor................................................................................................................... 27

SIMULAREA CIRCUITULUI ............................................................................................................... 29 Pasi obligatorii inainte de lansarea simulatorului ...................................................................... 29

Lansarea simulatorului ................................................................................................................ 30 Efectuarea unei simulări .............................................................................................................. 31

Vizualizarea rezultatelor .............................................................................................................. 38

Page 2: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

2

Pregatirea sistemului de operare pentru proiectul CID.

Dupa ce ne-am logat pe statiile cu Windows si apoi pe Linux comanda “module avail” ne va arata

ce module se pot incarca pentru diferitele proiecte:

In cazul in care in cimpul “module files” sunt mai multe proiecte, se scrie codul proiectului dorit in

consola dupa care se apasa “Enter”. In cazul de fata, proiectul dorit este cel de la CID, astfel incat ii

scriem codul corespunzator in consola si apasam tasta “Enter” astfel:

In acest moment setarile specifice sistemului de operare pentru proiectul nostru au fost facute

corespunzator si in continuare nu ne mai ramane decat sa lansam in executie programul in care vom

implementa mai departe circuitul.

Atentie, mediul de operare LINUX este „case sensitive”, adica exista o diferentiere clara

intre litere mari si litere mici. Comanda „module load project/cid” va da eroare intrucat

modulul „cid” nu exista, ci exista modulul „CID”. Aceasta observatie este valabila in tot mediul de

proiectare de la Mentor Graphics si este un aspect important care impacteaza mai ales comenzile date

programului. De exemplu comanda „w” (wire) este diferita de „W” care este Bus ! sau „q” de „Q”.

Atentie la Caps Lock !

Page 3: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

3

Folosirea propriu zisa ICstudio:

Lansarea programului Icstudio

Daca dorim sa facem un proiect nou, comanda este

“ams_icstudio –p nume_proiect –t c35b3c0”

unde nume_proiect este numele dorit al proiectului nou.

In caz ca doriti sa deschideti un proiect deja existent si nu mai tineti minte ce

nume avea, se poate folosi comanda “dir” 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:

Observam ca toate proiectele au terminatia “.proj”.

Putem deschide ce proiect dorim noi la alegere, cu comanda “ams_icstudio –p nume_proiect”

unde nume_proiect se alege din lista obtinuta cu “dir.

Ex:

ams_icstudio –p PaulAlina

ams_icstudio –p craciun_rusu

etc.

Este de preferat ca fiecare student sa isi aleaga un nume reprezentativ pentru proiect, nu

„ono_team” (facut de userul train1 cum se observa mai sus) sau „marabou” (facut de userul train9).

Page 4: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

4

Fereastra principala a programului ICStudio: library, cell, view

In captura de ecran urmatoare se observa in bara de sus ca programul ne indica numele proiectului

deschis, in acest caz „nic_1”.

Dupa deschiderea proiectului observam cele 3 campuri, Library, Cell si View.

Dupa cum stim de datile trecute intr-o bibliotecă exista mai multe celule. De exemplu in proiectul

deschis exista bibliotecile Analogic, Cid_2009, FSM, ICDESIGN_2009 Fiecare celula poate fi ori o

componenta (un inversor, un multiplexor), ori o combinatie de alte componente (o schema de

verificare pentru inversor, o schema de verificare cu componente din alte biblioteci), etc. .

Page 5: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

5

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).

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

Page 6: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

6

Sinteza MUX2-ului (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:

Page 7: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

7

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 anterioara.

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:

Î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 - TUIASI 2.pdf · 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

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 din figura anterioara.

Page 9: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

9

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).

Un mod rapid de a reseta meniurile care apar in program este sa facem restore la ceea ce se

numeste „default profile” ca in figura urmatoare:

Acum putem incepe sa instantiem componentele care

vor intra in schema dedusa mai sus a MUX2-ului.

Page 10: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

10

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 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 - TUIASI 2.pdf · 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

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.

Page 12: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

12

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

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 - TUIASI 2.pdf · 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

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:

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.

Page 14: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

14

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 - TUIASI 2.pdf · 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

15

Plasarea si editarea pinilor de intrare si iesire (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

1) paleta din dreapta, din meniul

SAU

2) din paleta din stanga dand click pe butonul care seamana cu un pin si selectand ce fel de pin

dorim: in,out sau bi

Page 16: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

16

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

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

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:

Atentie, nu se modifica campul Name, se modifica doar Value !

Page 17: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

17

si se da “OK”. Obtinem :

Pentru orice alt parametru, se selecteaza campul cu acel parametru, se editeaza unul sau mai multe,

si se da “OK”.

Page 18: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

18

Verificarea si salvarea schemei (si eventuale erori)

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 (Interface....... has no pins), daca sunt mai multe se

procedeaza in modul urmator.

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

De exemplu in schema de mai jos am introdus voit trei erori, anume:

1) un fir conectat in plus la intrarea unei porti NAND20

2) un fir in aer

3) un pin in plus neconectat

Page 19: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

19

Comanda check and save va genera urmatoarele erori:

Pentru remediera erorilor se da click la inceputul liniei pe fiecare eroare care astfel va

evidentia in schema pinul sau firul unde se afla eroarea. Astfel daca vom da click pe primul rand la

prima eroare in fisierul de raport, daca ne vom duce inapoi in schema eroarea respectiva va fi

evidentiata astfel:

Page 20: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

20

Generarea simbolului dintr-o schema cu pini

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

Page 21: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

21

o alta forma de la care sa se porneasca forma blocului dand click pe “Choose shape” si se selecteaza

alta forma corespunzatoare. Daca nu se doreste aceasta se da click pe “OK” direct.

Observam ca se deschide simbolul 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 ca in figura:

Page 22: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

22

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):

Page 23: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

23

Schema finala a divizorului - 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 urmatoare:

Nu vom crea un simbol pentru aceasta structura, o vom testa asa cum este ea, vom adauga surse de

semnal in interiorul ei si ceea ce mai este necesar pentru testarea ei.

Astfel, cream o noua celula ! (Click dreapta, New Cell in Design Architect, in biblioteca noastra)

cu view de schematic, unde vom

1) instantia bistabilul de tip D din CORELIB (tasta „i”, NU „I”)

2) instantia MUX2-ul creat de noi din biblioteca FSM (tasta „i”, NU „I”)

3) le vom lega ca in figura si vom obtine urmatoarea figura:

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.

Page 24: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

24

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

din Library -> Sources Lib -> ....ca in figura urmatoare. Vom adauga sursele in doi pasi.

PASUL 1.

Definirea tensiunilor de polarizare (care de fapt sunt pinii +5V si 0V, pinii 14 si 7 de la integratele

din laborator) 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 25: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

25

Observam ca inca mai avem de completat cu surse de semnal pentru pinii de clock si pentru pinii

de selectie. Aceste surse vor fi „Pulse” din meniul anterior.

PASUL 1.

Adaugam surse de semnal pentru Clock si Sel.

Semnalul Clock va avea o sursa „Pulse” iar semnalul SEL va avea o sursa „Pattern” sau „Pulse”.

Pentru editarea lor se apasa tasta „q” (nu „Q”).

De exemplu pentru semnalul de clock s-a ales o perioada de 50 nano secunde. Se doreste factor de

umplere de 50% deci „pulse value” va fi la jumatate, adica 25 nano secunde. Timpii de crestere si de

scadere nu sunt relevanti in situatia noastra, ii putem pune la 1 nano secunda fiecare. Nivelele de 0 si

1 Logic sunt 3.3V si 0V (fata de 5V si 0V la laborator).

Se editeaza doar campurile marcate cu chenar pentru fiecare sursa, restul campurilor NU

TREBUIESC MODIFICATE, ca in figura urmatoare pentru „Pulse”. Atentie, se modifica doar

VALUE, nu la NAME !

Dupa ce s-au facut modificarile dorite, se da Apply si Ok.

Page 26: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

26

Schema finala va arata in acest mod:

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

iesire.

Page 27: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

27

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

ş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:

Page 28: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

28

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

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ă.

Page 29: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

29

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:

Unde design path-ul semnifica calea catre celula careia i se face simularea.

Ea are de obicei formatul:

“$biblioteca/default.group/logic.views/$celula”

In cazul de mai sus $biblioteca (Library) este „FSM”, iar $celula (Cell)

este „functionare divizor”.

Page 30: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

30

Pentru un student care lucreaza intr-o biblioteca avand denumirea

„biblioteca_mea_1” si celula „MUX2_varianta1” calea corecta de Design

Path ar fi “biblioteca_mea_1/default.group/logic.views/MUX2_varianta1”

Se poate da „Navigate” si se poate face browse selectand biblioteca in care

se lucreaza, se da ok, apoi se selecteaza default_group, se da ok, logic views,

ok si apoi celula la care se lucreaza si se da ok iar astfel calea se completeaza

automat

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):

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

Page 31: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

31

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 32: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

32

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 33: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

33

Î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

Page 34: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

34

î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.

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 35: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

35

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):

Page 36: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

36

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) 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 37: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

37

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.

Page 38: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

38

Vizualizarea rezultatelor

Pentru a vizualiza formele de unda salvate dupa o simulare finalizata cu succes se da click pe „view

waves”.

Aceasta comanda va deschide programul EZWave de vizualizare a rezultatelor care va

incarca in mod automat formele de unda pentru firele care au fost selectate anterior pentru

vizualizare (prin comanda Wave Outputs).

Se observa functionarea corecta a divizorului de frecventa, cand bitul de Selectie are valoarea

0 iesirea este 0.5fck iar cand bitul de selectie are valoarea 1 iesirea este fck .

Page 39: Tutorial Mentor Graphics - TUIASI 2.pdf · 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

39