@@ -325,7 +325,6 @@ def enter_Field(self, node: FieldNode) -> None:
325
325
326
326
this_f_hw = node .get_property ('hw' )
327
327
this_f_sw = node .get_property ('sw' )
328
- parent_accesswidth = node .parent .get_property ('accesswidth' )
329
328
parent_regwidth = node .parent .get_property ('regwidth' )
330
329
331
330
# hw property values of w1 or rw1 don't make sense
@@ -402,23 +401,6 @@ def enter_Field(self, node: FieldNode) -> None:
402
401
node .inst .inst_src_ref
403
402
)
404
403
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
-
422
404
# Optional warning if a field is missing a reset assignment
423
405
if node .env .chk_missing_reset :
424
406
# Implements storage but was never assigned a reset
0 commit comments