CIRCT 23.0.0git
Loading...
Searching...
No Matches
Classes | Functions | Variables
esiaccel.codegen.ports Namespace Reference

Classes

class  CppPortGroup
 
class  CppPortKind
 

Functions

CppPortKind cpp_port_kind (_BundlePort port)
 

Variables

 CPP_BUNDLE_KIND
 

Detailed Description

Port-kind strategy table for the C++ module generator.

Centralises everything that varies between the ESI port kinds (function,
callback, to-host / from-host channel, MMIO region, telemetry metric, plain
bundle) into a single `CppPortKind` record per kind plus two pure rendering
functions, so the generator drives every port kind from one table. The
renderers are pure functions of a `CppPortKind`, so they are golden-tested
without a live accelerator.

Function Documentation

◆ cpp_port_kind()

CppPortKind esiaccel.codegen.ports.cpp_port_kind ( _BundlePort  port)
Return the `CppPortKind` describing `port`, or `CPP_BUNDLE_KIND` as fallback.

Definition at line 232 of file ports.py.

Variable Documentation

◆ CPP_BUNDLE_KIND

esiaccel.codegen.ports.CPP_BUNDLE_KIND
Initial value:
1= CppPortKind(service_type=None,
2 find_style="bundle",
3 indexed_find="bundle_addr",
4 param_type="esi::BundlePort &",
5 param_suffix="_port",
6 member_template=None,
7 member_ref="esi::BundlePort &",
8 indexed_elem="esi::BundlePort *",
9 alias_kind=None,
10 connectable=False)

Definition at line 220 of file ports.py.