Best Interface Sharing Technique between IP/Sub-System and SOC Flows?

In reply to chr_sue:

@Chris : Thanks for responding back.

  1. IP/Sub-System level interface will be very-well used @ the SOC.
  2. But mainly looking for techniques where we can smoothly re-use the instantiation / provide API’s for the SOC so that just instancing or calling them does the required interface instance [apart from the required static with virtual interfcae binding].

I am looking for generic/general best way to plan/define the interface @ the IP level TB/ENV which can be re-used @ the SOC. Kindly share your experience !