CDS LAB1

From ATI public wiki
Jump to: navigation, search

English page United Kingdom.png


Tutoriali eesmärk on viia läbi digitaalskeemi koostamine ja simulatsioon kasutades Cadence vahendeid

Sätime paika oma töökeskkonna

kõik selles ja järgmises lõigus olevad tegevused toimuvad käsurealt

  • loome uue alamkataloogi lab1
  • liigume sinna alamkataloogi
  • kasutades käsku 'cad' ja sealt valikuga '1' väärtustame kõik vajalikud keskkonnamuutujad Cadence jaoks
  • seejärel vahetame ümber tekstiredaktori vaikeväärtuse, valides uueks tekstiredaktoriks SciTE, vaikimisi on tekstiredaktoriks vi
Töökeskkonna paika sättimine

Käivitame Cadence

Cadence 2016 EDA ver. juhist jälgides
  • kui on tegemist esmakordse käivitamisega siis kasutame käsurida
ams_cds -64 -tech c18a6 -add CORELIB -add IOLIB_6AM -add GATES_ANA
siin me valisime tehnoloogiaks AMS 0.18μm tehnoloogia 6 metallikihiga ja lisasime elementbaaside kataloogide nimistusse kolm täiendavat kataloogi
  • kui on tegemist järgmiste käivitamiskordadega siis kasutame käsurida
ams_cds
Cadence käivitus
peale ülevalpool oleva pildi teateid võib käsurida ignoreerida, edasised tegevused toimuvad läbi Cadence graafilise kasutajaliidese
avaneb mitmeid akneid, ühel neist küsitakse täpsustavat informatsiooni meil kasutatava designkit'i kohta
Designkit'i küsimus
siin õnneks on ainult üks valik ja tuleks vajutada nupule OK
avaneb ka Cadence põhiaken mis vaikimisi paikneb töölaual vasakul alumise nurga juures
Cadence põhiaken
siia kogunevad Cadence teated , sealhulgas ka veateated
ja avaneb ka Cadence Library Manager aken
Library Manager
siin aknas on mõistlik valida checkbox Show Categories

Tekitame oma library

Library Manager aknas valine menüüst File valiku New ja Library
Loome uue library


avaneb uus aken kuhu sisestame nime labor_1 ja vajutame nupule OK
Loome uue library


avaneb uus väike aken küsimusega ja valikvastustega, valime Attach to an existing technology library ja vajutame OK
uue library tehnoloogia
järgmises uues aknas tuleks valida tehnoloogiaks TECH_C18A6 ja vajutada nupule OK
uue library tehnoloogia

Tekitame uue skeemi oma library'sse

selleks tuleb Library Manager aknas ära valida library millele me andsime nime labor_1 ja valida menüüst File valik New ning Cell View
uue skeemi tekitamine


avanevas aknas täidame välja Cell andes oma uuele skeemile nimeks poolsummaator
uue skeemi tekitamine
Application valikute osas valime Schematics XL ja märgime ära checkbox'i Always use this application for this type of file
ja vajutame OK , selle peale avaneb meile skeemiredaktori aken

Poolsummaatori skeemi redigeerimine

eelnevate tegevuste tulemusena on meil nüüd lahti skeemiredaktori aken
Cadence skeemiredaktori aken


siinkohas on mõislik meelde jätta mõned skeemiredaktori lühikäsud
  • 'i' - instance , uue skeemielemendi lisamiseks
  • 'w' - wire , uue ühenduse loomiseks
  • 'l' - label , ühendusele nime panemine
  • 'p' - pin , uue sisendi/väljundi loomiseks
  • 'f' - fit to view , mahutab kogu seni joonistatud skeemi meie vaatevälja
  • 'u' - undo , viimase tegevuse tühistamine
  • 'X' - Check and Save' , teostab skeemile veakontrolli ja salvestab skeemi
hiire paremat klahvi all hoides saab tirida piirkonna mida suurendatakse, et suurendusest kiirelt välja minna vajutada f
igast sisestusrežiimist (instance/wire/pin/jms.) saab kiirelt väljuda klahviga ESC
olles wire režiimis saab kindlaid ühendusi luua klahviga 's' ehk snap , selleks liikuda hiirekursoriga sobiliku ühenduspunkti lähedale ja Cadence pakub võimalikku ühenduse loomist kollase rombi kujulise kastiga selle punkti ümber
NB! undo töötab kuni viimase salvestuseni, peale salvestust ei ole võimalik skeemi tehtud muudatusi tagasi võtta

Kirjanurgaga raami lisamine

vajutame klahvi i ja avanevas aknas nuppu Browse
Cadence add instance aken
avaneb Library Browser kus valime Library alt BORDERS ja sealt Cell alt A5
täindavalt avanenud Library Manager akna võime sulgeda vajutades nupule Close
Add Instance akna saame ajutiselt ära peita vajutades nupule Hide
seejärel liikudes hiirekursoriga skeemiredaktori akna mustale alale saame valitud elemendi paika panna
Cadence skeemiredaktor
Cadence pakub kollase raamiga võimalikku asukohta, sobival kohal elemendi paigutamiseks vajutame hiire vasakut klahvi
antud juhul on suvaline asukoht sobiv nii, et vajutame hiire vasakut klahvi
seejärel tuleks fit to view teha ehk vajutame klahvi f

