File tree 1 file changed +7
-7
lines changed 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change @@ -331,15 +331,13 @@ void TimingGraph::force_levelize() {
331
331
// placed in a previous level (indicating that the node goes in the current level)
332
332
//
333
333
// Also initialize the first level (nodes with no fanin)
334
- //
335
- // Note: We consider *all* edges, even those marked as disabled by timing constraints.
336
- // This produces a valid levelization which is independent of the timing constraints,
337
- // and which avoids some potential issues. For instance, treating an internal node with
338
- // all disabled input edges from being treated as a primary input.
339
334
std::vector<int > node_fanin_remaining (nodes ().size ());
340
335
for (NodeId node_id : nodes ()) {
341
- size_t node_fanin = node_in_edges (node_id).size ();
342
-
336
+ size_t node_fanin = 0 ;
337
+ for (EdgeId edge : node_in_edges (node_id)) {
338
+ if (edge_disabled (edge)) continue ;
339
+ ++node_fanin;
340
+ }
343
341
node_fanin_remaining[size_t (node_id)] = node_fanin;
344
342
345
343
// Initialize the first level
@@ -371,6 +369,8 @@ void TimingGraph::force_levelize() {
371
369
for (const NodeId node_id : level_nodes_[LevelId (level_idx)]) {
372
370
// Inspect the fanout
373
371
for (EdgeId edge_id : node_out_edges (node_id)) {
372
+ if (edge_disabled (edge_id)) continue ;
373
+
374
374
NodeId sink_node = edge_sink_node (edge_id);
375
375
376
376
// Decrement the fanin count
You can’t perform that action at this time.
0 commit comments