Valid user error state asserts when it should generate an error report

In the case of attempting to add a local field with a duplicate name (as in, not specifying the field bit interval as well as the register bit interval), this could mean one of two error states:

  • The user has mistakenly added a new field not realising that the name is a duplicate of an existing field, or
  • The user intended to create a discontiguous field and mistakenly neglected to provide the field bit interval information.

Rather than asserting, an exception should be thrown with an error message that disambiguates this state, and references the parent register & module that were affected.