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.