Buscar

Relatório 7 - 17-10-14 - máquina de estados do thunderbird68

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 9 páginas

Prévia do material em texto

Universidade Estadual de Campinas
Faculdade de Tecnologia
TT-411 Circuitos Digitais 2
Wellington Renan Gonçalves
Relatório 7
Aula 7
Estratégias de Descrição de Circuitos Síncronos
Introdução à Apostila 5
Atividades de laboratório
1. Fazer a descrição de um código VHDL que implemente a máquina de estado do ThunderBird68.
 
O código implementado para a executação da seta do ThunderBird68 é apresentado logo abaixo:
O código descrito acima é um modelo para a máquina de estados do thunderbird68. Foi declarada a entrada ck que no modelo faz com que o processo seja executado em bordas de súbida, as entradas s1 e s0 que fazem a seleção entre direita e esqueda, e a saída at que representa o conjunto das lâmpadas.
Quando s1&s0 = “01” DIREITA
 
Quando s1&s0 = “10” ESQUERDA
2- Executar os códigos propostos em aula e descrever o seu funcionamento.
ENTITY maq_est2 IS
 	PORT (ck : IN BIT; -- relogio borda subida
 		sobe : IN BIT; -- sobe=1, q=00,01,11,10,00...
 		iniciar : IN BIT; -- iniciar=1, q=00
 q : OUT BIT_VECTOR (1 DOWNTO 0)); -- saida
END maq_est2;
ARCHITECTURE teste OF maq_est2 IS
 	-- q=2 q=3 q=1 q=0 
 	TYPE st IS (caso_d, caso_c, caso_b, caso_a); -- novo tipo definido
 	SIGNAL estado : st; -- sinal estado tipo "st"
BEGIN
 	abc: PROCESS (ck, iniciar)
 	BEGIN
 		IF iniciar = '1' THEN -- estado inicial
 		estado <= caso_a; -- q=0
 		ELSIF (ck'EVENT and ck ='1') THEN -- ciclo de estados
 			CASE estado IS
 				WHEN caso_a => -- q=0
 					IF sobe = '1' THEN estado <= caso_b; -- q=1
 					ELSE estado <= caso_d; -- q=2 
 					END IF;
 				WHEN caso_b => -- q=1
 IF sobe = '1' THEN estado <= caso_c; -- q=3
 ELSE estado <= caso_a; -- q=0
 END IF;
 WHEN caso_c => -- q=3
 					IF sobe = '1' THEN estado <= caso_d; -- q=2
 ELSE estado <= caso_b; -- q=1
 END IF;
 WHEN caso_d => -- q=2
IF sobe = '1' THEN estado <= caso_a; -- q=0
 					ELSE estado <= caso_c; -- q=3
 					END IF;
 			END CASE;
 END IF;
 	END PROCESS abc;
 WITH estado SELECT -- decodifica estado
 q <= "00" WHEN caso_a, -- q=0
 	"01" WHEN caso_b, -- q=1
 "11" WHEN caso_c, -- q=3
 "10" WHEN caso_d; -- q=2
END teste;
O código descrito acima também uma máquina de estado, um caso mais geral, em que o valor assumido pelo estágio atual não corresponde diretamente o valor da saída; ele é codificado a partir do estado atual.
SOBE = 0
SOBE = 1
ENTITY cnt_dec2 IS
 	PORT (ck : IN BIT; -- relogio
 ld : IN BIT; -- carrega dados sincrono
 		rst : IN BIT; -- rst=1 leva q=0000 assincrono
 		d : IN INTEGER RANGE 15 DOWNTO 0;
 		q : OUT INTEGER RANGE 15 DOWNTO 0); 
END cnt_dec2;
ARCHITECTURE teste OF cnt_dec2 IS
BEGIN
 abc: PROCESS (ck, rst)
 	VARIABLE qv : INTEGER RANGE 15 DOWNTO 0;
 	BEGIN
 IF (rst = '1') THEN -- q=0000 independente de ck
 qv := 0;
 ELSIF (ck'EVENT AND ck = '1') THEN -- condicao do sinal relogio
 			IF (ld = '1') THEN qv := d; -- carrega dados 
 ELSE
 IF qv >= 9 THEN qv := 0; -- retorna a zero
 				ELSE qv := qv +1; -- incrementa
 				END IF;
 			END IF;
 END IF;
 q <= qv;
 END PROCESS abc;
END teste;
O código descrito acima é um contador. O código foi descrito como uma máquina de estados em que o código de cada estado corresponde ao valor da contagem. O código reliza uma contagem entre os valores 0 e 9, com reset assíncrono e carga de dados paralela síncrona. A opreção de carga é controlada pelo sinal ld.
3- Apresente a descrição de registrador com 4 bits e duas entradas de 4 bits, da e db. O sinal de seleção sel define de qual entrada o dado será armazenado na borda de descida do sinal de relógio ck. A operação do circuito é similar ao registrador 74298 da família TTL.
4 – Apresente a descrição de um contador de 4 bits crescente / decrescente com a opção para carga de dados paralela e reset assíncrono. O contador deve contar entre os valores 0 a 11. A figura a seguir ilustra o contador. O terminal ld permite o armazenamento do dado d na borda de subida do sinal de relógio ck. O terminal crs define se a contagem é crescente ou descrescente, e rst executa uma operação de reset assíncrona. Os sinais d e q são do tipo INTEGER, e os sinais restantes do tipo BIT.
Código Decrescente
Código Crescente
5 – Apresente a descrição de um registrador de deslocamento equivalente ao circuito TTL 74166. O registrador contém 8 bits, possibilidade de carga paralela através das entradas d0 a d7 e uma entrada serial (terminal ds). O terminal rst_l leva a saída de todos os registradores ao nível lógico baixo de modo assíncrono. O terminal ld_l permite a carga dos dados presentes nas entradas de d0 a d7 na borda de subida do sinal ck. O terminal ce_l habilita as operações síncronas: deslocamento e carga paralela. A figura a seguir ilustra simplificadamente o componente e uma tabela contendo os modos de operação do registrador.
 
Conclusão:
Na aula foi dado continuação a Estratégias de Descriçao de Circuitos Síncronos.
Na atividade 1 foi implementado, executado e simulado um código que simulasse a seta do ThunderBird68.
Na atividade 2 foi implementado, executado e simulado os códigos propostos em aula, onde o primeiro simulava uma máquina de estado geral, e o segundo um contador descrito como uma máquina de estados.
Na atividade 3 foi implementado o código de um registrador de 4 bits.
Na atividade 4 foi implementado o código crescente/descrente de um contador de 4 bits.
Na atividade 5 foi implementado um registrador de desclocamento equivalente ao circuitos TTL 74166. 
� EMBED PBrush ���
� EMBED PBrush ���
� EMBED PBrush ���
� EMBED PBrush ���
� EMBED PBrush ���
� EMBED PBrush ���
_1476899904/ole-[42, 4D, 5E, B8, 07, 00, 00, 00]
_1476902676/ole-[42, 4D, 5E, B4, 05, 00, 00, 00]
_1476903042/ole-[42, 4D, 56, 55, 09, 00, 00, 00]
_1476903806/ole-[42, 4D, 9A, D9, 0A, 00, 00, 00]
_1476900044/ole-[42, 4D, 76, E9, 14, 00, 00, 00]
_1476899825/ole-[42, 4D, DE, 86, 17, 00, 00, 00]

Outros materiais

Outros materiais