| `default_nettype none |
| |
| module Device( |
| input logic [7:0] a, b, |
| output logic [7:0] result |
| ); |
| |
| logic [7:0] result1, result2; |
| |
| OrParts helper1(.data({a, b}), .result(result1)); |
| |
| logic [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 logic [15:0] data, |
| output logic [7:0] result |
| ); |
| |
| always_comb begin |
| result = data[15:8] | data[7:0]; |
| end |
| |
| endmodule |