Skip to content

Releases: SystemRDL/systemrdl-compiler

1.25.5

09 Apr 05:20
Compare
Choose a tag to compare

Bug Fixes:

  • Do not warn about missing reset on virtual fields. This is usually intentional.
  • Fix numerous issues with array & struct UDPs that contain references. Includes fix for #161, and other related issues.
  • Fix incorrect reference returned for property refs in array. #164
  • Implement proper check for illegal component references embedded in aggregate datatypes in parameters. #114

1.25.4

09 Mar 07:03
Compare
Choose a tag to compare

Bug Fixes:

  • Remove overly-strict validation check on fields with access policy sw=w; hw=na;. #155

1.25.3

12 Jan 04:29
Compare
Choose a tag to compare

Bug Fixes:

  • Fix bug when processing UDPs that use an array type. #147

1.25.2

04 Jan 06:56
Compare
Choose a tag to compare

Updates:

  • Add pre-built binary distributions for Python 3.11
  • Throw error if memory's width is not able to be determined. #146
  • Fix missing check for address alignment. #141

1.25.1

25 Oct 04:52
Compare
Choose a tag to compare

Bug Fixes:

  • Fix unintended behavior of a soft UDP's unassigned default value.
  • If UDP is not assigned a value, rather than ignoring the assignment, assign a NoValue token to it. (spec 15.2.1-c)

1.25.0

18 Oct 05:36
Compare
Choose a tag to compare

New features

  • UserEnum is now pickleable.
  • Upgrade to Antlr 4.11.1 runtime
  • Rework compiler's UDP preregistration API

Bug Fixes

  • Fix ability to define and instantiate signals inside fields. (#131)

1.24.0

08 Sep 04:29
Compare
Choose a tag to compare

New features

  • Add more formalized UserEnum.define_new() factory method for use in importers
  • Add explicit UserStruct.type_name property.
  • UserStruct is now pickleable.

Bug Fixes

  • Fix missing error detection if extraneous input is passed to RDLCompiler.expr()
  • Rework UserEnum to remove member name restrictions(#130)
  • Fix invalid importer identifier check regex.
  • Fix UserStruct so RDL inheritance is also represented in Python class inheritance.

1.23.0

17 Mar 04:39
Compare
Choose a tag to compare

New Features

  • Add numerous Node methods and properties to make working with aliases easier:
    • RegNode.is_alias
    • RegNode.alias_primary
    • RegNode.has_aliases
    • RegNode.aliases
    • FieldNode.is_alias
    • FieldNode.alias_primary
    • FieldNode.has_aliases
    • FieldNode.aliases
  • FieldNode.implements_storage now accounts for aliases:
    • Fields inside an alias register never implement storage
    • A field inside a primary register may inherit additional access modes indirectly from its aliases, and therefore end up implementing storage.
  • Enhance walker so that listener callbacks can control walker traversal. Listener callbacks can now optionally return a systemrdl.WalkerAction enumeration to direct how walker should continue.

New Validation

  • Numerous rule checks added to check consistency of alias registers and their contents.

Bug Fixes

  • Fix elaboration so alias registers inherit primary instance's internal/external type. #123

1.22.0

21 Jan 06:25
Compare
Choose a tag to compare

New Features

  • Add RegNode.is_interrupt_reg
  • Add RegNode.is_halt_reg
  • Include offending text in "illegal name" import exceptions
  • FieldNode.implements_storage now returns True for counters, interrupts, and sticky/stickybit fields

New Validation

  • Enforce that next property requires field to be hw writable.
  • Add check for conflicting edge-sensitive interrupt that uses whole-field sticky property.
  • Add check for conflicting sticky/stickybit with we/wel properties
  • A field that uses sticky/stickybit properties shall be hw writable
  • Illegal to use enable/mask/haltenable/haltmask on non-interrupt fields
  • Value of incrwidth/decrwidth shall be between 1 and the width of the counter
  • Use of overflow/underflow is pointless on counters that saturate. Emit error.

Bug Fixes

  • Fix intr type to return None for non-interrupt fields
  • Fix uncaught error if local property assignment is attempted in the root namespace

1.21.0

09 Dec 04:12
Compare
Choose a tag to compare

New Features

  • Upgrade to Antlr 4.9.3
  • Add FieldNode.is_up_counter and FieldNode.is_down_counter
  • Add PropertyReference.width
  • Add MemNode.is_sw_readable and MemNode.is_sw_writable (#115)
  • Add skip_top option to RDLWalker.walk() method

New Validation

  • Improve validation of counter properties
  • Add validation of property reference widths
  • Require that signals used in resets shall have activehigh/activelow specified
  • Flag illegal rclr/rset/woclr/woset properties if field is not readable/writable

Bug Fixes

  • Fix default return value for incrvalue/decrvalue
  • Fix incorrect validation of incrvalue/decrvalue reference widths
  • Fix incorrect spelling of decrsaturate/decrthreshold RHS property references (was previously decsaturate/decthreshold!)