You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Author Name: Rawdon Taylor
Original Redmine Issue: 637 from https://www.veripool.org
Original Date: 2013-04-11
Original Assignee: Wilson Snyder (@wsnyder)
When a sub-module has a port which is an array, AUTOINST does not handle connections to the array port properly. The other AUTO functions correctly handle the array attribute, but AUTOINST inserts syntax errors by trying to refer to the port by its width.
Sample code:
module submod_a (
//Inputs
input wire signed [15:0] serial_in,
//Outputs
output wire signed [15:0] parallel_out [0:7]
);
endmodule
module submod_b (
//Inputs
input wire signed [15:0] parallel_out [0:7],
//Outputs
output wire signed [15:0] final_out [0:7]
);
endmodule
module top (
/*AUTOINPUT*/
// Beginning of automatic inputs (from unused autoinst inputs)
input logic signed [15:0] serial_in, // To a_inst of submod_a.v
// End of automatics
/*AUTOOUTPUT*/
// Beginning of automatic outputs (from unused autoinst outputs)
output logic signed [15:0] final_out [0:7]// From b_inst of submod_b.v
// End of automatics
);
/*AUTOLOGIC*/
// Beginning of automatic wires (for undeclared instantiated-module outputs)
logic signed [15:0] parallel_out [0:7]; // From a_inst of submod_a.v
// End of automatics
submod_a a_inst (/*AUTOINST*/
// Outputs
.parallel_out (parallel_out[15:0]),
// Inputs
.serial_in (serial_in[15:0]));
submod_b b_inst (/*AUTOINST*/
// Outputs
.final_out (final_out[15:0]),
// Inputs
.parallel_out (parallel_out[15:0]));
endmodule
I expected the instances in top to look like this:
Original Redmine Comment
Author Name: Wilson Snyder (@wsnyder)
Original Date: 2013-04-29T00:20:00Z
Hmm, yes. I have a simple fix that does OK, but there are other issues. Ideally some of the code should be refactored to understand multidimensional packed and unpacked arrays too which would fix this in a much better way. Let me see how hard that will be.
Author Name: Rawdon Taylor
Original Redmine Issue: 637 from https://www.veripool.org
Original Date: 2013-04-11
Original Assignee: Wilson Snyder (@wsnyder)
When a sub-module has a port which is an array, AUTOINST does not handle connections to the array port properly. The other AUTO functions correctly handle the array attribute, but AUTOINST inserts syntax errors by trying to refer to the port by its width.
Sample code:
I expected the instances in top to look like this:
The text was updated successfully, but these errors were encountered: