You are on page 1of 14

UCSB ECE 219

Prof. Patrick Yue

ECE 219 CMOS RFIC Design (2013)

Tutorial on Cadence Design Tools


ro!" atric# $ue (c%&ue'ece"ucs("edu)
In ECE 219) *e *ill use Cadence tools to do transistor+le,el circuit design and si-ulation" Cadence %ro,ides a %o*er!ul integrated *or#ing en,iron-ent !or analog.digital.-i/ed+signal integrated circuit design) si-ulation) la&out and ,eri!ication" For -ore in!or-ation) %lease re!er to its o!!icial *e(site0 1tt%0..***"cadence"co-" For t1e %ur%ose o! t1is course) *e *ill onl& !ocus on t1ose tools rele,ant to analog and RF integrated circuit design" T1is tutorial *ill co,er -ost o! t1e !eatures t1at is su!!icient !or &ou to !inis1 ECE 219 1o-e*or# assign-ents and design %ro2ects" It is di,ided into t*o %arts0 art I0 Setting u% &our en,iron-ent in ECI -ac1ine" lease care!ull& !ollo* t1is section to start Cadence correctl&) since ,arious ,ersions o! Cadence currentl& co+e/ist in ECI -ac1ines" art II0 3e *ill go t1roug1 an e/a-%le to si-ulate t1e noise !igure o! a %assi,e (ridge+T attenuator) *1ic1 is actuall& a 4uestion in 1o-e*or# 51" 3e *ill also tal# a(out 1o* to get -ore 1el% !ro- Cadence

For t1ose o! &ou *1o are alread& !a-iliar *it1 Cadence) &ou *ill still need to !ollo* art I"

Modified by Li Sun, Jan 201

Pa!e 1 of 1"

UCSB ECE 219

Prof. Patrick Yue

art I" En,iron-ent Setu%