Poolsummaatori skeemielementide lisamine

vajutame klahvi i ja avanevas aknas nuppu Browse
avaneb Library Browser kus valime Library alt CORELIB
meile vajalikud skeemielemendid asuvad siis library nimega CORELIB all


kõigepealt on meil vaja mõned AND elemendid paika panna
Cadence Library Manager, AND element
selleks valime Category alt AND ja Cell alt AND2X1
tähe-numbri kombinatsioon elemendi nime taga näitab mitu sisendit sellel on ning mis võimsusega on väljund (mitu järgmist sisendit on väljund suuteline ära toitma)
antud juhul on tegemist kahe sisendiga AND elemendiga mille väljundvõimsus on 1


poolsummaatori jaoks on meil vaja 3 AND elementi, 2 inverterit ja 1 OR element
Cadence skeemiredaktor, poolsummaatori elemendid

Poolsummaatori skeemi sisendite ja väljundite lisamine

lisame skeemile sisendid ja väljundid ehk pin'id , selleks vajutame klahvi p
Cadence skeemiredaktor, sisendite lisamine
esimeseks nimeks (Pin Name) valime A ja suunaks (Direction) valime input
pin'ide paigutamine toimub sama moodi nagu elementide paigutamine


poolsummaatori jaoks on meil vaja 2 sisendit (A ja B) ning 2 väljundit (Sum ja Carry)
Cadence skeemiredaktor, sisenditega

Poolsummaatori skeemielementide vaheliste ühenduste loomine

tekitame skeemielementide vahelised ühendused, selleks vajutame klahvi w ning snap'i kasutades ühendame elemendid omavahel
Cadence skeemiredaktor, poolsummaatori skeem
skeemi parema jälgitavuse huvides võib ühendustele paigutada nimed nagu ülevalpool oleval pildil, selleks vajutada klahvi l

Poolsummaatori skeemi salvestamine

salvestamiseks vajutame klahvi X
Cadence põhiaken, check-and-save
Cadence põhiaknast võib jälgida vigade kontrolli ja salvestuse tulemust

Poolsummaatori sümboli loomine (makro tegemine)

et meie valminud skeemi kasutada muude skeemide joonistamisel makrona, tuleb teha skeemile uus 'symbol' vaade
Cadence Skeemiredaktor
selleks valime menüüst Create valiku Cellview ja alamvaliku From Cellview
Cellview from Cellview
avaneb popup, milles olevad vaikeväärtused meile sobivad ja vajutame nupule OK
Symbol Generation Options
uues popup aknas on võimalik meil määrata kuidas hakkavad paiknema sisendid ja väljundid
avaneb Cadence Symbol Editor aken
Cadence Symbol Editor
automaatselt tekitatud sümbol on kastikujuline , kasutajal on võimalik tööriistaribal olevate primitiivide kaudu seda kujundada endale sobivaks

Täissummaator kahest poolsummaatorist

eelnevas peatükis koostatud poolsummaatori primitiivi kasutades saame luua täissummaatori
Cadence Schematic Editor
ka sellest teeme makro ehk loome sümboli et saaksime seda kasutada edasistes skeemides
skeemi sees saab vajadusel laskuda makro sisse, selleks kas
  • teeme makroelemendi peal hiirega topeltkliki
  • valime makroelemendi ja kasutame käsklust Descend Edit mille lühikäskluseks on klahvikombinatsioon Shift + E
et tagasi eelmisele tasemele tulla kasutame käsklust Return mille lühikäskluseks on klahvikombinatsiooon Ctrl + E
skeemi sees laskumine võib osutuda vajalikuks näiteks juhul kui meil on vaja muuta makro väljundite väljundvõimsust
NB! muutes ühe makro sisu muutub see kohe igal pool kus seda makrot kasutatud on

4 bitine liitja

et meil on kõik vajalikud komponendid nüüd olemas, siis saame asuda 4 bitise liitja koostamise juurde
komponentidena läheb meil vaja ühte poolsummaatorit ja kolme täissummaatorit


ülekandeahela lahendame antud skeemis jadaülekandega ehk ingl. Riple Carry
et tegemist on pisikese 4-bit liitjaga siis jadaülekanne on meile sobiv, suuremate liitjate juures on mõistlik kasutada rööpülekannet, näiteks Lynch-Swartzlander Spanning Tree Carry Lookahead


selle skeemi juures kasutame juba andmesiine, antud juhul 4-bitiseid
et andmesiinid oleks paremini nähtavad kasutame nende joonistamiseks jämedat ühendust
andmesiinidelt eraldi bittide väljatoomine ja ühendamine toimub läbi ühendustele nimede andmise
Cadence Schematic Editor, 4bit adder

4bit liitja simulatsioon

nüüd kus meil on skeem valmis ja kontrollitud ning salvestatud, hakkame seda simuleerima digitaalsimulatsiooniga

NC-Verilog avamine

