In reply to manning999:
I guess your BFM are modelled as modules. SV interfaces behave more or less in the same way as modules do (with a few limitations). The main limitation is you cannot instantiate a module in an interface. But I believe your BFMs are not hierarchical. The key thing is you can implement in interfaces functions and task which can be provided to other blocks connected to. And you don’t have to parameterize if there is no need, but you can pass parameters through the hierarchy using the config_db. Wherea re the problems? Could you please elaborate a little bit more on them?