Bus functional model
A bus functional model (BFM), also known as a transaction verification model (TVM) is a non-synthesizable software model of an integrated circuit component having one or more external buses. The emphasis of the model is on simulating system bus transactions prior to building and testing the actual hardware. BFMs are usually defined as tasks in Hardware description languages (HDLs), which apply stimuli to the design under verification via complex waveforms and protocols. A BFM is typically implemented using hardware description languages such as Verilog, VHDL, SystemC, or SystemVerilog.
Typically, BFMs offer a two-sided interface: One interface side drives and samples low-level signals according to the bus protocol. On its other side, tasks are available to create and respond to bus transactions. BFMs are often used as reusable building blocks to create simulation test benches, in which the bus interface ports of a design under test are connected to appropriate BFMs.
Another common application of BFMs is the provision of substitute models for IP components: Instead of a netlist or RTL design of an IP component, a 3rd party IP supplier might provide only a BFM suitable for verification purposes. The actual IP component in the form of a gate-level netlist can be directly provided to the foundry by the IP provider.
In the past, BFM were treated as a non-synthesizable entity, however recently BFMs are becoming available as synthesizable models as well.
01Transaction verification models
BFMs are sometimes referred to as TVMs or Transaction Verification Models. This is to emphasize that bus operations of the model have been bundled into atomic bus transactions to make it easier to issue and view bus transactions. Visualizations of the bus transactions modeled by TVMs are similar to the output of a protocol analyzer or bus sniffer.
Sources and credits
This article is adapted from the Wikipedia article “Bus functional model”, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.
Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.