Proiect Pacsad
Numele disciplinei: Proiectare asistata de calculator a sistemelor analogice si digitale
Numrul temei de proiect:10
Numele circuitelor:
Partea I Proiectarea i analiza dinamic n SPICE a circuitului SDFFSR
Partea II- Circuit de incrementare/decrementare
Tehnologia CMOS: CMOS_TSMC_025_T24J.txt
Anul de studiu: III
Numele studentului: Todiric Laureniu Gabriel
Grupa: 5303 A
Profesor: Diaconu Felix
An universitar: 2016-2017
Partea I Proiectarea i analiza dinamic n SPICE a circuitului SDFFSR
1. S se dimensioneze tranzistoarele MOS corespunztor tehnologiei date i s se scrie netlist-ul
SPICE al circuitului. (Netlist-ul se va scrie ierarhic folosind subcircuite).
Schema la nivel de poarta logic a acestui tip de bistabil este reprezentat in figura:
Acesta schem folosete pori logice de urmtoarele tipuri: NAND2, AND2, NOR2, OR2, INVERSOARE,
INVERSOARE COMANDATE. Porile de tip AND si OR au fost inlocuite in schem cu ansamblul de pori
NAND2-INVERSOR si respective NOR2-INVERSOR.
In cele ce urmeaz vor fi prezentate structurile la nivel de tranzistor a porilor folosite:
POARTA NAND2:
n general, pentru dimensionarea tranzistoarelor dintr-un model de poart logic se pleac de la
urmtoarea constrngere : curentul din ieire nu trebuie s-i modifice valorea la tranziii diferite ale tensiunii
din ieire. Acest lucru impune ca rezistena vzut n ieire s rmn constant la diferite tranziii ale ieirii.In
urma acestui deziderat rezulta 2 situatii limita :
Rd RP
1. out=0 :
Ru 2 RN
2. out=1 :
Rd Ru
Egalitatea curenilor n cele 2 situaii impune o relaie de egalitate ntre cele 2 rezistene : .
Se utilizeaza relatia LN =LP si se cosidera de valoare egala conform celei din tehnologia de proiectare (L=0.18u).
WP n 306.210
1,29
W N 2 * p 2 * 118,389 W P 1.29 * W N
L N LP 0.25
n general, limile W ale tranzistoarelor MOS sunt mai mari decat lungimea L a canalului. n practic, valoarea
minima a limii W a canalului unui tranzistor MOS este in functie de tehnologie adoptata (L) si este aproximativ
data de relatia:
W = (1.5 ... 4)*L
min
L=0,25u conform tehnologiei impuse.
Aadar , Wmin il vom calcula cu relaia:
Wmin=2 *L; Wmin=Wn;
Wn=0,5u; Wp=0,645u;
In continuare este descris realizarea cu tranzistoare a porii NAND2:
.subckt NAND2 IN1 IN2 VDD OUT
MP1 OUT IN1 VDD VDD CMOSP L=0.25u W=0.645u
MP2 OUT IN2 VDD VDD CMOSP L=0.25u W=0.645u
MN1 1 IN1 0 0 CMOSN L=0.25u W=0.5u
MN2 OUT IN2 1 1 CMOSN L=0.25u W=0.5u
.ends
POARTA NOR2:
WP n * n 2 * 306,21
5.17
WN p 118,389 WP 5.17 * W N
LN LP 0.25
Wmin=2 *L; Wmin= Wn=0,5u;
Wp=5.17*Wn=2,585u;
In continuare este descris realizarea cu tranzistoare a pori NOR2:
.subckt NOR2 IN1 IN2 VDD OUT
MP1 1 IN1 VDD VDD CMOSP L=0.25u W=2.585u
MP2 OUT IN2 1 1 CMOSP L=0.25u W=2.585u
MN1 OUT IN1 0 0 CMOSN L=0.25u W=0.5u
MN2 OUT IN2 0 0 CMOSN L=0.25u W=0.5u
.ends
POARTA INVERSOARE:
WP n
2.586 WP 2.586 WN 1.293m
WN p
W 0 .5 m
LN LP 0.25 N
Realizarea cu tranzistoare dimensionate a INVERSORULUI:
.subckt INV IN1 VDD OUT
MP OUT IN1 VDD VDD CMOSP L=0.25u W=1.293u
MN OUT IN1 0 0 CMOSN L=0.25u W=0.5u
.ends
INVERSORUL COMANDAT:
La dimensionarea celor 4 tranzistoare se procedeaz la fel ca n cazurile anterioare :
Rd 2 RP
1. out=0 :
Ru 2 RN
2. out=1 :
Relaia de egalitate ntre cele 2 rezistene va duce la acelai rezultat ca n cazul anterior :
LN LP 0.25m, WP 1.293m si WN 0.5m
Rn Rp
Wp n
Wn p
In descrierea circuitului se utilizeaza urmatoarea sintaxa :
.subckt INV_COM IN CN C VDD OUT
MP1 1 CN VDD VDD CMOSP L=0.25u W=1.293u
MP2 OUT IN 1 1 CMOSP L=0.25u W=1.293u
MN1 OUT IN 2 2 CMOSN L=0.25u W=0.5u
MN2 2 C 0 0 CMOSN L=0.25u W=0.5u
.ends
Intregul circuit este descris de fisierul :
.subckt SDFFSR SI SE D RN SN CK Q QN VDD
X1 SI SE VDD 1 NAND2
X2 SE VDD 3 INV
X3 3 D VDD 4 NAND2
X4 1 VDD 2 INV
X5 4 VDD 5 INV
X6 2 5 VDD 6 NOR2
X7 6 VDD 7 INV
X8 7 C CN VDD 8 INV_COM
X9 8 9 VDD 10 NOR2
X10 10 VDD 11 INV
X11 11 SN VDD 12 NAND2
X12 12 CN C VDD 8 INV_COM
X13 12 CN C VDD 13 INV_COM
X14 13 9 VDD 14 NOR2
X15 14 VDD 15 INV
X16 15 SN VDD 16 NAND2
X17 16 C CN VDD 13 INV_COM
X18 16 VDD 17 INV
X19 17 VDD Q INV
X20 16 VDD QN INV
X21 RN VDD 9 INV
X22 CK VDD CN INV
X23 CN VDD C INV
.ends
2. S se efectueze analiza tranzitorie a circuitului pentru a pune n eviden funcionarea sa. La fiecare
ieire a circuitului se va considera cte o capacitate de sarcin. Valorile pentru tensiunea de alimentare
VDD, timpii de tranziie TR ai formelor de und de la intrri i, respectiv, capacitile de sarcin CL se vor
adopta n funcie de tehnologia impus:
Tehnologie 0.13 m 0.18 m 0.25 m 0.35 m 0.50 m
CMOS
VDD 1.2V 1.8V 2.5V 3.3V 5V
TR 0.1ns 0.15ns 0.2ns 0.3ns 0.4ns
CL 0.06pF 0.07pF 0.08pF 0.09pF 0.1pF
Circuitul de analiza este descris de urmatoarele linii de cod :
Vdd VDD 0 {vdd}
Vsi SI 0 PULSE(0 {vdd} 10n {tr} {tr} 10n 20n)
Vse SE 0 PULSE(0 {vdd} 20n {tr} {tr} 20n 40n)
Vd D 0 PULSE(0 {vdd} 5n {tr} {tr} 25n 50n)
Vsn SN 0 PULSE(0 {vdd} 0 {tr} {tr} 40n 80n)
Vck CK 0 PULSE(0 {vdd} 0 {tr} {tr} 5n 10n)
Vrn RN 0 PULSE(0 {vdd} 0 {tr} {tr} 15n 30n)
X SI SE D RN SN CK Q QN VDD SDFFSR
CL1 Q 0 {cl}
CL2 QN 0 {cl}
.param vdd=2.5V
.param tr=0.2ns
.param cl=0.08pF
.INC "D:\SDFFSR.txt"
.INC "D:\ CMOS_TSMC_025_T24J.txt"
.tran 0.1n 250n 0 0.05n
.probe
.end
Afisate simultan :
3. Determinai prin simulare parametric i folosind funcii int n Probe dependena timpilor de
propagare a circuitului (de la intrarea de clock la ieiri) n funcie de capacitatea de sarcin (CL), respectiv
n funcie de timpul de tranziie (TR) al formei de und al intrrii de clock. n ambele analize parametrice
variaia parametrilor se va face n intervalul (0.5 ... 1.5)* val. adoptat conform tehnologiei. Determinai i
notai pe graficele obinute valorile ntrzierilor de propagare corespunztoare valorilor adoptate pentru
CL i TR.
Considernd c dependena timpilor de propagare n funcie de CL este de forma:
tptotal = tpintrinsec + Kload*CL
determinai pe baza graficelor obinute valorile pentru tpintrinsec i Kload i completai un tabel de felul urmtor
(tpintrinsec corespunde valorii CL=0pF):
Descriere tpLH tpLH tpHL tpHL
TpLHintrinsec Kload tpHLintrinsec Kload
CK--Q
Ck--QN
Timpul de propagare (tp) reprezint diferena dintre momentele de timp cnd formele de und de la intrare i
ieire traverseaz nivelul de tensiune situat la jumtatea gamei dinamice. Uzual acest nivel este situat la jumtatea
tensiunii de alimentare (VDD/2).
n general, timpul de propagare se definete separat n funcie de sensul tranziiei formei de und de la ieire.
Astfel, se definesc 2 timpi de propagare:
- tpLH - timpul de propagare cnd ieirea trece din starea low n starea high;
- tpHL - timpul de propagare cnd ieirea trece din starea high n starea low;
n proiectarea porilor logice este de dorit ca s nu existe diferene mari ntre cei doi timpi. Acest lucru poate
fi obinut prin dimensionarea adecvat a tranzistoarelor NMOS i PMOS. Pentru simplitate, de multe ori, pentru
timpul de propagare se consider o singur valoare, ca medie ntre tpLH i tpHL: tp = (tpLH + tpHL)/2. Principalii
parametri externi care influeneaz timpii de propagare ai unei pori logice sunt capacitatea de sarcin i timpul
de tranziie al formei de und de la intrare.
Pentru calcularea timpilor de propagare intrinseci ai circuitului ( tpLH si tpHL ) voi utiliza:
Timpul de propagare total din 0 n 1 se afl efectund o analiz tranzitorie cu cte un condensator conectat la
fiecare ieire a circuitului.
Timpul de propagare se determin ducnd un cursor pe forma de und a ieirii la jumtatea nivelului 1 de
tensiune n momentul tranziiei(aproximativ 1.25v), iar cellalt cursor la 1.25v pe forma de und a intrrii de
clock la momentul tranziiei. Se noteaz diferena de timp. Pe acelai circuit se detemin i tpHL.
Timpul de propagare intrinsec al circuitului se obine pentru CL = 0 pF.
Pentru calcularea tpLH si tpHL se utilizeaza:
Funciile int folosite sunt:
tpHL(1, 2) = x2-x1
{
1| search forward leve(50%,p) !1;
2| search forward leve(50%,n) !2;
tpLH(1,2) =x2-x1
1| search forward leve(50%,n) !1;
2| search forward leve(50%,p) !2;
Pentru a calcula timpul de propagare intrinseci se vor lasa iesirile circuitului in gol.
*circuit de test
Vdd VDD 0 {vdd}
Vsi SI 0 PULSE(0 {vdd} 10n {tr} {tr} 10n 20n)
Vse SE 0 PULSE(0 {vdd} 20n {tr} {tr} 20n 40n)
Vd D 0 PULSE(0 {vdd} 5n {tr} {tr} 25n 50n)
*Vsn SN 0 PULSE(0 {vdd} 0 {tr} {tr} 40n 80n)
Vsn SN 0 2.5V
Vck CK 0 PULSE(0 {vdd} 0 {tr} {tr} 5n 10n)
*Vrn RN 0 PULSE(0 {vdd} 0 {tr} {tr} 15n 30n)
Vrn RN 0 2.5V
X SI SE D RN SN CK Q QN VDD SDFFSR
*CL1 Q 0 {cl}
*CL2 QN 0 {cl}
.param vdd=2.5V
.param tr=0.2ns
.param cl=0.08pF
.INC "D:\SDFFSR.txt"
.INC "D:\CMOS_TSMC_025_T24J.txt"
.tran 0.1n 250n 0 0.05n
.probe
.end
tpHL (intrinsec) CK-Q = 30.684n-30.100n=0.584n=584p
TpLH (intrinsec) CK-Q = 10.739n-10.100n=0.639n=639p
TpHL(intrinsec) CK-QN = 10.658n-10.100n=0.558n=558p
TpLH(intrinsec) CK-QN = 30.607n-30.100n=0.507n=507p
Timpii totali de propagare ii vom determina de pe urmatoarele grafice :
tpHLtotal(CK,Q)=30.999n-30.100n=0.899n=899p
tpLHtotal(CK,Q)=11.047n-10.100n=0.947n=947p
tpHLtotal(CK,QN)=11.039N-10.100n=0.939n=939p
tpLHtotal(CK,QN)=30.975n-30.100n=0.875n=875p
Se completeaz tabelul de mai jos folosind formula :
tptotal tpint rin sec
tptotal tpint rin sec K load C L K load
CL
tpLH tpHL
Descriere tpLHintrinse tpHLintrinse
Kload Kload
c c
CK->Q 639p 3850 584p 3937,5
CK->QN 507p 4600 558p 4762,5
tpLHtotal(CK,Q)= 0.947n=947p
tpLHtotal(CK,QN) =0.875n=875p
tpHLtotal(CK,Q) =899p
tpHLtotal(CK,QN)= 939p
Dependenta timpilor de propagare in functie de CL
*codul folosit
Vdd VDD 0 {vdd}
Vsi SI 0 PULSE(0 {vdd} 10n {tr} {tr} 10n 20n)
Vse SE 0 PULSE(0 {vdd} 20n {tr} {tr} 20n 40n)
Vd D 0 PULSE(0 {vdd} 10n {tr} {tr} 25n 50n)
Vsn SN 0 PULSE(0 {vdd} 10n {tr} {tr} 40n 80n)
Vck CK 0 PULSE(0 {vdd} 40n {tr} {tr} 5n 10n)
Vrn RN 0 PULSE(0 {vdd} 0 {tr} {tr} 15n 30n)
X SI SE D RN SN CK Q QN VDD SDFFSR
CL1 Q 0 {cl}
CL2 QN 0 {cl}
.param vdd=2.5V
.param tr=0.2ns
.param cl=0.08pF
.INC "D:\SDFFSR.txt"
.INC "D:\CMOS_TSMC_025_T24J.txt"
.tran 0.1n 250n 0 0.05n
.step param cl 0.04p 0.12p 0.01p
*.step param tr 0.2n 1.2n 0.1n
.probe
.end
Dependenta tpHL(CK,Q) si tpLH(CK,Q) in functie de CL
Dependenta tpHL(CK,QN) si tpLH(CK,QN) in functie de CL
Dependenta timpilor de propagare in functie de TR
*codul folosit
Vdd VDD 0 {vdd}
Vsi SI 0 PULSE(0 {vdd} 10n {tr} {tr} 10n 20n)
Vse SE 0 PULSE(0 {vdd} 20n {tr} {tr} 20n 40n)
Vd D 0 PULSE(0 {vdd} 10n {tr} {tr} 25n 50n)
Vsn SN 0 PULSE(0 {vdd} 10n {tr} {tr} 40n 80n)
Vck CK 0 PULSE(0 {vdd} 40n {tr} {tr} 5n 10n)
Vrn RN 0 PULSE(0 {vdd} 0 {tr} {tr} 15n 30n)
X SI SE D RN SN CK Q QN VDD SDFFSR
CL1 Q 0 {cl}
CL2 QN 0 {cl}
.param vdd=2.5V
.param tr=0.2ns
.param cl=0.08pF
.INC "D:\SDFFSR.txt"
.INC "D:\CMOS_TSMC_025_T24J.txt"
.tran 0.1n 250n 0 0.05n
*.step param cl 0.04p 0.12p 0.01p
.step param tr 0.1n 0.3n 0.01n
.probe
.end
Dependenta timpilor de propagare tpHL si tpLH, de la intrarea de CK la iesirea Q in
functie de timpul de tranzitie TR este ilustrata in fig. urmatoare:
Dependenta timpilor de propagare tpHL si tpLH, de la intrarea de CK la iesirea QN in functie de
timpul de tranzitie TR este ilustrata in fig. urmatoare: