@@ -280,39 +280,6 @@ namespace hal
280
280
:rtype: set[hal_py.Gate] or None
281
281
)" );
282
282
283
- py_netlist_traversal_decorator.def (
284
- " get_next_sequential_gates" ,
285
- [](NetlistTraversalDecorator& self, const Net* net, bool successors, const std::set<PinType>& forbidden_pins, std::unordered_map<const Net*, std::set<Gate*>>* cache)
286
- -> std::optional<std::set<Gate*>> {
287
- auto res = self.get_next_sequential_gates (net, successors, forbidden_pins, cache);
288
- if (res.is_ok ())
289
- {
290
- return res.get ();
291
- }
292
- else
293
- {
294
- log_error (" python_context" , " error encountered while getting next sequential gates:\n {}" , res.get_error ().get ());
295
- return std::nullopt;
296
- }
297
- },
298
- py::arg (" net" ),
299
- py::arg (" successors" ),
300
- py::arg (" forbidden_pins" ),
301
- py::arg (" cache" ),
302
- R"(
303
- Starting from the given net, traverse the netlist and return only the next layer of sequential successor/predecessor gates.
304
- Traverse over gates that are not sequential until a sequential gate is found.
305
- Stop traversal at all sequential gates, but only adds those to the result that have not been reached through a pin of one of the forbidden types.
306
- Provide a cache to speed up traversal when calling this function multiple times on the same netlist using the same forbidden pins.
307
-
308
- :param hal_py.Net net: Start net.
309
- :param bool successors: Set ``True`` to get successors, set ``False`` to get predecessors.
310
- :param set[hal_py.PinType] forbidden_pins: Sequential gates reached through these pins will not be part of the result.
311
- :param dict[hal_py.Net, set[hal_py.Gate]] cache: A cache that can be used for better performance on repeated calls.
312
- :returns: The next sequential gates on success, ``None`` otherwise.
313
- :rtype: set[hal_py.Gate] or None
314
- )" );
315
-
316
283
py_netlist_traversal_decorator.def (
317
284
" get_next_sequential_gates" ,
318
285
[](NetlistTraversalDecorator& self, const Gate* gate, bool successors, const std::set<PinType>& forbidden_pins) -> std::optional<std::set<Gate*>> {
@@ -342,39 +309,6 @@ namespace hal
342
309
:rtype: set[hal_py.Gate] or None
343
310
)" );
344
311
345
- py_netlist_traversal_decorator.def (
346
- " get_next_sequential_gates" ,
347
- [](NetlistTraversalDecorator& self, const Gate* gate, bool successors, const std::set<PinType>& forbidden_pins, std::unordered_map<const Net*, std::set<Gate*>>* cache)
348
- -> std::optional<std::set<Gate*>> {
349
- auto res = self.get_next_sequential_gates (gate, successors, forbidden_pins, cache);
350
- if (res.is_ok ())
351
- {
352
- return res.get ();
353
- }
354
- else
355
- {
356
- log_error (" python_context" , " error encountered while getting next sequential gates:\n {}" , res.get_error ().get ());
357
- return std::nullopt;
358
- }
359
- },
360
- py::arg (" gate" ),
361
- py::arg (" successors" ),
362
- py::arg (" forbidden_pins" ),
363
- py::arg (" cache" ),
364
- R"(
365
- Starting from the given gate, traverse the netlist and return only the next layer of sequential successor/predecessor gates.
366
- Traverse over gates that are not sequential until a sequential gate is found.
367
- Stop traversal at all sequential gates, but only adds those to the result that have not been reached through a pin of one of the forbidden types.
368
- Provide a cache to speed up traversal when calling this function multiple times on the same netlist using the same forbidden pins.
369
-
370
- :param hal_py.Gate gate: Start gate.
371
- :param bool successors: Set ``True`` to get successors, set ``False`` to get predecessors.
372
- :param set[hal_py.PinType] forbidden_pins: Sequential gates reached through these pins will not be part of the result.
373
- :param dict[hal_py.Net, set[hal_py.Gate]] cache: A cache that can be used for better performance on repeated calls.
374
- :returns: The next sequential gates on success, ``None`` otherwise.
375
- :rtype: set[hal_py.Gate] or None
376
- )" );
377
-
378
312
py_netlist_traversal_decorator.def (
379
313
" get_next_sequential_gates_map" ,
380
314
[](NetlistTraversalDecorator& self, bool successors, const std::set<PinType>& forbidden_pins) -> std::optional<std::map<Gate*, std::set<Gate*>>> {
@@ -432,40 +366,6 @@ namespace hal
432
366
:rtype: set[hal_py.Gate] or None
433
367
)" );
434
368
435
- py_netlist_traversal_decorator.def (
436
- " get_next_combinational_gates" ,
437
- [](NetlistTraversalDecorator& self, const Net* net, bool successors, const std::set<PinType>& forbidden_pins, std::unordered_map<const Net*, std::set<Gate*>>* cache)
438
- -> std::optional<std::set<Gate*>> {
439
- auto res = self.get_next_combinational_gates (net, successors, forbidden_pins, cache);
440
- if (res.is_ok ())
441
- {
442
- return res.get ();
443
- }
444
- else
445
- {
446
- log_error (" python_context" , " error encountered while getting next combinational gates:\n {}" , res.get_error ().get ());
447
- return std::nullopt;
448
- }
449
- },
450
- py::arg (" net" ),
451
- py::arg (" successors" ),
452
- py::arg (" forbidden_pins" ),
453
- py::arg (" cache" ),
454
- R"(
455
- Starting from the given net, traverse the netlist and return all combinational successor/predecessor gates.
456
- Continue traversal as long as further combinational gates are found and stop at gates that are not combinational.
457
- All combinational gates found during traversal are added to the result.
458
- Forbidden pins can be provided to, e.g., avoid the inclusion of logic in front of flip-flop control inputs.
459
- Provide a cache to speed up traversal when calling this function multiple times on the same netlist using the same forbidden pins.
460
-
461
- :param hal_py.Net net: Start net.
462
- :param bool successors: Set ``True`` to get successors, set ``False`` to get predecessors.
463
- :param set[hal_py.PinType] forbidden_pins: Netlist traversal stops at these pins.
464
- :param dict[hal_py.Net, set[hal_py.Gate]] cache: A cache that can be used for better performance on repeated calls.
465
- :returns: The next combinational gates on success, ``None`` otherwise.
466
- :rtype: set[hal_py.Gate] or None
467
- )" );
468
-
469
369
py_netlist_traversal_decorator.def (
470
370
" get_next_combinational_gates" ,
471
371
[](NetlistTraversalDecorator& self, const Gate* gate, bool successors, const std::set<PinType>& forbidden_pins) -> std::optional<std::set<Gate*>> {
@@ -495,39 +395,5 @@ namespace hal
495
395
:returns: The next combinational gates on success, ``None`` otherwise.
496
396
:rtype: set[hal_py.Gate] or None
497
397
)" );
498
-
499
- py_netlist_traversal_decorator.def (
500
- " get_next_combinational_gates" ,
501
- [](NetlistTraversalDecorator& self, const Gate* gate, bool successors, const std::set<PinType>& forbidden_pins, std::unordered_map<const Net*, std::set<Gate*>>* cache)
502
- -> std::optional<std::set<Gate*>> {
503
- auto res = self.get_next_combinational_gates (gate, successors, forbidden_pins, cache);
504
- if (res.is_ok ())
505
- {
506
- return res.get ();
507
- }
508
- else
509
- {
510
- log_error (" python_context" , " error encountered while getting next combinational gates:\n {}" , res.get_error ().get ());
511
- return std::nullopt;
512
- }
513
- },
514
- py::arg (" gate" ),
515
- py::arg (" successors" ),
516
- py::arg (" forbidden_pins" ),
517
- py::arg (" cache" ),
518
- R"(
519
- Starting from the given gate, traverse the netlist and return all combinational successor/predecessor gates.
520
- Continue traversal as long as further combinational gates are found and stop at gates that are not combinational.
521
- All combinational gates found during traversal are added to the result.
522
- Forbidden pins can be provided to, e.g., avoid the inclusion of logic in front of flip-flop control inputs.
523
- Provide a cache to speed up traversal when calling this function multiple times on the same netlist using the same forbidden pins.
524
-
525
- :param hal_py.Gate gate: Start gate.
526
- :param bool successors: Set ``True`` to get successors, set ``False`` to get predecessors.
527
- :param set[hal_py.PinType] forbidden_pins: Netlist traversal stops at these pins.
528
- :param dict[hal_py.Net, set[hal_py.Gate]] cache: A cache that can be used for better performance on repeated calls.
529
- :returns: The next combinational gates on success, ``None`` otherwise.
530
- :rtype: set[hal_py.Gate] or None
531
- )" );
532
398
}
533
399
} // namespace hal
0 commit comments