Buscar

Relatório 6 - 10-10-14 - circuitos síncronos

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Estadual de Campinas
Faculdade de Tecnologia
TT-411 Circuitos Digitais 2
Wellington Renan Gonçalves
Relatório 6
Aula 6
Estratégias de Descrição de Circuitos Síncronos
Introdução à Apostila 5
Atividades de laboratório
1. Executar os códigos propostos e explicar o seu funcionamento.
ENTITY latch3_1 IS
 PORT (en : IN BIT; -- habilita
 	rst : IN BIT; -- rst=1 leva q=000 
 	set : IN BIT; -- set=1 leva q=111 
 	d : IN BIT_VECTOR(2 DOWNTO 0);
 	q : OUT BIT_VECTOR(2 DOWNTO 0)); 
END latch3_1;
ARCHITECTURE teste OF latch3_1 IS
BEGIN
 	PROCESS (en, d, rst, set)
 		BEGIN
 		IF (rst ='1') THEN q <="000"; -- q=000 independente de en
 		ELSIF (set ='1') THEN q <="111"; -- q=111 independente de en
 		ELSIF (en ='1') THEN q <=d; -- condicao do sinal para habilitar
 		END IF;
 	END PROCESS;
END teste;
O código descrito acima é um registrado sensível a nível. Descreve um registrador de 3 bits, com saída q, as entradas rst e set, resetam e setam o registrador respectivamente, e a entrada quando 1 habilita o registrador.
ENTITY flip3_2 IS
 	PORT (ck : IN BIT; -- relogio
 	rst : IN BIT; -- rst=1 leva q=000 sincrono
 	set : IN BIT; -- set=1 leva q=111 sincrono
 	d : IN BIT_VECTOR(2 DOWNTO 0);
 	q : OUT BIT_VECTOR(2 DOWNTO 0)); 
END flip3_2;
ARCHITECTURE teste OF flip3_2 IS
BEGIN
 	PROCESS (ck)
 		BEGIN
 		IF (ck'EVENT AND ck = '1') THEN -- condicao do sinal relogio
 			IF (rst = '1') THEN q <= "000"; -- teste para levar q=000
 			ELSIF (set = '1') THEN q <= "111"; -- teste para levar q=111
 			ELSE q <= d; -- armazena dado
 			END IF;
 		END IF;
 	END PROCESS;
END teste;
O código descrito acima é um registrador sensível à borda. q é a saída da descrição, rst e set, resetam e setam respectivamente o registrador, e ck é o clock do código, o PROCESS só executará quando houver uma mudança no sinal do relógio e no caso do código implementado quando houver uma borda de subida.
ENTITY flip3_3 IS
 	PORT (ck : IN BIT; -- relogio
 		rst : IN BIT; -- rst=1 leva q=000 assincrono
 		set : IN BIT; -- set=1 leva q=111 assincrono
 		d : IN BIT_VECTOR(2 DOWNTO 0);
 q : OUT BIT_VECTOR(2 DOWNTO 0)); 
END flip3_3;
ARCHITECTURE teste OF flip3_3 IS
BEGIN
 PROCESS (ck, rst, set)
 BEGIN
 IF (rst = '1') THEN q <="000"; -- q=000 independente de ck
 			ELSIF (set = '1') THEN q <="111"; -- q=111 independente de ck
 			ELSIF (ck'EVENT AND ck ='1') THEN q <=d; -- condicao do sinal relogio
 END IF;
 END PROCESS;
END teste;
O código descrito acima também é um Registrador Sensível a Borda, neste caso a sua inicialização é assíncrona apresenta as operações set e reset independentes do sinal de relógio ck.
2 – Defina uma Máquina de Estado, execute o seu código e explique o seu funcionamento.
Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações.
Um estado armazena informações sobre o passado.
Uma transição indica uma mudança de estado e é descrito por uma condição que precisa ser realizada para que a transiçao ocorra.
Uma ação é a descrição de uma atividade que deve ser realizada em determinado momento.
As máquinas de estados são classificadas de acordo com o tipo de função da saínda, em dois tipos: Máquina de Mealy e Máquina de Moore.
A máquina de Mealy é um sistema sequencial cuja saída no tempo t depende do estado e da entrada no tempo t.
A máquina de Moore é um sistema sequencial cuja saída no tempo t depende somente do estado no tempo t.
ENTITY maq_est1 IS
 	PORT (ck : IN BIT; -- relogio borda subida
 		rst : IN BIT; -- rst=1, q=00
 		q : BUFFER BIT_VECTOR (1 DOWNTO 0)); -- saida codigo Gray
END maq_est1;
ARCHITECTURE teste OF maq_est1 IS
BEGIN
 	abc: PROCESS (ck, rst)
 	BEGIN
 		IF rst = '1' THEN -- estado inicial
 		q <= "00";
 		ELSIF (ck'EVENT and ck ='1') THEN -- ciclo de estados
 			CASE q IS
 			WHEN "00" => q <= "01";
 			WHEN "01" => q <= "11";
 			WHEN "11" => q <= "10";
 			WHEN "10" => q <= "00";
 			END CASE;
 		END IF;
 	END PROCESS abc;
END teste;
O código descrito acima apresenta a implementação de uma máquina de estado do tipo Moore, onde a saída depende apenas do estado anterior. ck é o clock da descrição a qual é sensível a borda de subida, rst é o sinal de reset e q a saída.
Conclusão:
Na aula foi apresentada Estratégias de Descriçao de Circuitos Síncronos.
Na atividade 1 apresentado registradores, e implementado códigos que simulasse o funcionamento de um. E ainda, os códigos implementos foram simulados no WaveForm para verificar a compatibilidade das saídas esperadas com as saídas simuladas.
Na atividade 2 foi apresentado o que são máquinas de estado, a diferença entre máquinas de Melay e Moore, logo após implementado um código que simulasse o funcionamento de uma máquina de estado. E ainda, o código implementa foi simulado no WaveForm para verificar a compatibilidade das saídas esperadas com as saídas simuladas.

Outros materiais