Creé un multiplexor de 2 bits de 2 vías:
module mux2(c, x, y, m);
input c;
input [3:0] x;
input [3:0] y;
output [9:0] m;
assign m[3:0] = (~c & x) | (c & y);
assign m[9:4] = 0;
endmodule
Lo instalé desde mi módulo de nivel superior:
module top(SW, LEDR);
input [9:0] SW;
output [9:0] LEDR;
mux2 mymux(SW[9], SW[3:0], SW[7:4], LEDR[9:0]);
endmodule
Hice una simulación funcional en Altera Quartus Prime Lite en un Cyclone V 5CSEMA5F31C6 (importando asignaciones de DE1_SoC.qsf ) y obtuve esta forma de onda inesperada:
Comoseesperaba,lasalidaMsigueaXcuandoCesbaja;sinembargo,MnosigueaYcuandoCesalta.Ensulugar,parecetenerunacombinacióndevaloresXeY.
Aquíhayunaversiónexpandidadelaformadeondaanterior:
Supongo que estoy instanciado mux2 incorrectamente pero no veo lo que hice mal.