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.
regards
BTW, is there anyone willing to make the .dll for me ?
Since I do not have the Visual C environment.
-----------------------------------------------------------------
Compilation by Visual C:
> cl -c -I<install_dir>\modeltech\include uc8051.c
> link -dll uc8051.obj <install_dir>\modeltech\win32\mtipli.lib
Hi,
BFM's are transactors with transaction interface on one side and physical level interface on other side.
or simply they are transactors which take some information from one level ,do some processing on it and send it to other level(which should be the pin level interface).