← Nieuwste papers
💻 computer science

UCAgent: An End-to-End Agent for Block-Level Functional Verification

Het paper introduceert UCAgent, een end-to-end agent die de functionele verificatie van hardwareblokken automatiseert door een pure Python-omgeving, een gedetailleerd 31-staps workflow en een consistentielabelsysteem te combineren, waardoor tot 98,5% code- en 100% functionele dekking wordt bereikt en nieuwe ontwerpdefecten worden ontdekt.

Oorspronkelijke auteurs: Junyue Wang, Zhicheng Yao, Yan Pi, Xiaolong Li, Fangyuan Song, Jinru Wang, Yunlong Xie, Sa Wang, Yungang Bao

Gepubliceerd 2026-03-30
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Junyue Wang, Zhicheng Yao, Yan Pi, Xiaolong Li, Fangyuan Song, Jinru Wang, Yunlong Xie, Sa Wang, Yungang Bao

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een enorme, ingewikkelde machine bouwt, zoals een moderne auto of een supercomputer. De ontwerpers (de "architecten") tekenen de blauwdrukken. Maar voordat je deze machine echt kunt bouwen en op de weg kunt zetten, moet je er 100% zeker van zijn dat hij niet gaat ontploffen of vastlopen. Dit noemen we functionele verificatie.

In de chipwereld is dit het grootste probleem. Het duurt lang, kost veel geld en is zo moeilijk dat het vaak de bottleneck is. De meeste tijd van een project gaat niet naar het ontwerpen van de chip, maar naar het controleren of het ontwerp klopt.

Hier komt UCAgent in beeld. Het is een slimme, geautomatiseerde "robot-assistent" die dit hele controleproces overneemt.

Hier is hoe het werkt, vertaald naar alledaagse taal:

1. Het Probleem: De Taalbarrière

Stel je voor dat je een robot wilt vragen om een auto te bouwen. Je spreekt Engels, maar de robot spreekt alleen Python (een programmeertaal die hij goed kent) en Verilog (de taal van hardwarechips, die hij nauwelijks kent).

  • Het oude probleem: Als je de robot vraagt om in Verilog te werken, maakt hij veel fouten. Het is alsof je vraagt iemand die alleen Nederlands spreekt om een juridisch document in het Oud-Grieks te schrijven. De robot raakt de draad kwijt, hallucineert (dicht dingen uit die niet waar zijn) en maakt syntaxfouten.
  • De oplossing van UCAgent: In plaats van de robot te dwingen om in die moeilijke taal te werken, vertalen we de chip naar Python. UCAgent pakt de chip en verpakt hem als een Python-pakketje. Nu kan de robot zijn eigen sterke kant gebruiken: het schrijven van Python-code. Het is alsof je de robot vraagt om de auto te besturen via een simpele smartphone-app, in plaats van rechtstreeks in de motor te graven.

2. De Werkwijze: De 31-Stappen Ladder

Verificatie is niet iets dat je in één keer doet. Het is een lange reis.

  • Het oude probleem: Als je de robot vraagt: "Controleer deze hele chip", raakt hij de draad kwijt. Hij vergeet halverwege wat hij moest doen, of hij bouwt een test die op het verkeerde moment start.
  • De oplossing van UCAgent: De robot krijgt een gedetailleerde routekaart met 31 kleine etappes.
    • Stap 1: Lees het ontwerp.
    • Stap 2: Maak een lijstje met wat er getest moet worden.
    • Stap 3: Bouw de testomgeving.
    • ...
    • Stap 31: Analyseer de resultaten.
      Na elke stap staat er een automatische controleur (een "stafchef") die kijkt: "Is dit goed?" Als het antwoord nee is, moet de robot het opnieuw doen voordat hij naar de volgende stap mag. Dit voorkomt dat fouten zich ophopen als sneeuwballen.

3. De "Naamplaatjes" (VCLM): Het Verlies van de Draad

Stel je voor dat je een grote bibliotheek bouwt. Als je boeken niet goed labelt, zoek je ze nooit meer terug.

  • Het oude probleem: De robot leest een specificatie over "Fout A", maar noemt het in de test "Fout B". Of hij bedenkt een fout die helemaal niet bestaat. Dan weet je later niet meer welke test bij welke regel hoort.
  • De oplossing van UCAgent: De robot moet aan elk stukje werk een uniek, hiërarchisch naamplaatje plakken (zoals Groep-1, Functie-2, Controle-3).
    • Als de robot een test schrijft, moet hij zeggen: "Ik test nu specifiek Fout A (naamplaatje X)".
    • De controleur kijkt: "Staat naamplaatje X ook in het originele ontwerp?" Zo niet? Dan is de test ongeldig.
      Dit zorgt ervoor dat je altijd kunt terugvinden: "Deze test is gemaakt voor dit specifieke onderdeel van het ontwerp." Het is alsof elke test een QR-code heeft die direct leidt naar de blauwdruk.

4. De Resultaten: Wat heeft het gebracht?

De onderzoekers hebben UCAgent getest op verschillende chips, zoals een simpele communicatiechip (UART) en een complexe rekenmachine (FPU).

  • Succes: De robot kon het werk van begin tot eind zelfstandig doen. Hij bereikte tot 98,5% code-dekking en 100% functionaliteit.
  • De "Gouden Vondst": In een van de tests vond UCAgent een verborgen fout in het ontwerp die de menselijke ingenieurs eerder hadden gemist. De robot dacht: "Hé, als je dit doet, gebeurt er iets raars," en bewees het.
  • Snelheid: Voor sommige chips was het klaar in minder dan een uur. Voor de meest complexe chips duurde het een paar uur, maar dan zonder dat er een mens de hele tijd hoefde te toezien.

Samenvattend

UCAgent is als een super-slimme stagiair die:

  1. De taal van de chip vertaalt naar een taal die hij perfect spreekt (Python).
  2. Een strikte, stap-voor-stap instructiekaart volgt met een eigen "kwaliteitscontroleur" na elke stap.
  3. Elk werkstuk labelt zodat je nooit de draad kwijtraakt.

Het resultaat is dat chips sneller, goedkoper en veiliger kunnen worden gemaakt, omdat de robot het saaie, moeilijke controlewerk overneemt en zelfs slimme fouten opspoort die mensen over het hoofd zien.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →