sv2v/test/relong/port_connections.v

50 lines
921 B
Verilog

`default_nettype none
module Device(
input wire [31:0] data,
output wire parity
);
wire [3:0] partParity;
Helper bottom(data[7:0], partParity[0]);
Helper bottomMid(.parity(partParity[1]), .data(data[15:8]));
Wrapper1 topMid(.data(data[23:16]), .parity(partParity[2]));
Wrapper2 top(.data(data[31:24]), .parity1(partParity[3]));
assign parity = ^partParity;
endmodule
module Helper(
input wire [7:0] data,
output wire parity
);
// This is a bit-wise reduction operator
assign parity = ^data;
endmodule
module Wrapper1(
input wire [7:0] data,
output wire parity
);
// Expand .* from SystemVerilog
Helper doTheRightThingMode(.data(data), .parity(parity));
endmodule
module Wrapper2(
input wire [7:0] data,
output wire parity1
);
// Expand .data from SystemVerilog
Helper compilerSaveMe(.data(data), .parity(parity1));
endmodule