Origen-SDK / o2

MIT License
4 stars 0 forks source link

Add full IP-XACT list of register/bit access types #29

Open chrishume opened 4 years ago

chrishume commented 4 years ago

Basically expand what's there already (RO, RW, WO, WONCE, RWONCE) to support the full list of access types that IP-XACT supports (20-something, IIRC).

I'll be glad to do the work for this, as I did it on O1.

ginty commented 4 years ago

Agreed, and in fact I think our goal should be that they are all modeled behaviorally too.

chrishume commented 4 years ago

I think I did what was necessary to model them behaviorally on O1, but I don't know if I spec tested it. I'll make sure they're modeled correctly on O2 and backfill to O1 if they're not already functional.

info-rchitect commented 4 years ago

Why does the register use a different access nomenclature than the bit field?

          <spirit:access>read-write</spirit:access>
          <spirit:reset>
            <spirit:value>0x8000</spirit:value>
            <spirit:mask>0xFFFFFFFF</spirit:mask>
          </spirit:reset>
          <spirit:field>
            <spirit:name>second_bit</spirit:name>
            <spirit:description></spirit:description>
            <spirit:bitOffset>14</spirit:bitOffset>
            <spirit:bitWidth>1</spirit:bitWidth>
            <spirit:access>rw</spirit:access>
chrishume commented 4 years ago

I believe it's because the register isaa conglomeration of different bit field access types. A register can qualify as ReadWrite because it contains a mix of ReadOnly and WriteOnly bits.

On Tue, Dec 31, 2019, 10:24 AM info-rchitect notifications@github.com wrote:

Why does the register use a different access nomenclature than the bit field?

      <spirit:access>read-write</spirit:access>
      <spirit:reset>
        <spirit:value>0x8000</spirit:value>
        <spirit:mask>0xFFFFFFFF</spirit:mask>
      </spirit:reset>
      <spirit:field>
        <spirit:name>second_bit</spirit:name>
        <spirit:description></spirit:description>
        <spirit:bitOffset>14</spirit:bitOffset>
        <spirit:bitWidth>1</spirit:bitWidth>
        <spirit:access>rw</spirit:access>

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Origen-SDK/o2/issues/29?email_source=notifications&email_token=ADJFOPFAX7DJ3KKH5IUD3X3Q3NW35A5CNFSM4J36E4Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH4M4RQ#issuecomment-569953862, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADJFOPG625TACZUHXFYTMWDQ3NW35ANCNFSM4J36E4YQ .

info-rchitect commented 4 years ago

I believe it's because the register isaa conglomeration of different bit field access types. A register can qualify as ReadWrite because it contains a mix of ReadOnly and WriteOnly bits. …

Thx Chris. I guess I just wondered why it didn't use rw?