Transcript 0 to 1

Slide 1

Standartsed elemendid
 L16. Loogikaelementide pered
siseehitus - CMOS jt.

 L17. Standartsed kombinatoorsed ja
mäluga elemendid.

 L18. Digitaalaritmeetika, operatsioonide
realiseerimine.
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

1


Slide 2

CMOS põhielemendid
 J.F. Wakerly “Digital Design: Principles and Practices” - 5.3-8, 8.3-5

NOT

NAND

NOR

a
a

y

y

b
y

a

b

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

2


Slide 3

Dekoodrid
Sisendkoodi teisendamine väljundkoodiks
Levinuim – n sisendit  2n väljundit
EN
I1
I0

DC

EN

© Peeter Ellervee

Y0
Y1
Y2
Y3

Y0
Y1

I0

Y2

I1

Y3

I207 - Digitaalloogika ja -süsteemid - L17

3


Slide 4

Dekoodrid
Tõeväärtustabel
I1 I0 EN’ Y0’ Y1’ Y2’ Y3’
---------------------------1
1
1
1
1
0
0
0
0
1
1
1
0
1
0
1
0
1
1
1
0
0
1
1
0
1
1
1
0
1
1
1
0

© Peeter Ellervee

VHDL kood
process (i1, i0, en)
variable tmp:
bit_vector (0 to 1);
begin
y0 <= ’1’; y1 <= ’1’;
y2 <= ’1’; y3 <= ’1’;
if en=’0’ then
tmp := i1 & i0;
case tmp is
when ”00” => y0 <=’0’;
when ”01” => y1 <=’0’;
when ”10” => y2 <=’0’;
when ”11” => y3 <=’0’;
end case;
end if;
end process;

I207 - Digitaalloogika ja -süsteemid - L17

4


Slide 5

Koodrid
Levinuim – 2n sisendit  n väljundit
mitu sisendit korraga?
prioriteedid
abisignaalid
H7 = I7
H6 = I6·I7’
…
H0 = I0·I1’·I2’·I3’·I4’·I5’·I6’·I7’
…
Y2 = H4+H5+H6+H7

© Peeter Ellervee

I0
I1
I2
I3
I4
I5
I6
I7

I207 - Digitaalloogika ja -süsteemid - L17

Y0
Y1

Y2

5


Slide 6

Selektorid
Siini selektor – üks mitmest valikust
B1
S1
B2
S2

siin
B1
S1

B1
S1
B2
S2

© Peeter Ellervee

B1
siin

S1

B2

B2

S2

S2

siin

siin

I207 - Digitaalloogika ja -süsteemid - L17

6


Slide 7

Selektorid & VHDL
process (b1, s1, b2, s2)
begin
siin <= (b1 and s1) or
(b2 and s2);
end process;

process (b1, s1, b2, s2)
begin
if s1=’1’ then
siin <= b1;
elsif s2=’1’ then
siin <= b2;
end if;
end process;
© Peeter Ellervee

signal siin:
resolved my_bit,
-- …
siin <= b1 when s1=’1’
else ’Z’;
siin <= b2 when s2=’1’
else ’Z’;

I207 - Digitaalloogika ja -süsteemid - L17

7


Slide 8

CMOS – siini selektor
Siinid
mitu allikat tüürib sama ahelat
suur väljundtakistus
three-state buffer

C

EN

O

A
B

© Peeter Ellervee

D

A

O

EN

EN
0
0
1
1

A
0
1
0
1

I207 - Digitaalloogika ja -süsteemid - L17

B
1
1
0
0

C
1
1
1
0

D
0
0
1
0

p
+

n O
- Z
- Z
+ 0
- 1

8


Slide 9

Siinivõimendi
Koormatavus →
siini segmenteerimine
juhtsignaalid kõigi
võimenditeni /
puhvriteni

A0

B0

A1

B1

An

Bn

SEL’
DIR
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

9


Slide 10

Multiplekserid
Kanali (siini) selektor
n aadress-sisendit
2n andmesisendit
1 väljund
dekooder+selektor
I0
I1

I0 MUX
I1
Y
A0
EN

Y

A0

Y
A0

EN
© Peeter Ellervee

I0
I1

I207 - Digitaalloogika ja -süsteemid - L17

10


Slide 11

Multiplekser & VHDL

I0
I1
A0
I2
I3

Y
A1 EN

A0

© Peeter Ellervee

process (i0,i1,i2,i3,a1,a0,en)
begin
if en=’0’ then
-- decoder & selector
if a1=’1’ then
if a0=’1’ then y<=i3;
else
y<=i2;
end if;
else
if a0=’1’ then y<=i1;
else
y<=i0;
end if;
end if;
else
y<=’0’;
end if;
end process;

I207 - Digitaalloogika ja -süsteemid - L17

11


Slide 12

CMOS – (de)multiplekser
I0
I1

Y

I0
A0

I0

I1

Y

Y
I1

A0

A0

I0
I1

Y
A0

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

12


Slide 13

Muud kombinatoorsed elemendid
Demultiplekser == dekooder
Paarsuskontroll
Nihutajad
nihutaja
paarsuskontroll

ASR-1
I0
I1
I2
I3

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

O0
O1
O2
O3

13


Slide 14

Nihutajad
Barrel shifter
muudetav bittide arv
I0
I0
I1
I2
I3
I0
I1
I2
I3

© Peeter Ellervee

O0
O1
O2
O3
O0
O1
O2
O3

ASR-1

O0

I1
I2

O1

ASR-2

I3

O2
O3

1/2
I207 - Digitaalloogika ja -süsteemid - L17

14


Slide 15

