Skip to content

Commit 8ea75c8

Browse files
committed
Attempting to fix tail slice output connections
1 parent 6f2f206 commit 8ea75c8

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

parmys/parmys-plugin/core/subtractor.cc

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -570,25 +570,28 @@ void split_adder_for_sub(nnode_t *nodeo, int a, int b, int sizea, int sizeb, int
570570
// add_output_pin_to_node(nodeo, p, nodeo->num_output_pins - 1);
571571
// nodeo->output_pins[nodeo->num_output_pins - 1] = p;
572572
//}
573-
573+
// int W = nodeo->num_output_pins - 1;
574+
// int sums_mapped = 0;
574575
if (count > 1 || configuration.adder_cin_global) {
575576
// remap the output pins of each adder to nodeo
576-
for (int i = offset; i < count; i++) {
577+
for (int i = offset; i < count - 1; i++) {
577578
for (int j = 0; j < node[i]->num_output_pins - 1; j++) {
578-
if ((i * sizea + j - offset) < nodeo->num_output_pins)
579+
if ((i * sizea + j - offset) < nodeo->num_output_pins-1){
579580
remap_pin_to_new_node(nodeo->output_pins[i * sizea + j - offset], node[i], j + 1);
581+
}
580582
else {
581583
node[i]->output_pins[j + 1] = allocate_npin();
582584
// Pad outputs with a unique and descriptive name to avoid collisions.
583585
node[i]->output_pins[j + 1]->name = append_string("", "%s~dummy_output~%d~%d", node[i]->name, i, j + 2);
584586
}
585587
}
586588
}
589+
remap_pin_to_new_node(nodeo->output_pins[nodeo->num_output_pins - 1], node[count - 1], 0);
587590
}
588-
node[count - 1]->output_pins[0] = allocate_npin();
591+
//node[count - 1]->output_pins[1] = allocate_npin();
589592
//printf("Net of tail node: %s\n", node[5]->output_pins[1]->net);
590-
std::cout << "TESTING " << node[5]->output_pins[1]->net->fanout_pins << "\n";
591-
std::cout << "TESTING " << node[3]->output_pins[1]->net->fanout_pins << "\n";
593+
//std::cout << "TESTING " << node[5]->output_pins[1]->net->fanout_pins << "\n";
594+
//std::cout << "TESTING " << node[3]->output_pins[1]->net->fanout_pins << "\n";
592595
//remap_pin_to_new_node(nodeo->output_pins[nodeo->num_output_pins - 1], node[count - 1], 0);
593596
// Pad outputs with a unique and descriptive name to avoid collisions.
594597
//node[count - 1]->output_pins[0]->name = append_string("", "%s~dummy_output~%d~%d", node[(count - 1)]->name, (count - 1), 0);

0 commit comments

Comments
 (0)