Documente Academic
Documente Profesional
Documente Cultură
2.1. Preliminarii
2.2. Porţi logice uzuale
2.3 Tehnici de analiză a circuitelor cu porţi logice
2.4. Multiplexoare şi demultiplexoare
2.5 Tehnici de analiză a circuitelor cu
demultiplexoare şi/sau cu multiplexoare
2.6 Memorii
Circuite combinationale 1
2.1. Preliminarii
a.) Definiţii
Y1 f1 X 1 , X 2 , ... , X n
X1 Y1
X2 Y2 Y2 f 2 X 1 , X 2 , ... , X n
CLC
Ym f m X 1 , X 2 , ... , X n
Xn Ym
X X 1 , X 2 , X n
Y Y1 , Y2 , Ym S c X , Y , f
f f1 , f 2 , f m
f : X Y
Circuite combinationale 2
2.1. Preliminarii
b.) Descriere
Circuite combinationale 3
2.1. Preliminarii
b.) Descriere (cont.)
Circuite combinationale 4
2.2. Porţi logice uzuale
Circuite combinationale 5
2.2.1. Poarta logică AND
a.) Definiţie: Circuit logic care realizează funcţia logică ŞI
b.) Simbol şi notaţii folosite
A &
Y
B
16 0
0 1
0
0 A 1 0 1 0
0
A B 1 1 0 0 1
X Y
X
X B 1 0 0 0
F Y
X
C Q T
31 15
T R
Circuite combinationale 7
2.2.1. Poarta logică AND (cont.)
f.) Descriere VERILOG a porţii
1.) Descriere la nivel de poartă logică.
Circuite combinationale 8
2.2.1. Poarta logică AND (cont.)
f.) Descriere VERILOG a porţii (cont.)
2.) Descriere la nivel RTL. O posibilă descriere este prezentată mai jos:
Circuite combinationale 9
2.2.1. Poarta logică AND (cont.)
f.) Descriere VERILOG a porţii (cont.)
3.) Descriere la nivel comportamental.
Circuite combinationale 10
2.2.1. Poarta logică AND (cont.)
g.) Simulare VERILOG a funcţionării porţii
Pentru simularea funcţionării porţii a fost construit modulul LAND.
module LAND(Y,A,B);
input A,B;
output Y;
reg Y;
always @(A or B)
begin
Y<=(A & B);
end
endmodule
Circuite combinationale 11
2.2.1. Poarta logică AND (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
module Testbench;
reg A_t,B_t;
wire Y_t;
LAND LAND_t(Y_t,A_t,B_t);
always
begin
A_t<=0;B_t<=0;
#10$display("Y=5b",Y_t);
A_t<=0;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=0;
#10$display("Y=5b",Y_t);
end
endmodule Circuite combinationale 12
2.2.1. Poarta logică AND (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
Circuite combinationale 13
2.2.2. Poarta logică NAND
a.) Definiţie: Circuit logic care realizează funcţia logică ŞI negat
b.) Simbol şi notaţii folosite
A A &
Y Y
B A
B
16 0
0 1
0
0
A Y
A 0 1 0 1
0
X
B B 0 0 1 1
X
X Y 1 1 1 0
X F
C Q T
31 15
T R
Circuite combinationale 15
2.2.2. Poarta logică NAND (cont.)
f.) Descriere VERILOG a porţii
1.) Descriere la nivel de poartă logică.
Circuite combinationale 16
2.2.2. Poarta logică NAND (cont.)
f.) Descriere VERILOG a porţii (cont.)
2.) Descriere la nivel RTL. O posibilă descriere este prezentată mai jos:
Circuite combinationale 17
2.2.2. Poarta logică NAND (cont.)
f.) Descriere VERILOG a porţii (cont.)
3.) Descriere la nivel comportamental.
Circuite combinationale 18
2.2.2. Poarta logică NAND (cont.)
g.) Simulare VERILOG a funcţionării porţii
Pentru simularea funcţionării porţii a fost construit modulul LNAND.
module LNAND(Y,A,B);
input A,B;
output Y;
reg Y;
always @(A or B)
begin
Y<=~(A & B);
end
endmodule
Circuite combinationale 19
2.2.2. Poarta logică NAND (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
module Testbench;
reg A_t,B_t;
wire Y_t;
LNAND LNAND_t(Y_t,A_t,B_t);
always
begin
A_t<=0;B_t<=0;
#10$display("Y=5b",Y_t);
A_t<=0;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=0;
#10$display("Y=5b",Y_t);
end
endmodule Circuite combinationale 20
2.2.2. Poarta logică NAND (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
Circuite combinationale 21
2.2.3. Poarta logică OR
a.) Definiţie: Circuit logic care realizează funcţia logică SAU
b.) Simbol şi notaţii folosite
A A 1 Y
Y
B B
0 1 0 1
A
0 0 1 1
B
Y 0 1 1 1
Circuite combinationale 23
2.2.3. Poarta logică OR (cont.)
f.) Descriere VERILOG a porţii
1.) Descriere la nivel de poartă logică.
Circuite combinationale 24
2.2.3. Poarta logică OR (cont.)
f.) Descriere VERILOG a porţii (cont.)
2.) Descriere la nivel RTL. O posibilă descriere este prezentată mai jos:
Circuite combinationale 25
2.2.3. Poarta logică OR (cont.)
f.) Descriere VERILOG a porţii (cont.)
3.) Descriere la nivel comportamental.
Circuite combinationale 26
2.2.3. Poarta logică OR (cont.)
g.) Simulare VERILOG a funcţionării porţii
Pentru simularea funcţionării porţii a fost construit moduluL LOR.
module LOR(Y,A,B);
input A,B;
output Y;
reg Y;
always @(A or B)
begin
Y<=(A | B);
end
endmodule
Circuite combinationale 27
2.2.3. Poarta logică OR (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
module Testbench;
reg A_t,B_t;
wire Y_t;
LOR LOR_t(Y_t,A_t,B_t);
always
begin
A_t<=0;B_t<=0;
#10$display("Y=5b",Y_t);
A_t<=0;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=0;
#10$display("Y=5b",Y_t);
end
endmodule Circuite combinationale 28
2.2.3. Poarta logică OR (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
Circuite combinationale 29
2.2.4. Poarta logică NOR
a.) Definiţie: Circuit logic care realizează funcţia SAU negat
b.) Simbol şi notaţii folosite
A 1
Y A Y
B B
16 0
0 1
0
0
0
A 0 1 0 1
X B 0 0 1 1
X
X
X F
31 15
C Q T Y 1 0 0 0
T R
Circuite combinationale 31
2.2.4. Poarta logică NOR (cont.)
f.) Descriere VERILOG a porţii
1.) Descriere la nivel de poartă logică.
Circuite combinationale 32
2.2.4. Poarta logică NOR (cont.)
f.) Descriere VERILOG a porţii (cont.)
2.) Descriere la nivel RTL. O posibilă descriere este prezentată mai jos:
Circuite combinationale 33
2.2.4. Poarta logică NOR (cont.)
f.) Descriere VERILOG a porţii (cont.)
3.) Descriere la nivel comportamental.
Circuite combinationale 34
2.2.4. Poarta logică NOR (cont.)
g.) Simulare VERILOG a funcţionării porţii
Pentru simularea funcţionării porţii a fost construit modulul LNOR.
module LNOR(Y,A,B);
input A,B;
output Y;
reg Y;
always @(A or B)
begin
Y<=~(A | B);
end
endmodule
Circuite combinationale 35
2.2.4. Poarta logică NOR (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
module Testbench;
reg A_t,B_t;
wire Y_t;
LNOR LNOR_t(Y_t,A_t,B_t);
always
begin
A_t<=0;B_t<=0;
#10$display("Y=5b",Y_t);
A_t<=0;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=1;
#10$display("Y=5b",Y_t);
A_t<=1;B_t<=0;
#10$display("Y=5b",Y_t);
end
endmodule Circuite combinationale 36
2.2.4. Poarta logică NOR (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
Circuite combinationale 37
2.2.5. Poarta logică NOT
a.) Definiţie: Circuit logic care realizează funcţia NU
b.) Simbol şi notaţii folosite
1
A Y A Y
A 1 0
B 0 1
Circuite combinationale 39
2.2.5. Poarta logică NOT (cont.)
f.) Descriere VERILOG a porţii
1.) Descriere la nivel de poartă logică.
Circuite combinationale 40
2.2.5. Poarta logică NOT (cont.)
f.) Descriere VERILOG a porţii (cont.)
2.) Descriere la nivel RTL. O posibilă descriere este prezentată mai jos:
Circuite combinationale 41
2.2.5. Poarta logică NOT (cont.)
f.) Descriere VERILOG a porţii (cont.)
3.) Descriere la nivel comportamental.
Circuite combinationale 42
2.2.5. Poarta logică NOT (cont.)
g.) Simulare VERILOG a funcţionării porţii
Pentru simularea funcţionării porţii a fost construit modulul LNOT.
module LNOT(Y,A);
input A;
output Y;
reg Y;
always @(A)
begin
Y<=~A;
end
endmodule
Circuite combinationale 43
2.2.5. Poarta logică NOT (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
module Testbench;
reg A_t;
wire Y_t;
LNOT LNOT_t(Y_t,A_t,B_t);
always
begin
A_t<=0;
#10$display("Y=5b",Y_t);
A_t<=1;
#10$display("Y=5b",Y_t);
end
endmodule
Circuite combinationale 44
2.2.5. Poarta logică NOT (cont.)
g.) Simulare VERILOG a funcţionării porţii (cont.)
Circuite combinationale 45
2.3 Tehnici de analiză a circuitelor cu
porţi logice
Circuite combinationale 46
2.3.1 Explicitarea funcţiei logice a circuitului
A A A B
B B
Y
C A B C
C C
Circuite combinationale 47
2.3.2 Simularea SPICE a funcţionării circuitului
16 0
0 1
0
0
0 A
X B
X C
X
X F
C Q T
Y
31 15
T R
Circuite combinationale 48
2.3.3 Simularea VERILOG a funcţionării circuitului
A d
B
e Y
C
Notaţiile folosite pentru descriere VERILOG
module EXEMPLU(Y,A,B,C);// desemnarea numelui modulului
input A,B,C; // desemnarea variabilelor A,B,C ca intrări
output Y; // desemnarea variabilei Y ca ieşire
wire d,e; // desemnarea variabilelor d,e ca fiind conexiuni
and SI(d.A,B); // apelarea func. and sub numele SI cu ieşire d şi intrări A,B
not NU(e,C); // apelarea funcţiei not subnumele NU cu ieşire e şi intrare C
nand SINU(Y,d,e);// apelarea func. nand subnum. SINU cu intr. d,e şi ieşire Y
endmodule
Circuite combinationale 49
2.3.3 Simularea VERILOG a funcţionării circuitului
(cont.)
module Testbench;
reg intrare_A, intrare_B, intrare_C;
wire iesire_Y;
EXEMPLU EXEMPLU_T(intrare_A, intrare_B, intrare_C, iesire_Y);
initial
begin
#1intrare_A<=0; intrare_B<=0; intrare_C<=0;
#1intrare_A<=1; intrare_B<=0; intrare_C<=0;
#1intrare_A<=0; intrare_B<=1; intrare_C<=0;
#1intrare_A<=1; intrare_B<=1; intrare_C<=0;
#1intrare_A<=0; intrare_B<=0; intrare_C<=1;
#1intrare_A<=1; intrare_B<=0; intrare_C<=1;
#1intrare_A<=0; intrare_B<=1; intrare_C<=1;
#1intrare_A<=1; intrare_B<=1; intrare_C<=1;
#1intrare_A<=0; intrare_B<=0; intrare_C<=0;
end
endmodule Circuite combinationale 50
2.3.3 Simularea VERILOG a funcţionării circuitului
(cont.)
Circuite combinationale 51
2.4 Multiplexoare şi demultiplexoare
2.4.1. Multiplexorul
2.4.2. Demultiplexorul / Decodorul
2.4.3. Decodoare specializate
Circuite combinationale 52
2.4.1. Multiplexorul
a.) Definiţie: Circuit electronic cu „n” intrări şi o ieşire, care realizează funcţia
unui comutator rotativ cuplat ca în figura
D0
D1
Y
D2
D3
D1
Y
D2
D3
A
B
Schema desfăsurată a unui multiplexor 4 la 1
Circuite combinationale 54
2.4.1. Multiplexorul (cont.)
d.) Descrierea funcţionării cu ajutorul tabelului de adevăr.
Adrese Date Ieşiri
B A D0 D1 D2 D3 Y
0 0 1 X X X 1
0 0 0 X X X 0
0 1 X 1 X X 1
0 1 X 0 X X 0
1 0 X X 1 X 1
1 0 X X 0 X 0
1 1 X X X 1 1
1 1 X X X 0 0
Tabelul 2.6
Circuite combinationale 55
2.4.1. Multiplexorul (cont.)
e.) descriere VERILOG a multiplexorului 4 la 1
module mux4_la_1 (Dt, Ad, Y); // desemnarea intrărilor
input [0:3] Dt; // intrare de date pe patru biti
input [0:1] Ad; // intrare de adresa pe doi biti
//. desemnarea ieşirii
output Y;
reg Y;
// descrierea funcţionării
always @ (Dt or Ad)
if (Ad==0)
Y<=Dt[0];
else if (Ad==1)
Y<=Dt[1];
else if (Ad==2)
Y<=Dt[2];
else
Y<=Dt[3];
endmodule
Circuite combinationale 56
2.4.1. Multiplexorul (cont.)
f.) Simulare SPICE a functionării multiplexorului 4 la 1
16 0
0
1
0
D0
0
0 Y
D1
D0
D2
X D1
D3
X D2
X D3
X A
F
31 15 B
C Q T Y
T R
~G
Circuit utilizat pentru simularea funcţionării Formele de undă ataşate circuitului din
multiplexorului în situaţia în care A=0 şi figura
B=0
Circuite combinationale 57
2.4.1. Multiplexorul (cont.)
f.) Simulare SPICE a functionării multiplexorului 4 la 1
16 0
0 1
0
D0
0
0 D0
Y D1
D1 D2
X D2 D3
X D3
X A
X F
B
C Q T
31 15
T R ~G Y
Circuit utilizat pentru simularea funcţionării Formele de undă ataşate circuitului din
multiplexorului în situaţia în care A=1 şi figura
B=0
Circuite combinationale 58
2.4.1. Multiplexorul (cont.)
f.) Simulare SPICE a functionării multiplexorului 4 la 1
16 0
0 1
0
0
Y D0
0 D0
D1 D1
X D2 D2
X D3 D3
X A
X F
B
C Q T
31 15
T R ~G
Y
Circuit utilizat pentru simularea funcţionării Formele de undă ataşate circuitului din
multiplexorului în situaţia în care A=0 şi figura
B=1
Circuite combinationale 59
2.4.1. Multiplexorul (cont.)
f.) Simulare SPICE a functionării multiplexorului 4 la 1
D0
D1
D2
D3
Circuit utilizat pentru simularea funcţionării Formele de undă ataşate circuitului din
multiplexorului în situaţia în care A=1 şi figura
B=1
Circuite combinationale 60
2.4.1. Multiplexorul (cont.)
g.) Simulare VERILOG a funcţionării multiplexorului 4 la 1
module Testbench; always
reg [0:3] intrare_D; begin
reg [0:1] adresa_t; #2intrare_D[1]=~intrare_D[1];
wire iesire_Y; end
initial always
begin begin
intrare_D[0]=0; #4intrare_D[2]=~intrare_D[2];
intrare_D[1]=0; end
intrare_D[2]=0; always
intrare_D[3]=0; begin
adresa_t[0]=0; #8intrare_D[3]=~intrare_D[3];
adresa_t[1]=0; end
end always
always begin
begin #16adresa_t[0]=~adresa_t[0];
end
#1intrare_D[0]=~intrare_D[0]; always
end begin
always #32adresa_t[1]=~adresa_t[1];
begin end
#2intrare_D[1]=~intrare_D[1]; mux4_la_1 mux4_la_1_t (intrare_D, adresa_
end iesire_Y);
endmodule
Circuite combinationale 61
2.4.1. Multiplexorul (cont.)
g.) Simulare VERILOG a funcţionării multiplexorului 4 la 1
Circuite combinationale 62
2.4.2. Demultiplexorul / Decodorul
Observatie.)
Circuite combinationale 63
2.4.2. Demultiplexorul
a.) Definiţie: Circuit electronic cu o intrare şi “n” ieşiri, care realizează funcţia
unui comutator rotativ cuplat ca în figura
Y0
Y1
G
Y2
Y3
b.) Simbol şi notaţii folosite
Y0 G AB
Y1 G AB
Y0
Y2 G AB
Y1
Y2 Y3 GAB
G Y3
Circuite combinationale 65
2.4.2. Demultiplexorul (cont.)
d.) Descrierea funcţionării demultiplexorului cu ajutorul tabelului de
adevăr
Intrări
Ieşiri
Enable Adrese
G B A Y0 Y1 Y2 Y3
1 X X 1 1 1 1
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
Circuite combinationale 66
2.4.2. Demultiplexorul (cont.)
e.) descriere VERILOG a demultiplexorului 1 la 4
module dmux4 (G, Ad, Y);
// intrari
input G;
input [0:1] Ad;
// iesiri
output [0:3] Y;
reg [0:3] Y;
// functionarea demux
always @ (G or Ad)
if (Ad==0)
Y[0]<=G;
else if (Ad==1)
Y[1]<=G;
else if (Ad==2)
Y[2]<=G;
else
Y[3]<=G;
endmodule Circuite combinationale 67
2.4.2. Demultiplexorul (cont.)
f.) Simulare SPICE a funcţionării demultiplexorului 1 la 4.
A0
A1
Y0
Y1
Y2
Y3
Circuite combinationale 68
2.4.2. Demultiplexorul (cont.)
g.) Simulare VERILOG a funcţionării demultiplexorului 1 la 4
module Testbench; always
reg intrare_G; begin
reg [0:1] adresa_t; #16adresa_t[0]=~adresa_t[0];
wire [0:3] iesire_Y; end
initial always
begin begin
#1intrare_G=0; #32adresa_t[1]=~adresa_t[1];
#1adresa_t[0]=0; end
#1adresa_t[1]=0; endmodule
end
always
begin
#1intrare_G=~intrare_G;
end
Circuite combinationale 69
2.4.2. Demultiplexorul (cont.)
g.) Simulare VERILOG a funcţionării demultiplexorului 1 la 4
Circuite combinationale 70
2.4.3. Decodoare specializate
Circuite combinationale 71
2.4.3. Decodoare specializate
a.) Decodor BCD – 7 segmente
Simbol
Circuite combinationale 72
2.4.3. Decodoare specializate
a.) Decodor BCD – 7 segmente
Tabelul de adevar
Intrări Ieşiri
D C B A 0 1 2 3 4 5 6
0 0 0 0 1 1 1 1 1 1 0
0 0 0 1 0 1 1 0 0 0 0
0 0 1 0 1 1 0 1 1 0 1
0 0 1 1 1 1 1 1 0 0 1
0 1 0 0 0 1 1 0 0 1 1
0 1 0 1 1 0 1 1 0 1 1
0 1 1 0 0 0 1 1 1 1 1
0 1 1 1 1 1 1 0 0 0 0
1 0 0 0 1 1 1 1 1 1 1
1 0 0 1 1 1 1 0 0 1 1
Tabelul 2.9
Circuite combinationale 73
2.4.3. Decodoare specializate
a.) Decodor BCD – 7 segmente
Aplicatii
A A
0
B B
1
2
C C
3
D
D 4 ABCDE FG
5
Circuite combinationale 74
2.4.3. Decodoare specializate
b.) Decodor BCD – zecimal
Simbol
Circuite combinationale 75
2.4.3. Decodoare specializate
b.) Decodor BCD – zecimal
Tabelul de adevar
Intrări Ieşiri
D C B A 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 1 1 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 0 1 1 1 1 1 1
0 1 0 0 1 1 1 1 0 1 1 1 1 1
0 1 0 1 1 1 1 1 1 0 1 1 1 1
0 1 1 0 1 1 1 1 1 1 0 1 1 1
0 1 1 1 1 1 1 1 1 1 1 0 1 1
1 0 0 0 1 1 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
Circuite combinationale 76
2.5 Tehnici de analiză a circuitelor cu
demultiplexoare şi/sau cu multiplexoare
Circuite combinationale 77
2.5.1 Formularea problemei aleasă ca exemplu
D0 Y 2 4
D0
1A
1Y0 Y0
D1 D1
3 5
D3, D2, D1, D0 intrări de date;
1B
1Y1 Y1
D2 D2
6
A1, A0 intrări de selecţie
1Y2 Y2
D3 D3 1 7
~1G
1Y3 Y3 pentru multiplexor;
A0
intrări de selecţie
A
A3, A2
A1 B
~G
pentru demultiplexor;
Y3, Y2, Y1, Y0 ieşiri de date;
A2
A3
Circuit de multiplexare
demultiplexare
Circuite combinationale 78
2.5.2 Analiza funcţionării circuitului
D0 Y 2 4
D0 1Y0 Y0
Intrări Ieşire
1A
D1 D1
3 5
1B
1Y1 Y1
D2 D2
6
D3
1Y2
7
Y2 Codificare
D3 1
Y3 A1 A0 Y
zecimală
1Y3
~1G
A0 A
A1 B
0 0 0 D0
~G
0 1 1 D1
A2 1 0 2 D2
A3 1 1 3 D3
Explicitarea modului în care intrările sunt
Circuit de multiplexare conectate la ieşire funcţie de adresa de selecţie
demultiplexare
Circuite combinationale 79
2.5.2 Analiza funcţionării circuitului
D0 Y 2 4
Intrări
D0
1A
1Y0 Y0
D1 5
Ieşiri
3
D1
Y1
D2 D2
1B
1Y1
6
Codif.
D3 1
1Y2
7
Y2 A3 A2 G
A0
D3
A
~1G
1Y3 Y3 Zecim.
A1
Y0 G
B
~G 0 0 0
A2
0 1 1 Y1 G
A3
1 0 2 Y2 G
Circuit de multiplexare 1 1 3 Y3 G
demultiplexare Explicitare modului în care intrarea este
conectată la ieşire funcţie de adresa de selecţie
Circuite combinationale 80
2.5.2 Analiza funcţionării circuitului
Adresa selecţie mux Adresă selecţie dmux Modul de conectare al
{A1, A0} {A3, A2} intrărilor la ieşiri
0 0 Y0=D0
1 0 Y0=D1
2 0 Y0=D2
3 0 Y0=D3
0 1 Y1=D0
1 1 Y1=D1
2 1 Y1=D2
3 1 Y1=D3
0 2 Y2=D0
1 2 Y2=D1
2 2 Y2=D2
3 2 Y2=D3
0 3 Y3=D0
1 3 Y3=D1
2 3 Y3=D2
3 3 Y3=D3
Circuite combinationale 81
2.5.2 Analiza funcţionării circuitului
D0 Y 2 4 Modul de
D1
D0
1A
1Y0
5
Y0 Adresa Adresă
D1
3
Y1 conectare
selecţie selecţie
1Y1
1B
D2 6
al intrărilor
D2
1Y2 Y2
D3 1 7
D3 1Y3 Y3 mux dmux
A0 A
~1G
la ieşiri
A1 B
~G
0 0 Y0=D0
1 1 Y1=D1
A2 2 2 Y2=D2
A3 3 3 Y3=D3
Circuit de multiplexare Tabel simplificat de funcţionare al
demultiplexare circuitului din figura
Circuite combinationale 82
2.5.3 Simularea SPICE a funcţionării circuitului
16 0
0 1
0
0
0
X
X
X
Y
X D0
2 4 F
D1 1A
1Y0 C Q T
31 15 3 5
T R 1Y1
D2 1B 6
1Y2
D3 7
1
1Y3
A ~1G
~G
D0
D1
D2
D3
A
Y0
Y1
Y2
Y3
Se constată că:
Circuite combinationale 85
2.5.4 Simularea VERILOG a funcţionării circuitului
module dmux4 (g, Ado, Yf); module mux4_la_1 (Dt, Ad, Ys);
// intrari input [0:3] Dt;
input g; input [0:1] Ad;
input [0:1] Ado; output Ys;
// iesiri reg Ys;
output [0:3] Yf; always @ (Dt or Ad)
reg [0:3] Yf; if (Ad==0)
always @ (g or Ado) Ys<=Dt[0];
if (Ado==0) else if (Ad==1)
Yf[0]<=g; Ys<=Dt[1];
else if (Ado==1) else if (Ad==2)
Yf[1]<=g; Ys<=Dt[2];
else if (Ado==2) else
Yf[2]<=g; Ys<=Dt[3];
else endmodule
Yf[3]<=g;
endmodule
Circuite combinationale 86
2.5.4 Simularea VERILOG a funcţionării circuitului
always always
begin begin
#128Aox[1]=~Aox[1];
#16Aix[0]=~Aix[0];
end
end
always // conectarea semnalelor la intrari
begin
#32Aix[1]=~Aix[1]; muxdmux muxdmux4 (Dx, Aix, Aox, Yx);
end endmodule
always
begin
#64Aox[0]=~Aox[0];
end
Circuite combinationale 89
2.5.4 Simularea VERILOG a funcţionării circuitului
1.memorii ROM (Read Only Memory) memorii ce pot fi doar citite, după ce
au fost în prealabil încrise de obicei în procesul de fabricaţie;
2.memorii RAM (Random Acces Memory) memorii ce pot fi utilizate atát
pentru scriere cát şi pentru citire
Circuite combinationale 92
2.6 Memorii
b.) Simbol şi notaţii folosite
MAGISTRALA MAGISTRALA
DE ADRESE DE DATE
MAGISTRALA
DE CONTROL
Circuite combinationale 93
2.6 Memorii
c.) Structura unei memorii
+EC
D
E
C
MAGISTRALA O
DE ADRESE D
O
R
MAGISTRALA
DE CONTROL
MAGISTRALA
DE DATE
Circuite combinationale 95
2.6 Memorii
d.) descrierea VERILOG