Export master interface address widths in package parameters (#16)
* Initial plan * Add master address width parameters to exported package Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: arnavsacheti <36746504+arnavsacheti@users.noreply.github.com>
This commit is contained in:
@@ -17,6 +17,7 @@ from .identifier_filter import kw_filter as kwf
|
||||
from .listener import BusDecoderListener
|
||||
from .struct_gen import StructGenerator
|
||||
from .sv_int import SVInt
|
||||
from .utils import clog2
|
||||
from .validate_design import DesignValidator
|
||||
|
||||
|
||||
@@ -60,6 +61,7 @@ class BusDecoderExporter:
|
||||
)
|
||||
self.jj_env.filters["kwf"] = kwf # type: ignore
|
||||
self.jj_env.filters["walk"] = self.walk # type: ignore
|
||||
self.jj_env.filters["clog2"] = clog2 # type: ignore
|
||||
|
||||
def export(self, node: RootNode | AddrmapNode, output_dir: str, **kwargs: Unpack[ExporterKwargs]) -> None:
|
||||
"""
|
||||
|
||||
@@ -14,5 +14,8 @@ package {{ds.package_name}};
|
||||
localparam {{ds.module_name.upper()}}_DATA_WIDTH = {{ds.cpuif_data_width}};
|
||||
localparam {{ds.module_name.upper()}}_MIN_ADDR_WIDTH = {{ds.addr_width}};
|
||||
localparam {{ds.module_name.upper()}}_SIZE = {{SVInt(ds.top_node.size)}};
|
||||
{%- for child in cpuif.addressable_children %}
|
||||
localparam {{ds.module_name.upper()}}_{{child.inst_name.upper()}}_ADDR_WIDTH = {{child.size|clog2}};
|
||||
{%- endfor %}
|
||||
endpackage
|
||||
{# (eof newline anchor) #}
|
||||
|
||||
Reference in New Issue
Block a user