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
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