Sunteți pe pagina 1din 22

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:

S-ar putea să vă placă și