From ac3f466fb2d978ef3d56ed48a213e3969aba29df Mon Sep 17 00:00:00 2001 From: Alex Mykyta Date: Mon, 12 Jun 2023 22:05:03 -0700 Subject: [PATCH] Fix oversized address width calculation edge case. #46 --- src/peakrdl_regblock/exporter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/peakrdl_regblock/exporter.py b/src/peakrdl_regblock/exporter.py index 5846f5d..67977d2 100644 --- a/src/peakrdl_regblock/exporter.py +++ b/src/peakrdl_regblock/exporter.py @@ -253,7 +253,7 @@ def __init__(self, top_node: AddrmapNode, kwargs: Any) -> None: #------------------------ - self.addr_width = self.top_node.size.bit_length() + self.addr_width = (self.top_node.size - 1).bit_length() if user_addr_width is not None: if user_addr_width < self.addr_width: msg.fatal(f"User-specified address width shall be greater than or equal to {self.addr_width}.")