Remove dangerous usage of non-public parts of the systemrdl-compiler API

This commit is contained in:
Alex Mykyta
2025-11-15 12:23:39 -08:00
parent 610351d169
commit 7f572e05a4
4 changed files with 5 additions and 9 deletions

View File

@@ -7,7 +7,7 @@ name = "peakrdl-regblock"
dynamic = ["version"]
requires-python = ">=3.7"
dependencies = [
"systemrdl-compiler ~= 1.30",
"systemrdl-compiler ~= 1.31",
"Jinja2 >= 2.11",
]

View File

@@ -1,6 +1,5 @@
from typing import TYPE_CHECKING
from systemrdl.component import Reg
from systemrdl.node import RegNode
from ..forloop_generator import RDLForLoopGenerator
@@ -20,7 +19,6 @@ class RBufLogicGenerator(RDLForLoopGenerator):
def enter_Reg(self, node: RegNode) -> None:
super().enter_Reg(node)
assert isinstance(node.inst, Reg)
if not node.get_property('buffer_reads') or node.external:
return

View File

@@ -25,8 +25,8 @@ class xBufferTrigger(UDPDefinition):
self.msg.error(
"%s '%s' references %s '%s' but its width is not 1"
% (
type(node.inst).__name__.lower(), node.inst_name,
type(value.inst).__name__.lower(), value.inst_name
node.component_type_name, node.inst_name,
value.component_type_name, value.inst_name
),
self.get_src_ref(node)
)
@@ -44,7 +44,7 @@ class xBufferTrigger(UDPDefinition):
self.msg.error(
"%s '%s' references property '%s->%s' but its width is not 1"
% (
type(node.inst).__name__.lower(), node.inst_name,
node.component_type_name, node.inst_name,
value.node.inst_name, value.name,
),
self.get_src_ref(node)
@@ -59,7 +59,7 @@ class xBufferTrigger(UDPDefinition):
# All other reference types are invalid
self.msg.error(
"Reference to a %s component is incompatible with the '%s' property."
% (type(node.inst).__name__.lower(), self.name),
% (node.component_type_name, self.name),
self.get_src_ref(node)
)

View File

@@ -1,7 +1,6 @@
from typing import TYPE_CHECKING
from collections import namedtuple
from systemrdl.component import Reg
from systemrdl.node import RegNode
from ..forloop_generator import RDLForLoopGenerator
@@ -21,7 +20,6 @@ class WBufLogicGenerator(RDLForLoopGenerator):
def enter_Reg(self, node: 'RegNode') -> None:
super().enter_Reg(node)
assert isinstance(node.inst, Reg)
if not node.get_property('buffer_writes') or node.external:
return