design source
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2018/03/17 08:26:28
// Design Name:
// Module Name: disTwo2OneSelector
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module disTwo2OneSelector(
input sl,
input a,
input b,
output out
);
reg out;
always @(sl or a or b)
begin
// “? :”表达式的返回值必须赋给一个变量。
out=sl?b:a;
end
endmodule
simulation source
`timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2018/03/17 08:45:19
// Design Name:
// Module Name: simTwo2OneSelector
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//
module simTwo2OneSelector(
);
reg simA,simB,simSl;
wire simOut;
initial
begin
simSl=0;
simA=0;
simB=0;
// 在激励程序运行的瞬间,"simSl=0;simA=0;simB=0;"语句已经执行完了。
// 在0-10个时间单位,激励程序的状态保持不变。
#10
simSl=0;
simA=1;
simB=0;
#10
simSl=1;
simA=0;
simB=0;
#10
simSl=1;
simA=0;
simB=1;
end
// 设计文件模块名 对象名 (.设计文件模块中的类中的参数(激励文件模块中的类中的参数))
disTwo2OneSelector objTwo2OneSelector(.a(simA),.b(simB),.sl(simSl),.out(simOut));
endmodule