Escolar Documentos
Profissional Documentos
Cultura Documentos
DECODER_TERMOMETRICO
-1 8 E E6
R1
0
16
MUX
8 LOAD(STEP) Set (+15)
2:1
Termo(15..0)
0
Penalty
0
MUX
MUX
Counter_time* E5 E
2:1
2:1
8 8 Counter_round LEDR(15..0)
0 8 (+STEP) 16
1
(-1) Pisca 16
Control E5 CLK
tc < 1 tc=0
CLK 8 8
DecBCD Y T_BCD(7.. 4) dec7seg
end_game T_BCD 4
T_out 4 7
E1 end_round
E5
R HEX7
Div_Freq**
R1
R T_BCD(3.. 0)
E5 dec7seg
E3 E 4 7
CLK CLK_1Hz
Counter_seq
SW(7.. 0) Sim_2Hz (+1) HEX6
CLK_1Hz
8 tc=4
3 “1111111”
end_sequence X
7
HEX5
00
-2 Alpha(3)
8 Penalty “00000000”
01
0
MUX
-4
MUX
2:1
4:1
8
8 8
10
1
“1111111”
8 8 7
-8 +
11
Alpha(2)
8 “0000” & Beta HEX4
“00000000”
0
MUX
8 8
2:1
SEL “000” & X & “00” Seq Seq_BCD
1 8
SW(1.. 0) 8 + + DecBCD “1111111”
R1 2 2 Alpha(1) 8 8
R 8 7
“00000000” HEX3
0
E1
MUX
E
8
2:1
8 “1111111”
+
CLK Alpha(0) 7
8
“00000000”
0
HEX2
MUX
8 E1
2:1
Play
1 0
MUX
2:1
7
0
16 8 L 7
16
MUX
R1
2:1
R
Alpha Seq_BCD(3.. 0) dec7seg 7
1 0
MUX
7
2:1
4 7
1
E4 E
SW(7.. 0) SW(3.. 0) dec7seg 7 HEX1
REG 8 8 7 7 E4
R1 R Beta
7 7 E1
CLK 4 “1111”
E2 E dec7seg
1 0
MUX
2:1
7 7
0
7
MUX
8 REG “00” & SEL(1.. 0) dec7seg
2:1
Play(7.. 0) Seq_BCD(3.. 0) 7
1 0
MUX
COMPARA dec7seg
2:1
8 Control 7
1
DOR = CLK 7
Play(15.. 8) SW(3.. 0) dec7seg 7
8 7
7 E4 E3 HEX0
CLK
CONTROLE
BTN(1)
KEY(1) enter
Button
KEY(0) sync BTN(0)
CLK reset
CLK
* No código do counter_time, é necessário declarar a biblioteca IEEE.std_logic_signed.all para o correto cálculo do end_time. Após end_time for
ativado, o contador deve ficar fixado em "0000" até ser setado pelo estado Init.
** Foram fornecidos tanto o divisor de frequência para uso com o emulador online quanto para a placa DE2. Lab4 Lab5 Lab6 Lab7 Dado