Buscar

Prévia do material em texto

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE 
CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA 
DEPARTAMENTO DE ENGENHARIA ELÉTRICA 
Circuitos Lógicos 
Avaliação 03 
 
 
NOME: ___________________________________________ NOTA:_________ 
MAT.: ________________________________ DATA: ______/_____/_____ 
 
1- Utilizando FF-T, projete um contador binário assíncrono que gere a sequência de contagem 2->11. (1,0) 
 
2-Considerando o registrador de 4 bits apresentado na figura abaixo, complete o diagrama temporal ilustrado. 
(2,0) 
 
 
 
 
3- Um estagiário recebeu a tarefa de analisar e entender o funcionamento do circuito ilustrado na figura 
abaixo. Durante sua análise, ele verificou que se trata de um circuito sequencial síncrono (FSM) que identifica 
uma determinada sequência de bits enviada através da entrada X. Ao detectar a sequência, o LED conectado 
à saída Y é aceso. Ajude o estagiário nessa tarefa e faça o que se pede: 
a. O circuito ilustrado corresponde a qual tipo de FSM (Moore ou Mealy)? (0,5) 
b. Ilustre o diagrama de estados para esta FSM. Note que a transição de cada estado depende do 
valor da entrada X. (1,0) 
c. Qual a sequência de bits que esta máquina detecta? Note que o final de uma palavra pode ser 
considerado como o início da próxima. (0,5) 
 
 
 
 
4- Um estudante de engenharia eletrônica está avaliando um código de uma FSM descrito em SystemVerilog 
(apresentado abaixo). Levando em consideração o código em questão, ajude o estudante a responder as 
seguintes questões: 
 
a. Qual o tipo da FSM implementada no código abaixo (Moore ou Mealy)? (0,5) 
b. Qual o diagrama de transição de estados que representa essa FSM? (1,0) 
c. Qual a sequência de bits detectada por essa FSM? (0,5) 
 
 1 module detecta_sequencia(input logic A, clk, clr, 
 2 output logic Y); 
 3 
 4 parameter S0 = 3'b000; 
 5 parameter S1 = 3'b001; 
 6 parameter S2 = 3'b010; 
 7 parameter S3 = 3'b011; 
 8 parameter S4 = 3'b100; 
 9 
 10 logic [2:0] current_state, next_state; 
 11 
 12 //Next State Logic 
 13 always@(A or current_state) 
 14 begin 
 15 case(current_state) 
 16 S0: next_state = A ? S1 : S0; 
 17 S1: next_state = A ? S2: S0; 
 18 S2: next_state = A ? S2 : S3; 
 19 S3: next_state = A ? S4 : S0; 
 20 S4: next_state = A ? S2 : S0; 
 21 default: next_state = S0; 
 22 endcase 
 23 end 
 24 
 25 //Update State Register 
 26 always@(posedge clk) 
 27 begin 
 28 current_state <= clr == 1'b0 ? S0 : next_state; 
 29 end 
 30 
 31 
 32 
 33 //Output Logic 
 34 always@(current_state) 
 35 begin 
 36 case(current_state) 
 37 S0: Y=1'b0; 
 38 S1: Y=1'b0; 
 39 S2: Y=1'b0; 
 40 S3: Y=1'b0; 
 41 S4: Y=1'b1; 
 42 default: Y = 1'b0; 
 43 endcase 
 44 end 
 45 
 46 endmodule 
 
 
OBSERVAÇÕES: 
1. Responda todas as questões; 
2. A interpretação das questões faz parte da avaliação; 
3. É necessária a apresentação dos cálculos e tabelas referentes às questões resolvidas; 
4. É necessária a apresentação dos mapas e passos usados nas simplificações; 
5. É necessária a apresentação de todos os passos e procedimentos utilizados para obtenção dos resultados das questões; 
6. A prova é individual e sem consulta; 
7. A prova pode ser feita usando lápis grafite; 
8. Coloque o seu nome em todas as folhas; 
9. Não é permitido usar outras folhas como rascunho; 
10. Não é permitido usar calculadora; 
11. Desliguem os celulares.