Not months of block-by-block work, and not an AI bill that grows toward signoff. DV-FORGE turns the reference manual into one map of the chip, generates the verification from it, and gets better with every regression.
The reference manual becomes one map of the chip. Verification is generated from it, and gets better with every regression.
Day 0. The reference manual arrives: a PDF with no structure.
* Most of these days were spent in regression.
OpenTitan Earlgrey, a taped-out root-of-trust SoC, then Darjeeling, the next chip in its family. Same pipeline both times; the second started from everything the first one taught DV-FORGE.
Full signoff in 30 days*
A taped-out root-of-trust chip, started from its reference manual and nothing else. Every block, register, interrupt and crossing went into the map, each pointing back to its source.
Signed off in 21 days*
Different fabric, different memory system, bigger. DV-FORGE worked out what changed before writing anything, and started from everything the driver taught it.
* Most of these days were spent in regression.
Block diagrams: lowRISC/OpenTitan (github.com/lowRISC/opentitan), Apache 2.0. An independent open-source project; it does not endorse us.
DV-FORGE reads the reference manual into a mental map of the SoC, with every fact tied to its page. The map and a deterministic generation model together make up the Forge engine, which writes the vPlan, the coverage model and the UVM. Every failure and every coverage hole from regression goes back to where it belongs, and what is learned becomes part of the engine, so it keeps improving over time.
Three stages, played on a loop.
One story in three steps. An assistant has to hold the chip in its context. The bigger the design, the more that context fills with unrelated and conflicting fragments. Answers are then not just guessed but wrong or of poor quality, a failure known as context poisoning, and every answer costs more. DV-FORGE keeps the chip in a cited map, gives an LLM only a bounded cone, and turns everything it learns into deterministic modelling.
Grow the design from one IP block to a full SoC and its derivatives, and ask both the same question at each size. The assistant’s context window stays the same size, so its prompt fills with unrelated and conflicting fragments. The facts it needs fall out, and what is left pulls the answer the wrong way: guesses, wrong facts borrowed from other blocks, and poor-quality advice. This is context poisoning.
Same question at every sizeWhich interrupt does uart0 raise when its TX FIFO empties, and how is it enabled?
| fact | Assistant | DV-FORGE |
|---|
Which interrupt does uart0 raise when its TX FIFO empties, and how do I enable it?
The rest of the map stays out by design, at every size.
Asked twice: the same answer, from the same cone.
Every component and sequence stays linked to the blocks it came from. A requested change already knows what it touches. A failing test already has a bounded cone of influence to backtrack through, and only that cone goes to the LLM, so nothing unrelated can poison its context.
AA change is requested. What has to change?
Or tap any block on the map.
BA test fails. What is its cone of influence?
Or tap blocks on the map to draw your own cone.
The first iteration already needs 80% fewer tokens than an assistant, thanks to the SoC mental map and the deterministic generation model. The gains after that come from the deterministic model evolving: the first time a failure or coverage hole appears, it is a dynamic finding, and an LLM helps trace it inside its cone. Once understood, it becomes deterministic modelling and never needs an LLM again. Step through the driver SoC and then its derivative.
Starting point: built on open-source SoCs and improved through industry partnerships, before this project began.
Every team has its own spec templates, RTL conventions, UVM base classes and coding guidelines. DV-FORGE’s inbuilt parsers and generation model adapt to them once. After that, every new spec and RTL drop is read, and every file is generated, without spending tokens.
The parsers ship with DV-FORGE. When your specs or RTL do something they have not seen, an agentic loop adapts them once. Future specs and RTL in the same style are parsed deterministically, with no tokens.
CTRL (+0x00) RW rst 0x0000_0000 [0] EN enable the block
`ACME_CSR(CTRL, 8'h00, RW, 32'h0) `ACME_FIELD(CTRL, EN, 0, 0)
register name=CTRL offset=0x00 access=RW reset=0x0 field name=EN bits=[0] desc="enable the block"
The generation model takes in your existing assets, so generated code reads as if your team wrote it.
class uart_smoke_vseq extends uart_base_vseq; `uvm_object_utils(uart_smoke_vseq)
class acme_uart_smoke_seq extends acme_seq_base #(uart_cfg); `acme_object_utils(acme_uart_smoke_seq)
Ten thousand pages of unstructured reference manuals, read end to end by the inbuilt parsers, adapted to each vendor’s conventions. Register models, vPlans and UVM out, from the same pipeline that ran Earlgrey.
Marked manuals are full runs, graded against the vendor’s own register file. Also in the corpus: AMD/Xilinx Zynq TRM, Silicon Labs EFR32xG24 RM. If your chip ships with a PDF manual, it is already the kind of input we run.
Not testimonials. These are runs.
Swadeza collaborates with professors at BIT Patna and with Signitude, a fabless semiconductor company.
academic collaborationBIT PatnaProfessors of the Birla Institute of Technology, Patna campus
industry collaborationSignitudeFabless semiconductor company
The first company to deploy a fully automated system for in-production AI verification and validation for government recruitment, built for the Government of Bihar. It cut turnaround from several months to weeks, and created a credible, legally defensible ledger with transparency and accountability throughout the process.
Talk to us about a deployment, an engagement or a collaboration.