`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Engineer: connor jiao // Create Date: 10:36 2020/6/12 // Design Name: // Module Name: // Function : 二选一多路器,sel为z或x,两个输入端为1101,1111,则输出应该是? // Revision 0.01 - File Created // Additional Comments: ////////////////////////////////////////////////////////////////////////////////// module mux_zx( a, b, sel, out ); input [3:0]a; input [3:0]b; input sel; output [3:0]out; assign out=sel?a:b; endmodule
`timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Engineer: connor jiao // Create Date: 10:36 2020/6/12 // Design Name: // Module Name: // Function : // Revision 0.01 - File Created // Additional Comments: ////////////////////////////////////////////////////////////////////////////////// module mux_zx_tb(); reg [3:0]a; reg [3:0]b; reg sel; wire [3:0]out; mux_zx inst_mux_zx( .a(a), .b(b), .sel(sel), .out(out) ); initial begin a=1101; b=1111; sel=1'bX; #100; sel=1'bZ; #100; $stop; end endmodule
可以看到当sel选择端无论是未知态X和高阻态Z,输出都是未知态X。
同时总结一下:
reg型悬空为未知态,wire型悬空为高阻态