In reply to Jung Ik Moon:
You can create a package for all the blocks, or create a package for each block. It does not matter if you define a register block but do not use it.
package BlocksABC;
- Block A
- Register a
- Block B
- Register b
- Block C
- Register C
endpackage
package IP_ABC;
import BlocksABC::*:
-BlockABC
-instantiate A
-instantiate B
-instantiate C
endpackage
package IP_A;
import BlocksABC::*:
-instatiate A
endpackage