SystemRDL / PeakRDL-cheader

GNU General Public License v3.0
9 stars 11 forks source link

Problem with using multiple cheaders which share imported regfiles #8

Open AlexLao512 opened 9 months ago

AlexLao512 commented 9 months ago

We are running into a problem that is exposed when we export a bunch of headers for bus slaves that all have a common regfile. If we export an entire bus structures register map as a single header, it is not a problem because the common regfile struct has a _ tacked on as a post-fix.

Essentially what we have is a bunch of registers that's are the same for every one of our custom bus slaves. These are for slave identification at runtime, cross-checking version codes for SW/HW API compatibility, etc.

We import this regfile from a different .rdl file and instance the regfile at address 0 of every bus slave.

The problem occurs when I export individual headers for each bus slave. I cannot include several of these headers in a single C project due to the name collision of the identical structs generated for each slave in each header.

I don't know a good way of fixing this. Maybe we can have a command line argument for generating all included regfiles as a seperate .h file?