Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
A BFM simply models the bus interface of some unit, it does not contain the RTL or gate level specifics of the unit’s internal workings. The purpose of a BFM is to gain simulation speed, ease of use, and ease of creation.
A bus functional model usually consists of a limited functionality required to test your design. They can mimic bus cycles, interrupt cycles, even complex sequences depending on your test requirements. Since you won't synthesize it, you only use behavioural modeling. Even C language can be used by using PLI. They are only instantiated in test benches. Attached is a text I found on internet on the subject.