ref-model

Build bitexact C11 reference models for H.264/H.265 codec validation.

43|9|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/babyworm/rtl-agent-team --skill ref-model
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ref-model
Source: https://github.com/babyworm/rtl-agent-team/tree/main/skills/ref-model
Command: npx skills add https://github.com/babyworm/rtl-agent-team --skill ref-model

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Building a reliable, bitexact software oracle for algorithm validation and early bandwidth estimation removes ambiguity between specification and RTL implementation and prevents costly late-stage fixes. The skill ensures that algorithm correctness is proven against industry reference implementations (JM/HM) before hardware development proceeds.

Core Features & Use Cases

  • Bitexact functional model: Produce pure C (C11) reference models without clock/reset semantics callable from SystemVerilog via DPI-C.
  • Bandwidth analysis: Track external memory accesses via ext_mem_read/ext_mem_write abstractions and generate per-block bandwidth estimates.
  • Conformance and coverage: Run automated bitexact comparisons vs JM/HM, generate conformance_report.json, and verify feature coverage against iron-requirements.json.
  • Use Case: When Phase 1 research completes, implement a refc/ model to validate codec blocks, run bandwidth sweeps with PARALLEL_LANES variations, and provide a verification oracle for RTL tests.

Quick Start

Build a DPI-C compatible C reference model in refc/, run its self-test, and generate conformance_report.json and bandwidth_report.json.

Frequently Asked Questions about ref-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a bitexact C reference model for video codec RTL verification?

Build a bitexact C reference model by creating a DPI-C compatible C11 implementation in refc/, using ext_mem_read/ext_mem_write abstractions to validate algorithm correctness before RTL development.

What is a bitexact functional reference model used for in H.264 and H.265 development?

A bitexact functional reference model serves as a software oracle to validate codec algorithm correctness against JM/HM test vectors, removing ambiguity between specification and RTL implementation to prevent late-stage fixes.

How do I generate bandwidth analysis reports for video codec architecture work?

Generate bandwidth analysis reports by tracking external memory accesses through ext_mem_read and ext_mem_write abstractions, running bandwidth sweeps with PARALLEL_LANES variations to produce a bandwidth_report.json.

Can I use a C11 reference model with SystemVerilog DPI-C for codec verification?

Yes, you can use a C11 reference model with SystemVerilog DPI-C. The model produces pure C code without clock or reset semantics, making it directly callable from SystemVerilog environments.

How do I verify codec conformance against JM and HM test vectors?

Verify codec conformance by running automated bitexact comparisons against JM and HM test vectors. This process generates a conformance_report.json and verifies feature coverage against iron-requirements.json.