Documente Academic
Documente Profesional
Documente Cultură
Proiect: Tema_nr_16
TITLU : ,,CIRCUITUL DFFNS’’
TEHNOLOGIE: CMOS_TSMC_018_T49P.txt
Anul: III
Student: Popa Ciprian
Grupa: 5313
Tema de proiect nr. 16
0.13
Tehnologie CMOS 0.18µm 0.25µm 0.35µm 0.50µm
µm
VDD 1.2V 1.8V 2.5V 3.3V 5V
TR 0.1ns 0.15ns 0.2ns 0.3ns 0.4n
CL 0.06pF 0.07pF 0.08pF 0.09pF 0.1pF
3. Determinaţi prin simulare parametrică şi folosind funcţii ţintă în Probe dependenţa timpilor
de propagare a circuitului (de la intrarea de clock la ieşiri) în funcţie de capacitatea de
sarcină (CL), respectiv în funcţie de timpul de tranziţie (TR) al formei de undă al intrării de
clock. În ambele analize parametrice variaţia parametrilor se va face în intervalul (0.5 ...
1.5)* val. adoptată conform tehnologiei. Determinaţi şi notaţi pe graficele obţinute valorile
întârzierilor de propagare corespunzătoare valorilor adoptate pentru CL şi TR.
Considerând că dependenţa timpilor de propagare în funcţie de CL este de forma:
tp = tp +K *CL
total intrinsec load
Pentru simulările efectuate la fiecare din punctele 2, 3 şi 4 se vor prezenta schema de test, fişierul
SPICE (.cir) şi formele de undă sau caracteristicile reprezentative pe baza cărora s-au determinat
parametrii ceruţi în tabele.
Mai jos sunt prezentate descrierea, schema bloc şi tabelul de funcţionare al circuitului.
Partea II – VHDL
A. i) Să se implementeze în VHDL un model comportamental pentru circuitul proiectat şi
analizat dinamic în Partea I. În cadrul modelului se vor defini si utiliza constante generice pentru
parametrii dinamici determinaţi prin simulare (timpi de propagare clock→ieşire, setup_time şi
hold_time).
ii) Să se implementeze o entitate de test şi să se simuleze modelul de la punctul i)
B. Denumirea circuitului: decodor binar
Cerinţe:
• modelarea comportamentală în VHDL a circuitului, considerând width ca parametru
generic.
• în cadrul modelului se va lua în consideraţie şi un parametru generic de constrângere
clk_pmin referitor la intrarea CLK. Astfel, dacă durata palierului semnalului de clock din
faţa sau după frontul pozitiv este mai mică decât clk_pmin, atunci circuitul rămâne în
starea anterioară.
• realizarea unui program de test pentru width=4 şi clk_pmin = 5 ns.
Partea I
Proiectarea şi analiza dinamică în SPICE a circuitului DFFNS
Inversor
Structura la nivel de tranzistor a portii inversoare:
Q 1
2 VDD
3 O UT
in 1
Q 2
¿ R P=R N
¿ RP =
¿ RN =
LP
LN
W N ⋅ KN
}
LP LN
N
K N LN W P
WP⋅KP ⇒ W ⋅K =W ⋅K ⇔ K = L ⋅ W
P P N P P N
k n n C ox n
Raportul coeficienţilor k este dat de relatia
k p p C ox p
in care
μn si μ p sunt
k n 270,971
cunoscuti din fisierul tehnologic deci = ≅ 2.60 . Se face convenţia ca parametrii
k p 103,995
L sa fie egali între ei şi de valoarea tehnologiei în care se lucrează :
LN W P
¿ ⋅
LP W N
≅ 2. 60
¿ LN =LP =0. 18 μm }
⇒W P=2.60 ⋅W N
Lăţimea minima a tranzistoarelor se va adopta la alegere din intervalul (1.5 ... 4)*L :
W N =2⋅ L N ⇒W N =0.36 μm ⇒W P=0.93 μm
*Inversor
.subckt inversor 1 2 3
MN1 2 1 0 0 CMOSN L=0.18u W=0.36u
MP1 2 1 3 3 CMOSP L=0.18u W=0.93u
.ends
*Inversor comandat
.subckt invcom 1 2 3 7 6
MN1 7 1 4 0 CMOSN L=0.18u W=0.36u
MN2 4 2 0 0 CMOSN L=0.18u W=0.36u
MP1 5 3 6 6 CMOSP L=0.18u W=0.93u
MP2 7 1 5 6 CMOSP L=0.18u W=0.93u
.ends
NAND2
Structura la nivel de tranzistor a porţii NAND2:
4 O UT
Q 3 Q 4
3 VDD
Q 1
in 2 2
Q 2
in 1 1
0
Pentru dimensionare se pleaca de la relatia :
R =R
d u . Cunoscând formulele de calcul
pentru rezistenţele tranzistoarelor în funcţie de parametrii tehnologici şi înlocuind în
relaţia de egalitate atunci se obtine :
1
¿ RP= RN
}
2
LP 2 LP LN K L WP
¿ RP = ⇒ = ⇔ N= N ⋅
WP⋅KP W P ⋅ KP W N ⋅ KN KP LP 2 W N
LN
¿ RN =
W N ⋅ KN
LN W P
¿ ⋅
L P 2 ⋅W N
≅1.30
¿ LN =LP =0. 18 μm }
⇒ W P=1.44 W N ; W N =0. 36 μm⇒ W P=0.46 μm
.subckt bistabil 1 2 3 4 5 6
*porti inversoare simple
X1 10 11 6 INV
X2 11 4 6 INV
X3 10 5 6 INV
X4 3 16 6 INV
X5 16 17 6 INV
*inversoare comandate
X6 1 17 16 7 6 INVC
X7 8 16 17 9 6 INVC
X8 8 16 17 7 6 INVC
X 10 17 16 9 6 INVC
*porti nand2
X10 7 2 8 6 NAND
X11 9 2 10 6 NAND
.ends
2. Analiza tranzitorie a circuitului.
.param tr=0.15n
.param Vdd=1.8
.param CL=0.07p
Vdd 6 0 {VDD}
.lib C:\orcad\CMOS_TSMC_018_T49P.txt
.inc C:\orcad\subcircuite.cir
V_data 1 0 PULSE(0 {VDD} 0 {tr} {tr} 8n 20n)
V_set 2 0 PULSE(0 {VDD} 2n {tr} {tr} 15n 25n)
V_clock 3 0 PULSE(0 {VDD} 0 {tr} {tr} 3n 6n)
C1 4 0 {CL}
C2 5 0 {CL}
X1 1 2 3 4 5 6 bistabil
.tran 0.1n 20n 0n 0.1n
.probe V(1) V(2) V(3) V(4) V(5)
.end
figura.1
Semnalele de interes pe care le-am luat în considerare sunt:
V(1) – semnalul D (Data)
V(2) – semnalul SN (Set)
V(3) – semnalul CLK
V(4) – semnalul Q
V(5) – semnalul QN
Mai întâi vom verifica dependența de timp în funcție de timpul de tranziție (TR): D,SN,CKN:
.param tr=0.15n
.param Vdd=1.8
.param CL=0.07p
Vdd 6 0 {VDD}
.inc CMOS_TSMC_018_T49P.TXT
.inc subcircuite.cir
V_data 1 0 PULSE(0 {VDD} 0 {tr} {tr} 8n 20n)
V_set 2 0 PULSE(0 {VDD} 2n {tr} {tr} 15n 25n)
V_clock 3 0 PULSE(0 {VDD} 0 {tr} {tr} 3n 6n)
C1 4 0 {CL}
C2 5 0 {CL}
X1 1 2 3 4 5 6 bistabil
.tran 0.1n 20n 0n 0.1n
.step param tr 0.1n 0.3n 0.03n
.probe V(1) V(2) V(3)
.end
Figura.2
Dependența de timp în funcție de capacitatea de sarcină (CL):
.param tr=0.15n
.param Vdd=1.8
.param CL=0.07p
Vdd 6 0 {VDD}
.inc CMOS_TSMC_018_T49P.TXT
.inc subcircuite.cir
V_data 1 0 PULSE(0 {VDD} 0 {tr} {tr} 8n 20n)
V_set 2 0 PULSE(0 {VDD} 2n {tr} {tr} 15n 25n)
V_clock 3 0 PULSE(0 {VDD} 0 {tr} {tr} 3n 6n)
C1 4 0 {CL}
C2 5 0 {CL}
X1 1 2 3 4 5 6 bistabil
.tran 0.1n 20n 0n 0.1n
.step param CL 0.04p 0.12p 0.01p
.probe V(1) V(2) V(3)
.end
Figura.3
Timpul de propagare (tp) reprezintă diferenţa dintre momentele de timp când formele de undă
de la intrare şi ieşire traversează nivelul de tensiune situat la jumătatea gamei dinamice. Uzual acest
nivel este situat la jumătatea tensiunii de alimentare (VDD/2).
În general, timpul de propagare se defineşte separat în funcţie de sensul tranziţiei formei de
undă de la ieşire. Astfel, se definesc 2 timpi de propagare:
- tpLH - timpul de propagare cînd ieşirea trece din starea “low” în starea
“high”;
- tpHL - timpul de propagare cînd ieşirea trece din starea “high” în starea
“low”;
În proiectarea porţilor logice este de dorit ca să nu existe diferenţe mari între cei doi
timpi. Acest lucru poate fi obţinut 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 influenţează timpii de propagare ai unei porţi logice
sunt capacitatea de sarcină şi timpul de tranziţie al formei de undă de la intrare.
Pentru calcularea tpLH și tpHL se utilizează:
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 level (50%,n) !1;
2| Search forward level (50%,p) !2;
}
Din figurile de mai sus ne putem da seama că atât timpul de propagare tpLH, cât și tpHL
variază liniar cu abscisa, adică cu CL.
tpHLtotal(CK,Q)= 9.12n-6.00n=3.12n
tpLHtotal(CK,Q)= 6.16n-3.30n=2.85n
tpHLtotal(CK,QN)=9.14n-6.00n=3.14n
tpLHtotal(CK,QN)=6.17n-3.31n=2.85n
tpHLintrinsec(CK,Q)=9.62n-6.84n=2.78
tpLHintrinsec(CK,Q)=6.84n-5.12n=1.71
tpHLintrinsec(CK,QN)=9.63n-6.88n=2.75n
tpLHintrinsec(CK,QN)=6.77n-5.18n=1.59n
c c
CKN → Q 1.71 1628.5 2.78 485.7
CKN → QN 1.59 1800 2.75n 557.1
4. Determinarea HOLD_TIME_LH->CKN și HOLD_TIME_HL->CKN
Q (V(4)), Data (V(1)) și CKN (V(3)) funcție de parametrul td pentru calculul HOLD_TIME_HL.
HOLD_TIME_HL= 11.304-11.302=1.47p