← All Verification IP
Serial & Control Bus

PMBus v1.5/1.4

An independent clean-room PMBus master Bus Functional Model — built the same way vip-smbus’s own master BFM was: its open-drain bit/byte primitives…

Request this VIP →Browse all VIP
shippingGroup Serial & Control BusStandard Power Management Bus (PMBus) Specification v1.5/1.4

Available now — real, tested verification collateral, not a roadmap placeholder.

Verification IP is not safety-rated. These are testbench components — no ASIL target, no FMEDA, no IP-XACT, no safety-mechanism interface. They exist to help you verify a design, not to carry a safety argument. The safety soft-IP catalog is over here.

The deliverable

What you get

Bus-functional model
An independent driver for the protocol, written clean-room from the public specification — not derived from our own RTL, so it is a genuine second source.
Passive protocol checker
A monitor that watches the bus and asserts the spec’s rules continuously, so a violation fails the run where it happens rather than downstream.
Self-checking interop testbench
A one-command testbench that drives the model against real RTL and hard-checks the result — reproduce every claim on day one.

An independent clean-room PMBus master Bus Functional Model — built the same way vip-smbus‘s own master BFM was: its open-drain bit/byte primitives (WBIT/RBIT/WBYTE/RBYTE/START/STOP/clock-stretch-aware scl_release()/crc8_byte()/ARA/HOLD_SCL_LOW) are a direct copy of smbus_master_bfm.sv‘s own primitives (this repo’s own, independently-written OSS VIP code, not a DUT-internal artifact, so reuse between two VIPs carries no clean-room concern) — with NEW, higher-level PMBus command-shape tasks layered on top: SEND_BYTE/WRITE_BYTE/WRITE_WORD/READ_BYTE/READ_WORD, each with a pec_en argument and a bad_pec_idx selector so any single PEC byte in the transaction (the command byte’s own PEC included) can be deliberately corrupted for negative testing. This is the genuinely new layer beyond a plain SMBus VIP: PMBus interprets the first data byte after the address as a command code selecting one of four transaction shapes, and per this catalog’s pmbus_dev v1 scope, EVERY byte of the transaction gets its own PEC — the command byte AND each subsequent data/response byte — not one CRC-8 for the whole message. A passive protocol checker independently reconstructs the byte stream (address, command, data/response, PEC) off the DUT’s real scl_i/scl_oe/sda_i/sda_oe/smbalert_n_oe pins with its own from-scratch decode FSM and its own bit-serial CRC-8 re-derivation (sharing no code or instance with the master BFM), independently cross-checking PEC correctness (asymmetric like vip-smbus‘s own: a DUT-transmitted PEC mismatch on a READ is unconditionally flagged, while a WRITE’s PEC content is test-chosen and what’s verified instead is the DUT’s ACK/NACK response to it), command-code validity (ACKed iff one of the 9 v1-implemented codes), ARA/SMBALERT# correctness, and drive-direction consistency against the DUT’s own *_oe. This second-source effort ran clean against pmbus_dev: 0 checker violations across PAGE/OPERATION write+read-back, a VOUT_COMMAND write-word + READ_VOUT read-word byte-exact round trip, READ_IOUT reflecting a host-set mock, clean-state STATUS_WORD/STATUS_VOUT, a full OV-fault scenario (threshold trip, confirmed hardware-armed SMBALERT# with no software alert-request write, an ARA cycle serving and clearing it, and a CLEAR_FAULTS + fresh OPERATION-ON recovery — while independently confirming OPERATION’s read-back reflects the last COMMANDED bit, not the effective auto-shutoff state, throughout the fault), PEC-enabled writes (all-correct and a deliberately-wrong single byte, confirming only that one byte NACKs while the rest of the per-byte-PEC transaction proceeds — PEC here is a diagnostic overlay, not a transactional gate), an unrecognized command code, clock stretch (a measured, comparative proof the master’s polling loop actually waited), and a clock-low bus-timeout scenario, with no false ASIL-B self-check trip (err_code 1/2/9) at any point. Explicitly out of scope, inherited from the paired pmbus_dev DUT’s own documented v1 scope, not a VIP limitation: GROUP_COMMAND multi-device chaining, WRITE_PROTECT, MFR_-prefixed manufacturer commands, the extended/PMBus-2.0 command set beyond the 9 v1-implemented codes, multi-page/multi-rail addressing beyond PAGE=0, dynamic VOUT_MODE reprogramming (always reads the fixed exponent), and — importantly — PEC here is computed and checked PER BYTE (address+R/W + that one command/data/response byte, re-based fresh each byte), not as a single CRC-8 covering an entire variable-length PMBus message the way strict PMBus PEC framing does; this VIP verifies exactly that per-byte scheme, the same deviation vip-smbus itself documents for its own paired DUT.

Key Features

Standards & Compliance

Power Management Bus (PMBus) Specification v1.5/1.4

Pairs With

Built to lean against these catalog IPs during integration:

Interested in the PMBus v1.5/1.4 VIP?

Deliverables, the file manifest, and licensing terms are shared under a mutual NDA.

Talk to us →See related VIP

Verification IP is testbench collateral and is deliberately not safety-rated: no ASIL target, no FMEDA, and no IP-XACT descriptor. It carries no functional-safety claim.

circuit-design.space · +1-971-357-1400 · anovickis@circuit-design.space