SystemRDL / PeakRDL-ipxact

Import and export IP-XACT XML register models
http://peakrdl-ipxact.readthedocs.io
GNU General Public License v3.0
33 stars 12 forks source link

IPXACT parse hdl paths #14

Open markcohen32 opened 1 year ago

markcohen32 commented 1 year ago

Hi,

What IPXACT xml tag is mapped to the hdl_path of a component? For example, I have an IPXACT file that one of its field supposed to have hdl_path, which is described in "pathSements" field, but the compiler doesn't seem to support it.

amykyta3 commented 1 year ago

The IP-XACT importer does not currently support ipxact:pathSegments tags, nor does it import any information into RDL's hdl_path

After reviewing the IP-XACT spec in a bit more detail, I think it may be difficult to add meaningful importer support for this. IP-XACT seems to do a much better job in capturing the semantics of HDL paths with its variety of accessHandle variants (support for indexing, arbitrary number of path views, etc). When importing, I would have to transcribe to RDL semantics which are pretty poorly designed when it comes to HDL paths.

SystemRDL spec authors did a really poor job of defining how HDL paths work to the point of them being almost useless. There is no sensible way to do path indexing, they limit to only two path views (RTL and gates), and the specification for the hdl_path_slice property is outright broken.

This means that if I were to add importer support, I suspect it would only work properly for a very narrow subset of IP-XACT features, rendering it pretty crippled. I suppose I could add support for simple cases, but it would be difficult to support the indexedAccessHandle tag which is basically essential any time arrays are used.

MarinaQT commented 1 year ago

Hello All

supporting the basic hdl_path specification from IP-XACT into RDL would already be very helpful! Cause currently adding this translation with additional scripting on the top of peakrdl commands. And believe we are not the only ones that could use this basic translation.