Formal that "Floats" High: Formal Verification of Floating Point Arithmetic

Dit artikel presenteert een schaalbare methodologie voor het formeel verifiëren van drijvende-kommaberekeningen via directe RTL-tot-RTL modelchecking, waarbij een verdeel-en-heerst-strategie wordt gecombineerd met door AI gegenereerde eigenschappen en menselijke feedback om de dekking en efficiëntie te maximaliseren.

Hansa Mohanty, Vaisakh Naduvodi Viswambharan, Deepak Narayan Gadde

Gepubliceerd 2026-03-05
📖 4 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

De "Wiskundige Dubbelcheck": Hoe Computers Zorgen Dat Hun Rekenen Perfect Is

Stel je voor dat je een superkrachtige rekenmachine bouwt die niet alleen optelt en aftrekt, maar ook met heel kleine, ingewikkelde getallen werkt (zoals 3,14159265...). In de wereld van computerchips noemen we dit een "Floating Point Unit" (FPU). Het probleem is: als deze chip één klein foutje maakt, kan dat leiden tot rampen. Denk aan een raket die verkeerd landt, of een medische machine die de verkeerde dosis berekent.

De auteurs van dit paper (Hansa, Vaisakh en Deepak) hebben een nieuwe manier bedacht om te controleren of zo'n rekenmachine perfect werkt. Hier is hoe ze dat doen, vertaald naar alledaagse taal:

1. Het Probleem: De Vertaalprobleem

Vroeger controleerden ingenieurs hun chipontwerpen door ze eerst om te zetten naar een simpele C-programma (een soort "hoog niveau" taal) en die te vergelijken met de echte chip.

  • De analogie: Dit is alsof je een heel gedetailleerd architecturaal plan voor een brug (de chip) vertaalt naar een schets op een napkin (het C-programma) en dan zegt: "Als de schets klopt, klopt de brug wel."
  • Het risico: Bij het vertalen gaan details verloren. De brug kan toch instorten, terwijl de schets er perfect uitzag.

2. De Oplossing: De "Tweeling"-Check

In plaats van te vertalen, vergelijken ze de echte chipontwerp (RTL) direct met een "Gouden Referentie" (een perfecte, maar langzamere versie van hetzelfde ontwerp).

  • De analogie: Stel je twee identieke tweelingen voor. De ene is de echte, snelle rekenmachine (de implementatie). De andere is een langzame, maar 100% perfecte rekenmachine (de gouden referentie).
  • De test: Ze laten de tweelingen exact dezelfde ingewikkelde sommen doen. Als ze op het eind een ander antwoord geven, is er een fout. Ze kijken niet naar de schets, maar vergelijken de twee broers direct.

3. De Strategie: De Taak Opsplitsen

Een hele complexe rekenmachine is te groot om in één keer te controleren. Het is alsof je probeert te bewijzen dat een heel groot kasteel veilig is door in één keer naar het dak te kijken.

  • De aanpak: Ze splitsen de taak op in kleine kamers (modules). Eerst kijken ze alleen naar de "mantissa" (het deel van het getal dat de cijfers bepaalt), en daarna naar de "optelling en afronding".
  • De analogie: Het is alsof je een grote puzzel in stukjes verdeelt. Je controleert eerst of de randstukken passen, dan of de binnenkant klopt. Als een stukje niet past, zie je direct waar het misgaat, in plaats van door de hele puzzel te zoeken.

4. De Nieuwe Hulp: De AI-Assistent

Dit is het spannendste deel van het paper. Het schrijven van alle regels om te controleren of de puzzelstukjes passen, is veel werk. De auteurs hebben dus een team van AI-agenten ingeschakeld.

  • Hoe het werkt:
    1. De Planner: Een AI leest het ontwerp en maakt een plan: "We moeten controleren of de cijfers kloppen."
    2. De Schrijver: Een andere AI schrijft de controle-regels (in een speciale taal voor computers).
    3. De Critic: Een derde AI kijkt of de regels logisch zijn.
    4. De Mens (HITL): Als de AI vastloopt of twijfelt, komt een menselijke expert tussenbeide om de AI te corrigeren.
  • De uitkomst: De AI schrijft snel veel regels, maar soms zijn ze dubbelop of niet helemaal goed. Met een beetje hulp van een mens (de "Human-in-the-Loop") worden ze slim en efficiënt. Het is alsof je een stagiair hebt die snel veel werk doet, maar die een meester moet vragen om de laatste hand te leggen.

5. De Test: "Stress Test"

Om te zien of hun methode echt werkt, hebben ze expres fouten in de chip gezet (zoals een verkeerde schakelaar of een getal dat verkeerd wordt afgerond).

  • Het resultaat: Hun methode vond alle fouten. Zelfs de fouten die de AI-assistent had gemaakt, werden opgespoord.
  • De les: Als je de AI alleen laat werken zonder menselijke controle, maakt hij soms fouten of schrijft hij te veel onnodige regels. Maar met een mens die meekijkt, wordt het systeem razendsnel en extreem betrouwbaar.

Conclusie

Kortom: Deze wetenschappers hebben bewezen dat je de beste manier om een computerchip te controleren, is door hem direct te vergelijken met een perfecte kopie, zonder tussenstapjes. En als je daarbij slimme AI-assistenten gebruikt die door mensen worden begeleid, gaat het niet alleen sneller, maar is het resultaat ook veiliger dan wanneer je het alleen met de hand doet.

Het is als het bouwen van een raket: je vertrouwt niet alleen op de tekeningen, je bouwt een perfecte tweeling, laat ze samen vliegen, en gebruikt een robot-assistent die door een ervaren piloot wordt gecontroleerd om zeker te weten dat alles perfect werkt.