Summary of "Altera AXI4 Memory-Mapped Bus Functional Model Suite"
High-level summary — Altera AXI4 memory-mapped BFM suite
What it is
A SystemVerilog, task‑based Bus Functional Model (BFM) suite that implements the AMBA AXI4 / AXI4‑Lite memory‑mapped protocol. It includes built‑in assertion checks to accelerate verification testbenches and is intended for use with common simulators (Cadence, Synopsys, etc.). The suite supports migration away from a legacy third‑party AXI VIP that will be deprecated at the end of 2025.
Provided components
- AXI4 manager (master) BFM
- AXI4 subordinate (slave) BFM (includes a host memory helper for memory initialization/load)
- AXI4‑Lite manager and subordinate BFMs
- AXI4 inline monitor (passive observer that continuously checks traffic)
Integration flows
IP Catalog / RTL flow
- Configure the BFM in the Installed IP Library → Verification → Simulation.
- Instantiate and connect the BFM in your RTL/testbench.
- Generate simulator setup scripts via Quartus or the tool menu to create libraries and scripts.
- Call the BFM instance from your SystemVerilog testbench (example instance paths:
<bfm_inst>.axi4_manager_interface_0).
Platform Designer (PD) flow
- Configure and connect BFMs inside Platform Designer.
- Generate the system/test harness and simulation model (set HDL to
nonefor synthesis since BFMs are for simulation only). - Call the BFM via the PD system instance names used in Platform Designer (PDBFM instance naming).
Using the BFMs — testbench API & typical sequence
General step: import the Altera AXI BFM SystemVerilog package into your testbench.
Manager (master) usage
- Declare read/write transaction objects.
- Create and configure transactions (set ID, address, burst length, size, burst type). You can set fields individually or create and configure in one call.
- Reset the manager BFM.
- Use
put_transaction()to enqueue a transaction, then calldrive_transaction()to execute it.
Notes:
- The manager workflow is split into enqueue (
put_transaction) and drive (drive_transaction) operations.
Subordinate (slave) usage
- Include the host memory class package as well.
- Declare read and write response transactions.
- Reset the subordinate BFM. Optionally initialize host memory using
host_memory.initialize_dataor load buffers. - Put read/write response transactions (often in a loop) and drive them to respond to manager traffic.
Notes:
- Subordinate BFM separates read and write responses; use host memory APIs for per‑phase data instead of old per‑phase accessors.
Inline monitor
- The inline monitor is passive and runs concurrently to observe and validate bus traffic.
API and migration notes (differences vs older third‑party AXI VIP)
- High‑level configuration calls are similar (for example,
get_config/set_config, create read/write transactions). - Key differences:
- The older VIP provided a single
execute_transactionAPI. Altera BFMs split this intoput_transaction+drive_transaction(enqueue + drive). - The older VIP allowed driving individual transaction phases; Altera BFMs do not support driving individual phases — you must use
put + driveto complete the full transaction. - The subordinate BFM separates read and write responses (there is no single
create_slave_transaction). Some per‑phase data accessors from the old VIP (e.g.,get_write_address_data,get_read_data) are not present; use the host memory APIs (for example,host_memory.initialize_data) instead.
- The older VIP provided a single
Documentation includes example RTL and Platform Designer designs showing manager and subordinate usage to aid migration.
Where to find more information
- Altera AXI4 Bus Functional Model User Guide (recommended)
- IP catalog entries and the example designs/documentation shipped with the IP
Main speaker / sources
- Chris Robinson — Applications Engineer at Altera
- Altera AXI4 BFM user documentation and provided example RTL/Platform Designer designs
- Reference to the legacy third‑party AXI verification IP (noted for migration; deprecated end of 2025)
Note: Some proper names in auto‑generated subtitles were misspelled (for example, “Altera,” simulator vendor names, and the third‑party VIP name). The summary above corrects obvious typos.
Category
Technology
Share this summary
Is the summary off?
If you think the summary is inaccurate, you can reprocess it with the latest model.