八位两路选择器
// 第一种方式modulemux2(input[7:0]d0, input[7:0]d1, inputs, output[7:0]y); assignysd1 : d0; endmodule// 第二种方式modulemux2_8(input[7:0]d0, input[7:0]d1, inputs, output[7:0]y); mux2lsbmux(d0[3:0],d1[3:0],s,y[3:0]); mux2msbmux(.do(d0[7:4]), .d1(d1[7:4]), .s(s), .y(y[7:4])); endmodule//模块例化 :可通过实例化已经设计好的模块来达到重用模块,简化设计的目的。可将一个模块重用多次,//在同一模块中,实例化名称(本例中为lsbmux、msbmux)可任意指定,但不能相同,也不能使用verilog中的关键字//本例中列举了verilog语法支持的两种实例化方式,推荐使用第二种方式,虽然代码量增加了一些,但增加了可读性,//同时降低了出错的风险。//对于第一种模块例化方法,应严格保证实例化模块(lsbmux)中的参数排列顺序//与被实例化模块(mux2)的参数排列顺序严格一致。//对于第二种方式点后面是被例化模块(mux2)的接口信号,括号内的是实例化模块(msbmux)的接口信号。