D-flip-flop
Master-Slave

(meister-sell)

C=0 – meister avatud, sell suletud
C=1 – meister suletud, sell avatud
master
S
D
C
R

slave

S
D
Q
Q
Q

Q

C
R
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

15


Slide 16

D-flip-flop
74LS74
… ja analoogid
TT1, TT2 – abitrigerid
TT3 - põhitriger
TT1 ‘1’-ks, TT2 ‘0’-ks

S
D
C
R

TT1
S
TT3

R

Q

C

Q

Q
Q

© Peeter Ellervee

D

I207 - Digitaalloogika ja -süsteemid - L17

TT2

16


Slide 17

D-flip-flop
CMOS
C=0 – meister avatud, sell suletud
C=1 – meister suletud, sell avatud
master

slave

D Q
C

D

Q

C

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

17


Slide 18

JK-flip-flop
J
0
0
1
1

K
0
1
0
1

Qt+1
Qt
0
1
Qt

C=0 – meister avatud, sell suletud
C=1 – meister suletud, sell avatud
master
J

Q

slave

Q
S
J
C
K
R

Q
Q

© Peeter Ellervee

Q
K

Q

C

I207 - Digitaalloogika ja -süsteemid - L17

18


Slide 19

Registrid
register

D3
D2
D1
D0
C

Q3
Q2
Q1
Q0

© Peeter Ellervee

D3

D Q
C

Q3

D2

D Q
C

Q2

D1

D Q
C

Q1

D0
C

D Q
C

Q0

process begin
wait on C
until C = ’1’;
Q0 <= D0;
Q1 <= D1;
Q2 <= D2;
Q3 <= D3;
end process;

I207 - Digitaalloogika ja -süsteemid - L17

19


Slide 20

Registrid
nihkeregister
D Q
C
D Q
C

D0 Q3
C

D Q
C
D0
C

© Peeter Ellervee

D Q
C

Q3

process
variable Q0, Q1,
Q2: bit;
begin
wait on C
until C = ’1’;
Q3 <= Q2;
Q2 := Q1;
Q1 := Q0;
Q0 := D0;
end process;

I207 - Digitaalloogika ja -süsteemid - L17

20


Slide 21

Loendurid
1

J
C
K

Q0

Q1

J
C
K

0…3
0…2

C
1
C

J
C
K

C
Q0
Q1
© Peeter Ellervee

Q0 1

J
C
K

Q1
1

J
C
K

Q0

1

J
C
K

Q1

C

C
Q0
Q1
I207 - Digitaalloogika ja -süsteemid - L17

21


Slide 22

Loendurid

J
C
K

Q0

J
C
K

Q1

1

J
C
K

Q2

0…4

C

C
Q0
Q1
Q2

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

22


Slide 23

Loendurid

1

J
C
K

Q0

J
C
K

Q1

J
C
K

Q2

0…7

C

C
Q0
Q1
Q2

© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

23


Slide 24

Impulssgeneraatorid

f~1/RC

start/stop
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

24


Slide 25

Mälud
 J.F. Wakerly “Digital Design: Principles and Practices” - 10

Püsimälud
ROM, PROM

Korduvalt kirjutatavad püsimälud
EPROM, EEPROM

Muutmälud
RAM, SRAM, DRAM, SDRAM

Aadress-dekooder + mäluelemendid
mälupangad, võimendid jne.
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

25


Slide 26

ROM, PROM, EPROM, EEPROM
Read-Only-Memory
Programmable, Erasable, Electricaly Erasable

A0
A1
An

võimendid
D0
© Peeter Ellervee

Dm

I207 - Digitaalloogika ja -süsteemid - L17

26


Slide 27

ROM, PROM, EPROM, EEPROM
Transistori tüüp
ROM – transistori ühendused maskiga
PROM – ühendus/katkestus “põletatakse”
EPROM – normaalsest kõrgem pinge,
nn. salvestuspinge, viib transistori teise
olekusse, nt. 0  1
kustutamine nt. ultravioletkiirgusega

EEPROM – elektriliselt kustutav
lisaskeem transistoride algoleku taastamiseks
taastatakse terve mälu või sõna/ploki haaval
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

27


Slide 28

RAM, SRAM, DRAM, SDRAM
Random-Access-Memory
Static, Dynamic, Synchronous S/D
D0

Dm

sisendvõimendid

A0
A1

Di
sel
wr

An

Oi

väljundvõimendid

O0
© Peeter Ellervee

Om
I207 - Digitaalloogika ja -süsteemid - L17

28


Slide 29

Mäluelemendid
Vdd

Read

word
bit

word
GND

Write

bit’

Din

6T (SRAM)

Dout

3T (DRAM)

Di Oi
sel
wr

Data
Bit

Read/Write’

© Peeter Ellervee

1T (DRAM)

1T (FLASH)

I207 - Digitaalloogika ja -süsteemid - L17

Word

29


Slide 30

RAM, SRAM, DRAM, SDRAM
SRAM – triger: kiire, suur, voolunäljane
SSRAM – sünkroonne SRAM
täiendavad registrid ja taktsignaal
plokk-pöördus e. konveirpöördus (pipelined)

DRAM – transistor (parasiitmahtuvused)
info vajab perioodilist värskendamist (N ms)
sisse-ehitatud värskendamist (refresh)

SDRAM – sünkroonne DRAM
kasutatavaim suurte mälumahtude puhul

Analoogmälud – DRAM põhimõte
rohkem infot elemendis – suuremad pesad
mitmevalentsed mälud – lisaks DAC+ADC
© Peeter Ellervee

I207 - Digitaalloogika ja -süsteemid - L17

30