From cf2be63c20f5e000d7e55bd35ff97a25a448288c Mon Sep 17 00:00:00 2001 From: Aylon Chaim Porat Date: Wed, 20 Mar 2024 17:37:52 -0400 Subject: [PATCH] read_buffering & write_buffering: `get_trigger`'s `accesswidth` and `regwidth` should be taken from `trigger` when `trigger` is of `RegNode` type, not from `node` --- src/peakrdl_regblock/read_buffering/__init__.py | 4 ++-- src/peakrdl_regblock/write_buffering/__init__.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/peakrdl_regblock/read_buffering/__init__.py b/src/peakrdl_regblock/read_buffering/__init__.py index 63af6ed..65ccc94 100644 --- a/src/peakrdl_regblock/read_buffering/__init__.py +++ b/src/peakrdl_regblock/read_buffering/__init__.py @@ -37,8 +37,8 @@ def get_trigger(self, node: RegNode) -> str: if isinstance(trigger, RegNode): # Trigger is a register. # trigger when lowermost address of the register is written - regwidth = node.get_property('regwidth') - accesswidth = node.get_property('accesswidth') + regwidth = trigger.get_property('regwidth') + accesswidth = trigger.get_property('accesswidth') strb_prefix = self.exp.dereferencer.get_access_strobe(trigger, reduce_substrobes=False) if accesswidth < regwidth: diff --git a/src/peakrdl_regblock/write_buffering/__init__.py b/src/peakrdl_regblock/write_buffering/__init__.py index 3efb0f8..a03ddcb 100644 --- a/src/peakrdl_regblock/write_buffering/__init__.py +++ b/src/peakrdl_regblock/write_buffering/__init__.py @@ -49,8 +49,8 @@ def get_raw_trigger(self, node: 'RegNode') -> Union[SVInt, str]: if isinstance(trigger, RegNode): # Trigger is a register. # trigger when uppermost address of the register is written - regwidth = node.get_property('regwidth') - accesswidth = node.get_property('accesswidth') + regwidth = trigger.get_property('regwidth') + accesswidth = trigger.get_property('accesswidth') strb_prefix = self.exp.dereferencer.get_access_strobe(trigger, reduce_substrobes=False) if accesswidth < regwidth: