Documente Academic
Documente Profesional
Documente Cultură
Specializarea –
Divizoare de tact
Coordonator: Studenti:
- anuel
Luncan Casian-
-
- 2020 -
Cuprins
Cuprins.......................................................................................................................1
Tema proiectului.................................................................................................2
Capitolul I Introducere - Limbajul VHDL...........................................................3
Capitolul II Divizorul de tact................................................................................4
..................................... 4
le..........................................................................................4
.......................................... 5
....................................... 5
..................................................... 6
...... 6
....................................................... 8
...................................... 8
2.8 Circuite basculante bistabile.................................................................8
2.9 Circuitul basculant bistabil de tip R-S..................................................9
2.10 Circuitul basculant bistabil de tip R-S sincron..................................9
2.11 Circuit basculant bistabil de tip J-K...................................................9
2.12 Circuit basculant de tip T...................................................................10
2.13 Circuit basculant bistabil de tip D....................................................10
2.14 Circuite basculante bistabile de tip “Master-Slave”.....................11
Capitolul III Crearea proiectului.......................................................................13
Capitolul IV Descrierea unor circuite secventiale elementare in VHDL.....16
4.1 Implementarea in VHDL a unui bistabil de tip D..................................17
.......... 18
4.3 Implementarea in VHDL a unui numarator sincron..............................21
......... 22
Bibliografie..............................................................................................................27
1
Tema proiectului
mediul de lucru.
În capitolul al II-
structurile acestora.
În capitolul al III-
2
Capitolul I Introducere - Limbajul VHDL
complexe.
dintr
a este o reprezentare
reprezentare: al fluxul
3
Capitolul II Divizorul de tact
-
Locked- suntcircuiteutilizatela
rezult
folosit p_state 6 a
pentru atribu genera
bistabilele lucr
d variabile de intrare de
4
D
- -
- sincrone -
-
la fiecare impuls de tact -
ea "0 “
mnalului B.
terval.
torului
3 bistabile:
semnalul de anulare,
- B
semnalul de anulare:
-
incron INIT.
5
-a format starea modulului.
Fig 2..4.1
- Avantaj: sunt mai rapide
-
În cazul num r
6
. a num r torului binar sincron de 4 bi
Q3Q2Q1Q Q0
comut Q Q
starea anterioar Q Q
anterioar Q1Q l Q2 comut Q Q3
nu i modific starea deoarece anterior Q2 a fost 0.
Rezult starea Q3Q2Q1Q0
- Etapa I:
–
unei diagrame de minimizare
- Etapa a II-a: -
de tip J-K "Master-Slave “.
- Etapa a III-a: -
7
KD.
8
2.6 Num r tor reversibil
binar-
binar-
La comanda de incremen
-
-
-
aplicarea unor se
9
2.9 Circuitul basculant bistabil de tip R-S
-o parte
z1 y1
a-
este
St=0;
orna S a CBB
-
1
0
CBB se poate construi pornind de la un bistabil de tip R- stare a
bistabilului J- -
1
1
2.12 Circuit basculant de tip T
-
comandate simultan
bista -
K.
ea D este
D Qt Qt+1 J K
0 0 0 0 x
0 1 0 x 1
1 0 1 1 x D
1 1 1 x 0
2.13.2 J-
10
D Qt Qt+1 S R
0 0 0 0 x
0 1 0 0 1
1 0 1 1 0 S=D i R=D
1 1 1 x 0
2.13.3 -S
2.13.6
Prin
11
sincronizare negat
intervalul II.
12
Capitolul III Crearea proiectului
13
-
care va c
crierii codului.
14
VHDL p
t
un nume.
15
Capitolul IV Descrierea unor circuite
secventiale elementare in VHDL
Circuit
figura 1.
-
- Circuite bistabile
-
- Registre
);
end nume_mode;
architecture behavior of nume_model is
declarare de semnale interne
begin
–– procesul state
state: process ( –– clock, reset,
next_state inputs)
begin
end
end behavior
16
4.1 Implementarea in VHDL a unui bistabil de tip D
waitif wait
nu ne vom ocupa de ea.
tfel
If
sem
procesului.
Acest tip
de
Codul VHDL al bistabilului:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entitybistD is
port (D : in
STD_LOGIC; Q : out
STD_LOGIC; CLK : in
STD_LOGIC; R : in
STD_LOGIC);
end bistD;
architecture Behavioral of bistD
is begin
process (CLK,
R) begin
if (R = ‘1’)
then Q <= D;
end if;
end process;
end Behavioral;
17
4.2 Analiza codului VHDL a implement ri unui bistabil
de tip D
package-ului“ ”respectiv“
care definesc tipurile de date standard. Pentru declararea biblotecilorlibraryi pentru
package-uri
use.
b) Declararea entit i:
entity bistD is
port (D : in STD_LOGIC; Q : out STD_LOGIC; CLK : in
STD_LOGIC; R : in STD_LOGIC);
end bistD;
i.
entity urmat
is.
port În exemplul de
c) Corpul arhitectural
architecture Behavioral of bistD
is begin
process (CLK,
R) begin
if (R = ‘1’)
then Q <= D;
end if;
end process;
end Behavioral;
18
arhitecture
of
is, c begin
d) Schema
19
begin
process (CLK,
R) begin
if (R = ‘1’)
then Q <= D;
end if;
end process;
4.2.3
g) Simularea
4.2.4
.
-
intervalului este notat cu
u la simularea bistabilului.
cu o . Automat din
de tip D.
4.2.5
20
4.3 Implementarea in VHDL a unui numarator sincron
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
entity numsin is
port ( clk, reset : in
std_logic; up, down : in
std_logic;
count: out unsigned (4 downto 0)
);
end numsin;
21
vectori unsigned signed
22
std_logic, dar un vector definit unsigned
nu poate fi atribuit unui alt vector definit std_logic
unsigned
buffer.
package-ului “IEEE.std_logic_1164.all”
care define te tipurile de date standard. Pentru declararea biblotecilor
library i pentru package-use.
b)
entity numsin is
port ( clk, reset : in
std_logic; up, down : in
std_logic;
count: out unsigned (4 downto 0)
);
end numsin;
entity
is
port
std_logic i un port de
e tip unsigned
end ,
c) Corpul arhitectural
23
architecture rtl of numsin is
signal count_v:unsigned (4 downto
0); begin
process (clk, up, down)
variable updown:unsigned(1 downto 0);
begin
updown:=up&down;
If raising_edge(clk) then
If reset= ‘1’ then
count_v<= “00000”;
else
case updown is
when “00” =>count_v<=count_v;
when “10” =>count_v<=count_v+1;
when “01” =>count_v<=count_v-2;
when others =>count_v<=count_v;
end case;
end if;
end if;
end process;
count<=count_v;
end rtl;
rtl
of is.
se f signal
begin
d) Schema
24
f)
begin
updown:=up&down;
If raising_edge(clk) then
If reset= ‘1’ then
count_v<= “00000”;
else
case updown is
when “00” =>count_v<=count_v;
when “10” =>count_v<=count_v+1;
when “01” =>count_v<=count_v2;
when others =>count_v<=count_v;
end case;
end if;
end if;
end process;
g) Simularea codului
25
La inceput se observa cele 5
intr-o
ca bistabilele la pornire au o stare
necunoscuta.
-
numaratorul numara crescator si toata simularea se repeta.
26
Capitolul V Concluzii
Un sintetizor de
modalitatea de prescriere a
27
Bibliografie
–
–
[1]
- –
[2]
- –
ano -
–
–
–
– –
[3]
- -de-
28