I am currently trying to parse the system.hwh file that is exported in the .hdf container from Vivado. I just would like to find some Xilinx documentation on the format of such a file.
Why? We build MPSoCs and one of the things I would like to detect is how many processors from a non-SDK compilation flow.
(Assuming I have a tcl script to build said platforms in vivado) Sure, I can have a tcl script write this number to a file but this is not the only thing I would like to retrieve.
If no such documentation exists, does anyone know what is the difference between MODCLASS and IPTYPE for this line in the system.hwh file (or similar xml file):
<MODULE FULLNAME="/microblaze_0" HWVERSION="9.3" INSTANCE="microblaze_0" IPTYPE="PROCESSOR" IS_ENABLE="1" MODCLASS="PROCESSOR" MODTYPE="microblaze" PROCTYPE="microblaze" VLNV="xilinx.com:ip:microblaze:9.3">
Looking at another module such as a bram controller, it seems the more coarse grained field is the IPTYPE and is what I should be looking at to distinguish processors from other non-processor modules:
<MODULE FULLNAME="/microblaze_0_local_memory/dlmb_bram_if_cntlr" HWVERSION="4.0" INSTANCE="microblaze_0_local_memory_dlmb_bram_if_cntlr" IPTYPE="PERIPHERAL" IS_ENABLE="1" MODCLASS="MEMORY_CNTLR" MODTYPE="lmb_bram_if_cntlr" VLNV="xilinx.com:ip:lmb_bram_if_cntlr:4.0">