IP-XACT has a standard method for capturing register information. Including coping with having one field determine how to parse other fields in other registers.
UVM seq-items have `uvm_fields, but these have some problems, including:
1) in large seq-items, hitting maximum macro length in chars - this requires removing fields or options or whitespace.
2) It appears that the `uvm fields consume runtime every time an object is created.
3) no way to go from human-readable documentation to a list of registers with clear pack/unpack.
I would like to propose vendor extensions in IP-XACT for UVM seq-items, so that:
1) human-readable documentation can be generated.
2) source-code can be generated for packing/unpacking seq-items (C, SV, SV+UVM, Python, and lab-debug tools)
3) functional-coverage requirements could be captured in IP-XACT and functional-coverage code could be generated
4) requirements could be captured and then output could be generated into formats suitable for
a) Formal verification
simulation-based assertions
c) post-processing and analyzing data collected in the lab.
5) UVM agents/monitors could be generated.
Given that this is a 'green-fields' situation there is no reason why IP-XACT vendor extensions could not fully support all concepts in UVM in a user-friendly manner.
This would also close a gap in IP-XACT, so that it is easier for IP-vendors to completely document how they generate (or expect) traffic, so users can verify pre-purchase if the IPs are compatible.