1" First o! all) &ou need to 1a,e an ECI account at 1tt%s0..accounts"engr"ucs("edu.create6account"%1% 2" t&%e t1e co--and to use en1anced ,ersion o! t1e C s1ell 7tcs1 3" Create a director& *1ere &ou *ant to sa,e &our *or#) !or e/a-%le) ece2190 >mkdir ece219 8" Enter t1e director& &ou 2ust created0 >cd ece219 9" Co%& necessar& !iles to t1e director& &ou 2ust created0 >cp /eci/tech/ECE594/setting/log018.scs ./ >cp /eci/tech/ECE594/setting/tsmc018.scs ./ >cp /eci/tech/ECE594/setting/.cdsinit ./ >cp /eci/tech/ECE594/setting/.cdsenv ./ :" Do*nload t1ree !iles to t1e director& &ou 2ust created !ro- our *e(site0 .cshrc .cshrc_219 cds.lib ;" Run t1e !ollo*ing t*o co--ands > so rce .cshrc_219 > so rce .cshrc !"o m#$ see some %#rning in&orm#tion' ple#se ( st ignore them.) > setenv C*+_,-.E /ece/c#dence//C5141 > set p#th 0 !1p#th 1C*+_,-.E/tools/bin 1C*+_,-.E/tools/d&///bin) <" Run t1is co--and to start Cadence > ic&b 2 9" 3ait !or a *1ile) and t1e CI3 *indo* o! Cadence s1ould %o% u%" I! not) %lease c1ec# i! &ou 1a,e !ollo*ed t1e a(o,e %rocedures" 10" =e/t ti-e *1en &ou %lan to run Cadence) si-%l& re%eat 2) 8) ;) and <

Modified by Li Sun, Jan 201

Pa!e 2 of 1"

UCSB ECE 219

Prof. Patrick Yue

$ou can !ind all de,ices (transistors) resistors) ca%acitors and inductors etc") needed in a standard de,ice li(rar& called >analog?i(@) *1ic1 is %ro,ided (& Cadence" For transistors) &ou *ill need de,ice -odels" T1e -odels *e are going to use in t1is class co-e !ro- TSMC+0"1<A- CMOS %rocess" $ou s1ould co%& t1e -odel !ile >tsmc018.scs@ along *it1 t1e li(iar& !ile > cds.lib@ to &our *or#ing director& (i"e") ece219 in a(o,e e/a-%le)" It contains se,eral sections to account !or di!!erent %rocess corners" 3e *ill use t1e t&%ical %rocess %ara-eters) so &ou need to s%eci!& section >tt@ *1en &ou set u% -odel li(raries !or t1e si-ulation later on in Cadence" One e/a-%le li(rar& (EBCM ?E6ECE219) 1as alread& (een added) so &ou can use it to run directl&" ** Please keep in mind that you have signed the MOSIS Non !isclosu"e #g"eement in o"de" to access the technology $ile. So% you a"e not allo&ed to sha"e this $ile &ith anyone else. ** 11" 31en &ou !irst log into t1e ?i(rar& Manager) &ou *ill need to create &our o*n *or#ing li(rar&" For so-e o! &ou *1o cannot create li(rar&) t1is is an issue due to t1e (uild+in =CSD li(rar&" T1ere is a straig1t *a& to sol,e t1is issue) as s1o*n (elo*0 (1) Fro- t1e -enu o! CI30 Tools?i(rar& Manager (2) C *indo* *ill %o% u%) as (elo*0

Modified by Li Sun, Jan 201

Pa!e of 1"

UCSB ECE 219

Prof. Patrick Yue

(3) Fro- t1e -enu o! ?i(rar& Manager0 Edit ?i(rar& at1" C *indo* *ill %o% u% as (elo*0

lease t&%e in t1e na-e and %at1 o! li(rar& &ou *ant to create ( lease note t1at to re%lace t1e %at1 to &our O3= one) $ou -a& need to re!res1 t1e ?i(rar& Manager (Eie* Re!res1) so as to see t1e ne* li(rar& &ou 2ust created

Modified by Li Sun, Jan 201

Pa!e " of 1"

UCSB ECE 219

Prof. Patrick Yue

art II" Cn E/a-%le


In t1is section) *e *ill !ind t1e noise !igure o! a (ridge+T %assi,e attenuator) and (rie!l& introduce 1o* to get 1el% !ro- Cadence docu-entations" 1" Cs Cadence is running) in t1e CI3 (Co--and Inter%reter 3indo*)) clic# >File 7 O%enF@ in t1e -enu (ar"

Figure 1" Cadence CI3 *indo* 2" T1e >O%en File@ *indo* *ill %o% u%" Select >?i(rar& =a-e@ as >test@) and c1oose >(ridge+T@ as >Cell =a-e@ !ro- t1e list at t1e rig1t side" Ma#e sure >Eie* =a-e@ is >sc1e-atic@" Clic# >OG@"

Figure 2" O%en File 3indo* !ro- CI3

Modified by Li Sun, Jan 201

Pa!e # of 1"

UCSB ECE 219

Prof. Patrick Yue

3" T1e >Eirtuoso Sc1e-atic Editing@ *indo* *ill a%%ear) and &ou *ill see a (ridge+T %assi,e attenuator) *1ic1 si-%l& consists o! t1ree resistors" T1ere are also t*o additional instances > ORT0@ and > ORT1@"

Figure 3" Eirtuoso Sc1e-atic Editing 3indo* 8" Here are so-e (asic sc1e-atic editing s1ortcuts &ou s1ould #no*0 To select an instance) si-%l& %oint and clic# on it" To insert a ne* instance) %ress >i@ and &ou *ill see a ne* *indo* na-ed >Cdd Instance@ (Figure 8)" Fill in %ro%er >?i(rar&@) >Cell@ and >Eie*@ na-es) and clic# on t1e sc1e-atic *indo*) &ou !inis1 to insert a ne* instance) and &ou can %ress >Esc@ to close >Cdd Instance@ *indo*" To delete t1e instance) !irst select it and t1en %ress >d@" To c1ange t1e %ro%erties o! t1e instance) !irst select it and t1en %ress >4@I an >Edit O(2ect ro%erties@ *indo* (Figure 9) *ill o%en) and &ou can -odi!& t1e %ro%erties o! t1e instance" To co%& an instance) !irst select it) %ress >c@) and t1en clic# in a (lan# area in t1e *indo*" To rotate an instance) !irst %ress >r@ and t1en clic# it" To !li% an instance) !irst select it) %ress >-@) and t1en %ress >R@" To *ire t1e de,ices toget1er) %ress >*@ and clic# t1e t*o %oints &ou *ant to connect" To undo *1at &ou 1a,e done) %ress >u@" Cll o! t1ese co--ands can (e !ound in t1e >Edit@ -enu" T1ese s1ortcuts are su--ariJed in Ta(le 1" Modified by Li Sun, Jan 201 Pa!e $ of 1"

UCSB ECE 219

Prof. Patrick Yue

Figure 8" Cdd Instance 3indo* 'able 1. (ommonly used Sho"tcuts $o" Schematic )diting Sho"tcut *keyboa"d+ i d 4 c r -KR * u #ction insert ne* instance delete instance -odi!& t1e %ro%erties o! an instance co%& an instance rotate an instance !li% an instance connect t*o nodes undo

%ara&eteri'ed co&%onent() u(e % ar(LCDF_parameter_nameL) in t*e %ro%ertie( for& for t*e %ara&eter. +or e,a&%-e, %ara&eteri'e t*e !ate .idt* .it* 3M% ar(L*%L)"/*en Create Cell,ie*+Fro- Cell,ie*i( u(ed, t*e (y&bo- .i-- contain t*i( %ara&eter, .*ic* can be ad0u(ted in t*e t*e %arent ce--. 1f t*e ce-- i( u(ed a( a to% -e2e- ce--, t*e %ara&eter can be (%ecified by addin! a u(er %ro%erty to t*e Edit ro%ertiesCell,ie*""" dia-o! bo, to !i2e t*e %ara&eter a 2a-ue.

Modified by Li Sun, Jan 201

Pa!e 3 of 1"

UCSB ECE 219

Prof. Patrick Yue

assing design ,aria(les !ro- Cnalog Crtist to co-%onents in Co-%oser in Co-%oser) use a string !or t1e %ara-eter t1at &ou *is1 to ,ar&" For e/a-%le) s%eci!& t1e *idt1 o! a transistor to (e L*%L" in Cnalog Crtist) go to Earia(lesNEdit""" and enter eac1 ,aria(le and its ,alue" $ou can also use Earia(lesNCo%& !ro- Cell,ie* to co%& an& unlisted ,aria(le in t1e sc1e-atic to t1e Design Earia(le %ane" loo# under t1e Cnalog Crtist section to see 1o* to s*ee% ,aria(les ( ara-etric Cnal&sis)

Figure 9" Edit O(2ect ro%erties 3indo* !ro- Eirtuoso 9" ?etOs go (ac# to t1e >Eirtuoso Sc1e-atic Editing@ *indo*" In t1e -enu (ar) clic# >Tools 7 Cnalog En,iron-ent@) and a ne* *indo* called >Cadence Cnalog Design En,iron-ent@ *ill a%%ear" Modified by Li Sun, Jan 201 Pa!e 4 of 1"

UCSB ECE 219

Prof. Patrick Yue

Figure :" Cadence Cnalog Design En,iron-ent 3indo* :" In t1e -enu (ar) clic# >Setu% 7 Model ?i(raries F@" Cnot1er *indo* called >Model ?i(rar& Setu%@ %o%s u%" Clic# >(ro*se@ (utton) and &ou *ill see a ne* *indo* si-ilar to a !ile (ro*ser" C1oose >ts-c01<"scs@) and clic# >OG@" T1e (ro*ser closes and *e return to t1e >Model ?i(rar& Setu%@ *indo*" DonOt !orget to !ill >tt@ in t1e >Section (o%t")@ !ieldP Clic# >Cdd@) and t1en clic# >OG@" T1e >Model ?i(rar& Setu%@ *indo* closes and *e return to >Cadence Cnalog Design En,iron-ent@ *indo*" Q& t1e *a&) *e actuall& donOt need an& de,ice -odel !or t1is e/a-%le) since *e onl& use ideal resistors and %orts" Ho*e,er) &ou certainl& *ill need t1is ste% in -ost o! &our 1o-e assign-ents and design %ro2ects"

Modified by Li Sun, Jan 201

Pa!e 9 of 1"

UCSB ECE 219

Prof. Patrick Yue

Figure ;" Model ?i(rar& Setu% 3indo* ;" =o* *e are in >Cadence Cnalog Design En,iron-ent@ *indo*" Clic# >Cnal&ses 7 C1oose F@ in t1e -enu (ar) and >C1oosing Cnal&ses@ *indo* *ill a%%ear" C1ec# >s%@ in t1e >Cnal&sis@ list" $ou *ill see t1e content o! t1e lo*er 1al! *indo* c1anges as &ou c1oose di!!erent anal&ses" =o*) *e are going to setu% t1e %ara-eters !or an >S+ ara-eter Cnal&sis@" Clic# >Select@ (utton in t1e > orts@ !ield) and t1en clic# on instances > ORT0@ and > ORT1@ in t1e >Eirtuoso Sc1e-atic Editing@ *indo*" ress >Esc@ (e!ore &ou return to >C1oosing Cnal&ses@ *indo*" $ou no* s1ould see t1e > orts@ 1as (een !illed *it1 >. ort0 . ort1@ as s1o*n in Figure <" Select >S*ee% Earia(le@ as >Fre4uenc&@" Select >S*ee% Range@ as >Start+Sto%@) and !ill >Start@ and >Sto%@ *it1 >1#@ and >1R@) res%ecti,el&" T1is -eans *e *ill s*ee% t1e !re4uenc& range !ro- 1+#HJ to 1+RHJ" C1oose >S*ee% T&%e@ as >?ogarit1-ic@ !ro- t1e dro%+list) c1ec# > oints er Decade@) and !ill t1e (lan# !ield *it1 >100@" C1ec# >&es@ !or >Do =oise@" Select >Out%ut %ort@ (& !irst clic#ing >Select@ (utton and t1en in t1e sc1e-atic *indo* clic#ing > ORT1@" Do t1e sa-e to select >In%ut %ort@ as > ORT0@" T1e !inis1ed >C1oosing Cnal&sis@ *indo* *ill loo# as t1at s1o*n in Figure <" Finall&) clic# >OG@"

Modified by Li Sun, Jan 201

Pa!e 10 of 1"

UCSB ECE 219

Prof. Patrick Yue

Figure <" C1oosing Cnal&sis 3indo*

Modified by Li Sun, Jan 201

Pa!e 11 of 1"

UCSB ECE 219

Prof. Patrick Yue

<" =o*) *e return to >Cadence Cnalog Design En,iron-ent@ *indo*" Ct t1e rig1t side o! t1e *indo*) &ou *ill !ind a colu-n o! (uttons" Clic# t1e one li#e a tra!!ic signal *it1 green lig1t" T1e !unction o! t1e (utton *ill s1o* u% as &ou %lace &our -ouse on it" So) as &ou can see) *e are going to >=etlist and Run@ t1e si-ulation" 3ait !or a second) Cadence *ill !irst generate t1e netlist o! t1e circuit and t1en run t1e si-ulation" Cs t1e si-ulation is running) a ne* *indo* (Figure 9) %o%s u% and let &ou #no* t1e %rogress o! t1e si-ulation" It *onOt ta#e a long ti-e to !inis1) and &ou can loo# !or suc1 a sentence in t1e CI3 *indo*0 >sim l#tion completed s ccess& ll$.@

Figure 9" Out%ut ?og 3indo*

Modified by Li Sun, Jan 201

Pa!e 12 of 1"

UCSB ECE 219

Prof. Patrick Yue

9" Roing to >Cadence Cnalog Design En,iron-ent@ *indo*) in t1e -enu (ar) c1oose >Results 7 Direct lot 7 Main Fro- F@" C >Direct lot For-@ *indo* *ill %o% u%" C1ec# >=F@ !ro- t1e list o! t1e >Function@" C1ec# >dQ10@ as t1e >Modi!ier@" Clic# > lot@ (utton" C ne* >3a,e!or-@ *indo* *ill a%%ear) and t1e noise !igure o! t1e (ridge+T attenuator against t1e !re4uenc& *ill (e %lot in t1is *indo*"

Figure 10" Direct lot For- 3indo* =o*) *e !inis1 our si-%le e/a-%le" In !act) all o! a(o,e %rocedures can (e !ound in Cadence 1el% docu-entation" In t1e CI3 *indo*) clic# >Hel% 7 Cadence docu-entation@ at t1e u%%er rig1t 1and corner" C!ter *aiting !or a *1ile) &ou *ill see a ne* *indo*" C1oose >Docs (& roduct@ in t1e second %o%+ u% -enu" Searc1 !or >S%ectre RF@" Dou(le clic# on >Ta(le o! Contents@ and a *e(+(ro*ser *ill o%enS" ?oo# !or t1e c1a%ter o! >Si-ulating ?o* noise a-%li!ier@) and loo# at t1e section o! >?inear T*o+ ort =oise Cnal&sis *it1 S+ ara-eters@" $ou *ill !ind *1at *e 2ust discussed to do a noise+!igure anal&sis" >S%ectre RF Modified by Li Sun, Jan 201 Pa!e 1 of 1"

UCSB ECE 219

Prof. Patrick Yue

Dser Ruide@ contains all as%ects o! RF IC si-ulation) and t1e (est o! all) it 1as ste%+(&+ste% e/a-%les to 1el% &ou to si-ulate ?=C) Mi/ed) ECO etc" SI! t1e 1t-l ,ersion o! t1e 1el% %age does not *or#) see t1e !ollo* instructions to directl& ,ie* t1e -anual in DF !or-at" 'o get mo"e help In t1is class) *e *ill !ocus on using S%ectreRF to si-ulate ,arious RF circuits) in %articular) ?=Cs) -i/ers) and ECOs" $ou can go t1roug1 a ste%+(&+ste% tutorial !or eac1 o! t1ese circuits (& !ollo*ing t1e S%ectreRF -anual" Run acoread to ,ie* t1e !ollo*ing !ile0 ,eci,)()-./,cadence,ic-1/1,doc,spect"e01,spect"e01.pd$ In t1e Ta(le o! Content) clic# on >Si-ulating ?o*+=oise C-%li!iers@) >Si-ulating Mi/ers@) and >Si-ulating ECOs@" Ro t1roug1 eac1 o! t1e e/ercises one (& one and &ou *ill (eco-e !a-iliar *it1 t1e tool"

Modified by Li Sun, Jan 201

Pa!e 1" of 1"

You might also like