Bus functional model
software model of an integrated circuit component

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.
This brief starts where responsible research should: with the source description of “Bus functional model” as software model of an integrated circuit component. Everything that follows is an evidence route, not borrowed authority.
Why this record matters
The subject matters to the science & nature register because the source frames it as software model of an integrated circuit component. Its deeper value depends on whether names, dates, institutions and citations support that framing.
The date and method of observation matter as much as the stated conclusion, especially where classification or consensus has changed. The source revision retrieved here is dated Jan 4, 2025. The linked authority identifier is Q5001179. None of the 0 selected statements returned an explicit reference.
Scientific names, classifications and consensus can change while older terminology persists in catalogues and historical literature. The source lead contains qualifying language; that uncertainty should survive quotation, summary and reuse. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.
How to read it
Check terminology, classification and the date of the cited evidence. Scientific names and technical consensus can change while older records retain historical value.
- Current terminology
- Classification context
- Finding cited technical literature
Primary datasets, specimen catalogues, standards bodies and the most recent peer-reviewed literature.
Three-step research path
- Establish the record: confirm the title “Bus functional model”, its source revision and the description used here.
- Expand the search: follow Bus functional model primary sources, Bus functional model archive and functional research across catalogues and specialist indexes.
- Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.
Questions for further research
- Which source most directly establishes the central claim about “Bus functional model”?
- Has classification or technical consensus changed since the cited source?
- Is the terminology current, historical or disputed?
Search terms from this dossier
This entry incorporates text from “Bus functional model” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.