Where does the data flow?
module mystery(
input wire [3:0] A, B,
input wire sel,
output wire [3:0] Y,
output wire Z
);
assign Y = sel ? A : B;
assign Z = &A;
endmodule
A=4'b1010, B=4'b0101, sel=1:Y = 4'b Z = 1'b
A=4'b1111, B=4'b0101, sel=0:Y = 4'b Z = 1'b
module bitops(
input wire [7:0] A,
output wire [3:0] HI, LO,
output wire [7:0] SWAP,
output wire ODD_PARITY
);
assign HI = A[7:4];
assign LO = A[3:0];
assign SWAP = {A[3:0], A[7:4]};
assign ODD_PARITY = ^A;
endmodule
A=8'b11001010:HI = 4'b LO = 4'b SWAP = 8'b ODD_PARITY = 1'b
assign statement.
assign Y = A B;
assign Y = A;
assign Y = A B;
assign Y = {{4{}}}, A};
comparator( input wire [3:0] A, B, output wire Y );
assign Y = A B;
parity( input wire [7:0] A, output wire Y );
assign Y = A;