Skip to content

Commit 7b6c549

Browse files
committed
Removed check 10.6.1-f
1 parent 3b341c7 commit 7b6c549

File tree

2 files changed

+0
-18
lines changed

2 files changed

+0
-18
lines changed

docs/dev_notes/semantic_checks.ods

23.2 KB
Binary file not shown.

systemrdl/core/validate.py

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,6 @@ def enter_Field(self, node: FieldNode) -> None:
325325

326326
this_f_hw = node.get_property('hw')
327327
this_f_sw = node.get_property('sw')
328-
parent_accesswidth = node.parent.get_property('accesswidth')
329328
parent_regwidth = node.parent.get_property('regwidth')
330329

331330
# hw property values of w1 or rw1 don't make sense
@@ -402,23 +401,6 @@ def enter_Field(self, node: FieldNode) -> None:
402401
node.inst.inst_src_ref
403402
)
404403

405-
# 10.6.1-f: Any field that is software-writable or clear on read shall
406-
# not span multiple software accessible sub-words (e.g., a 64-bit
407-
# register with a 32-bit access width may not have a writable field with
408-
# bits in both the upper and lower half of the register).
409-
#
410-
# Interpreting this further - this rule applies any time a field is
411-
# software-modifiable by any means, including rclr, rset, ruser
412-
if ((parent_accesswidth < parent_regwidth)
413-
and (node.lsb // parent_accesswidth) != (node.msb // parent_accesswidth)
414-
and (node.is_sw_writable or node.get_property('onread') is not None)):
415-
# Field spans across sub-words
416-
self.msg.error(
417-
"Software-modifiable field '%s' shall not span multiple software-accessible subwords."
418-
% node.inst_name,
419-
node.inst.inst_src_ref
420-
)
421-
422404
# Optional warning if a field is missing a reset assignment
423405
if node.env.chk_missing_reset:
424406
# Implements storage but was never assigned a reset

0 commit comments

Comments
 (0)