There will never be two modules that need to write the same bit at the same time (hence the merged A/B write), however one module may write it and another module may read it. This is in addition to read access via the "external" interface to my core.
There will never be two modules that need to write the same bit at the same time (hence the merged A/B write), however one module may write it and another module may read it. This is in addition to read access via the "external" interface to my core.
I see that for the size of memories, the width of buses, etc. putting values in parameters allows instantiation of different copies of module with different settings, so maybe the number of registers is a special case and can be a parameter, but considering my aim of describing bits in one place how would you recommend I do this without defines?
Many thanks for all your help ads-ee! I have decided to go with the trickle-down parameters like you suggested. I already have a basic version implemented.