selleks avame vahendi NC-Verilog
Cadence põhiaknas olevast menüüst Tools võtame valiku NC-Verilog
Cadence main window, Tools menu


avaneneb uus aken
Cadence NC-Verilog window
siin tuleb mõned asjad paika sättida:
  • Run Directory - vajutame kolme punktiga nupule ja valime endale sobiva töökataloogi (antud juhul tuleb meil töökataloog alles tekitada , antud näites lab1_simu)
Cadence NC-Verilog window
  • disain valida, selleks vajutame Browse peale ning avanevast Library Browser'ist valime oma skeemi ja schematic vaate

NC-Verilog initsialiseerimine ja sätted

nüüd jääb üle ainult esimese ikoonile vasakul ribal vajutada Initialize Design
Cadence NC-Verilog window
avaneb uus popup aken kus vajutame OK nupule
Cadence NC-Verilog window


korrigeerime mõningaid parameetreid, selleks võtame menüüst Setup valiku Netlist
Cadence NC-Verilog window


avaneb menüü
Cadence NC-Verilog Netlist Setup
siin sätime järgnevat
  • Netlist These Views valime schematic symbol
  • valime Single Netlist File
  • Global Sim Time valime 1 ja ühikuks ps
  • Global Sim Precision valime 1 ja ühikuks fs


järgmiseks võtame Setup ja valik Record Signals
Cadence NC-Verilog Record Signals Setup
siin valime valiku All

NC-Verilog Netlist'i tekitamine

järgmise sammuna tuleb meie skeemile netlist tekitada, selleks vajutame NC-Verilog põhiakna vasakul ribal järgmist nuppu Generate Netlist
Cadence NC-Verilog Generate Netlist
Cadence põhiaknast saab jälgida kas netlist tekkis vigadeta
Cadence Main Window, netlist generation output

NC-Verilog simulatsiooni sisendandmed

et simulaatoril oleks mida simuleerida on meil vaja sisendandmeid
selleks võtame NC-Verilog põhiakna Commands menüüst valiku Edit Test Fixture
Cadence NC-Verilog Edit Test Fixture


Cadence NC-Verilog Edit Test Fixture
avanenud aknas on kaks jaotust : TestBench ja Stimulus
lihtsama simulatsiooni puhul huvitab meid vaid Stimulus sektsioon ning vajutame seal Edit nuppu
avaneb meie tutoriali alguses määratud tekstiredaktor failiga testfixture.verilog
SciTE edit Test Fixture
siin on näha NC-Verilog poolt vaikimisi genereeritud koodi mis ainult algväärtustab simulatsiooni
järgmiseks lisame omi väärtusi, 4..5 sisendarvude paari, iga muutust laseme simuleerida 10 simulatsiooniühikut
SciTE edit Test Fixture
peale muudatusi on mõistlik veakontroll teha, seda Edit Test Fixture aknast nupuga Check Syntax
kui kõik on korras kuvatakse teade
Edit Test Fixture Check Syntax

NC-Verilog Simulatsioon

järgmise sammuna käivitame simulatsiooni, selleks vajutame NC-Verilog põhiaknas vasakul ribal nuppu Simulate
käivitatakse Cadence alampakett SimVision ning avaneb kaks uut akent - Console - SimVision ja Design Browser - SimVision
Cadence SimVision


Simulatsiooni tulemused, SimVision

Simulatsiooni tulemuste vaatamine

avanenud akendest võtame tähelepanu alla Design Browser'i
Cadence SimVision Design Browser
siin akna vasakus pooles valime -simulator-test+top
ja akna paremas pooles valime sisendid-väljundid mille väärtusi tahame graafikul näha
seejärel vajutame üleval tööriistaribal nupule Send to Waveform
avaneb uus aken Waveform - SimVision
Cadence SimVision Waveform


siin vajutame Run nupu kõrval väikesele allasuunas kolmnurga sümbolile et saame nupu kõrvale ajavälja
ajaväljale sisestame simulatsiooniühikute arvu mis meie algväärtuse ja viie täiendava väärtusega teeb kokku 60
ja vajutame Run nupule
Cadence SimVision Waveform, run run run


et suurt pilti ette saada tuleks waveform välja zoomida, selleks vajutame = nuppu tööriistariba paremas ääres
Cadence SimVision Waveform, zoooooooom


kui meil on mitu väljundit mis on omavahel seotud, antud juhul Carry signaal ja summa väljund, siis on mõistlik need parema loetavuse huvides koos vaadata
selleks kõigepealt kopeerime need kaks signaali - valime signaalid SHIFT + vasem hiireklikk ja siis parema hiireklahvi alt menüüst Copy
Cadence SimVision Waveform, copy
ja kleebime need sinnasamasse allapoole, mustalt taustalt ja parema hiireklahvi alt Paste


seejärel valime need kopeeritud signaalid ja võtame parema hiireklahvi alt menüüst Create ja Bus
Cadence SimVision Waveform, create bus

Simulatsiooni tulemused, lõplik pilt

nüüd on meil lihtne järge ajada ja liitmistulemuste õigsusi kontrollida
Cadence SimVision Waveform, lõppvaatus