Aula 5.9 - Código de um mutiplexador 4x1 em Verilog
Na primeira aula dessa série de aulas você aprendeu toda a base para compreender códigos em Verilog HDL e rodar os códigos, se ainda não leu clique aqui e confira.
Abaixo você confere o código de implementação de um multiplexador de 4-para-1.
module mux_4_1(A,B,C,D,Control,S);
input[1:0] Control; //sinal do seletor
input[31:0] A,B,C,D; //quatro entradas de 32 bits
output reg [31:0] S; //saída de 32 bits
always@(*)
begin
case(Control)
2'b00 : S <= A;
2'b01 : S <= B;
2'b10 : S <= C;
2'b11 : S <= D;
endcase
end
endmodule
O símbolo "<=" recebe o nome de atribuição não bloqueante, ou seja, todo o lado direito das atribuições em um grupo always é avaliado e as atribuições são feitas simultaneamente. Enquanto que o símbolo "=" recebe o nome de atribuição bloqueante, ou seja a atribuição é completada antes que a próxima instrução seja executada.
A imagem abaixo ilustra a simulação, clique sobre ela para ampliar.
Próxima aula, clique aqui.
COMENTÁRIOS