Skip to content

Commit 64bb81c

Browse files
committed
base: read netlist: always assign primary pins
Signed-off-by: Pawel Czarnecki <[email protected]>
1 parent 6c70e3a commit 64bb81c

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

vpr/src/base/read_netlist.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1174,14 +1174,18 @@ static void load_atom_pin_mapping(const ClusteredNetlist& clb_nlist) {
11741174
VTR_ASSERT_MSG(gnode->pb_type->model == atom_ctx.nlist.block_model(blk),
11751175
"Atom block PB must match BLIF model");
11761176

1177+
// Always assign primary pins
1178+
t_pb_graph_pin* pins;
1179+
11771180
for (int iport = 0; iport < gnode->num_input_ports; ++iport) {
11781181
if (gnode->num_input_pins[iport] <= 0) continue;
1182+
pins = gnode->input_pins[iport];
11791183

1180-
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, gnode->input_pins[iport][0].port->model_port);
1184+
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, pins[0].port->model_port);
11811185
if (!port) continue;
11821186

11831187
for (int ipin = 0; ipin < gnode->num_input_pins[iport]; ++ipin) {
1184-
const t_pb_graph_pin* gpin = &gnode->input_pins[iport][ipin];
1188+
const t_pb_graph_pin* gpin = &pins[ipin];
11851189
VTR_ASSERT(gpin);
11861190

11871191
set_atom_pin_mapping(clb_nlist, blk, port, gpin);
@@ -1190,12 +1194,13 @@ static void load_atom_pin_mapping(const ClusteredNetlist& clb_nlist) {
11901194

11911195
for (int iport = 0; iport < gnode->num_output_ports; ++iport) {
11921196
if (gnode->num_output_pins[iport] <= 0) continue;
1197+
pins = gnode->output_pins[iport];
11931198

1194-
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, gnode->output_pins[iport][0].port->model_port);
1199+
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, pins[0].port->model_port);
11951200
if (!port) continue;
11961201

11971202
for (int ipin = 0; ipin < gnode->num_output_pins[iport]; ++ipin) {
1198-
const t_pb_graph_pin* gpin = &gnode->output_pins[iport][ipin];
1203+
const t_pb_graph_pin* gpin = &pins[ipin];
11991204
VTR_ASSERT(gpin);
12001205

12011206
set_atom_pin_mapping(clb_nlist, blk, port, gpin);
@@ -1204,12 +1209,13 @@ static void load_atom_pin_mapping(const ClusteredNetlist& clb_nlist) {
12041209

12051210
for (int iport = 0; iport < gnode->num_clock_ports; ++iport) {
12061211
if (gnode->num_clock_pins[iport] <= 0) continue;
1212+
pins = gnode->clock_pins[iport];
12071213

1208-
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, gnode->clock_pins[iport][0].port->model_port);
1214+
const AtomPortId port = atom_ctx.nlist.find_atom_port(blk, pins[0].port->model_port);
12091215
if (!port) continue;
12101216

12111217
for (int ipin = 0; ipin < gnode->num_clock_pins[iport]; ++ipin) {
1212-
const t_pb_graph_pin* gpin = &gnode->clock_pins[iport][ipin];
1218+
const t_pb_graph_pin* gpin = &pins[ipin];
12131219
VTR_ASSERT(gpin);
12141220

12151221
set_atom_pin_mapping(clb_nlist, blk, port, gpin);

0 commit comments

Comments
 (0)