verilog语言入门 - 多路选择器 2选1 和4选1

多路选择器
一,二选一选择器
——————————————————————————————
// module top, 选择器(mux)的代码,
module top(
IN0 , // input 1
IN1 , // input 2
SEL , // select
OUT ); // out data
parameter WL = 16; // 输入输出数据信号位宽
input [WL-1:0] IN0, IN1;// 选择器的两个输入数据信号
input SEL; // 通道选通的控制信号
output[WL-1:0] OUT; // 选择器的输入数据信号

reg [WL-1:0] OUT;
// 生成组合逻辑的代码
always @ (IN0 or IN1 or SEL) begin
if(SEL) // SEL为1 选择输入1
OUT = IN1;
else // SEL为0 选择输入0
OUT = IN0;
end
endmodule
// endmodule top
——————————————————————————————

二,四选一mux

——————————————————————————————
// module top, 选择器(mux)的代码,
module top3(
IN0 , // input 1
IN1 , // input 2
IN2 , // input 3
IN3 , // input 4
SEL1 , // select1
SEL2 , // select2
OUT ); // out data
parameter WL = 16; // 输入输出数据信号位宽
input [WL-1:0] IN0, IN1, IN2, IN3;// 选择器的两个输入数据信号
input SEL1, SEL2; // 通道选通的控制信号
output[WL-1:0] OUT; // 选择器的输入数据信号

reg [WL-1:0] OUT;
// 生成组合逻辑的代码
always @ (IN0 or IN1 or IN2 or IN3 or SEL1 or SEL2) begin
if(SEL10 && SEL20)
OUT=IN0;
else if(SEL10 && SEL21)
OUT=IN1;
else if(SEL11 && SEL20)
OUT=IN2;
else
OUT=IN3;

end
endmodule
// endmodule top
——————————————————————————————

verilog语言入门 - 多路选择器 2选1 和4选1_第1张图片

你可能感兴趣的:(quartus)