blob: 30c147896ff96d94e05c41e269e97d03c8106319 [file] [log] [blame] [edit]
`default_nettype none
module Device(
input wire [7:0] a, b,
output wire [7:0] result
);
wire [7:0] result1, result2;
OrParts helper1(.data({a, b}), .result(result1));
wire [15:0] bothInputs;
assign bothInputs = {a, b};
OrParts helper2(.data(bothInputs), .result(result2));
// Expect both result1 and result2 to be equal so...
assign result = result1 & result2;
endmodule
module OrParts(
input wire [15:0] data,
output reg [7:0] result
);
// Update the module input definition since it is assigned in an always block
always @* begin
result = data[15:8] | data[7:0];
end
endmodule