Observe o código abaixo.

NÚCLEO 1

NÚCLEO 2

module nucleo1 (clk_i, s_i, p_o);

input clk_i, s_i; output [7:0] p_o;

reg [7:0] tmp;



always @(posedge clk_i) tmp = {tmp[6:0], s_i};



assign p_o = tmp;

endmodule

module nucleo2 (d_i, clk_i, rst_i , ld_i ,s_o );

output reg d_o; input wire [7:0] d_i;

input clk_i, rst_i, ld_i; reg [7:0] temp;



always @ (posedge (clk_i))

if (rst_i == 1’b1) temp <= 1;

else if (ld_i == 1’b1) temp <= d_i;

else begin

s_o <= temp[7];

temp <= {temp[6:0],1'b0};

end

endmodule



Com relação aos códigos acima avalie a alternativa correta.

Escolha uma:
a. NÚCLEO 1 – corresponde a uma solução cuja saída de dados possui tamanho de 7 bits
NÚCLEO 2 – o trecho temp <= {temp[6:0],1'b0} corresponde ao momento na qual o dado é recolocado uma posição a direita através de uma concatenação;
b. NÚCLEO 1 – o registro reg [7:0] tmp é inicializado com zero
NÚCLEO 2 – o registro reg [7:0] temp; é inicializado com valor 7’b1111111;
c. NÚCLEO 1 – o trecho tmp = {tmp[6:0], s_i}; corresponde ao momento na qual o sinal serial de entrada é concatenado em uma variável temporária de tamanho 6 bits;
NÚCLEO 2 – corresponde a uma solução cuja entrada é serial e a saída é paralela;
d. NÚCLEO 1 – o trecho tmp = {tmp[6:0], s_i}; corresponde ao momento na qual o sinal serial de entrada é concatenado em uma variável temporária de tamanho 6 bits;
NÚCLEO 2 – o trecho de código if (ld_i == 1’b1) temp <= d_i; corresponde ao momento na qual o dado paralelo é “carregado” em uma variável temporária;
e. Tanto o NÚCLEO 1 quanto o NÚCLEO 2 possuem array de registradores.
NÚCLEO 1 – corresponde a uma solução cuja entrada é serial e a saída é paralela;
NÚCLEO 2 – corresponde a uma solução cuja entrada é paralela e a saída é serial; Correto
Please enter comments
Please enter your name.
Please enter the correct email address.
You must agree before submitting.

Lista de comentários


Helpful Social

Copyright © 2024 ELIBRARY.TIPS - All rights reserved.