I understand the concept of netgroups between blocks as long as they are all the same nets. i.e. We create one netgroup and all the blocks has a netgroup aware port and connected together with a netgroup bus.
But what about different nets to each block? I have a hierarchical block for an SPI device duplicated twice (device A & device B), each block has a netgroup port SPI_BUS with four signals clk, miso, mosi, and cs. I also have two blocks with SPI masters that also use SPI_BUS netgroup ports. I want to connect master block A to device block A, and master block B to device block B.
If I just put down a SPI_BUS netgroup bus between the master and device, block A and block B end up all being the same nets. I can keep the nets separate if I create two unique netgroups SPI1 and SPI2 with the same signals as SPI_BUS then connect SPI1 between the A blocks and SPI2 to the B blocks. I don't have to change the ports on the blocks, just draw the bus with the new netgroups.
Is this the right way to use netgroups and hierarchical blocks? If I need to duplicate this four more times, that means I would need to create four more uniquely named netgroups.
Should I use unnamed netgroups in this case?
This seems to get complicated fast since I have another hierarchical block that must be duplicated 8 times and the netgroup has 25 signals.
Thanks,
Bryan