Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Ingebed

Automatisering van C-testgeneratie voor uitgebreide embedded SoC-verificatie

SoC-ontwerpen worden steeds complexer, doch veel system-level verificatie testsuites bestaan nog steeds uit duizenden handgeschreven regels C-code – een verouderde benadering die in tegenspraak is met het automatiseringsprincipe. Met name C-tests die uitgevoerd worden op embedded processoren om het gehele apparaat te valideren vóór fabricatie, blijven grotendeels handmatig.

Het automatiseren van testcreatie verhoogt de productiviteit over alle SoC-ontwikkelfasen. Constrained-random methoden in een UVM-testbench genereren scenario-specifieke random vectoren, wat de dekking op blokniveau verbetert. Echter, het ontwerp blijft een black box, met stimulus, checks en coverage-code apart geschreven – een omslachtig en foutgevoelig proces voor grote blokken.

Het uitbreiden van deze methoden naar systeemniveau is uitdagend omdat ze processor-testcode moeten integreren met I/O-transacties, meestal uitgevoerd op emulators of prototypes. Volledige SoC-verificatie vereist het oefenen van de processoren zelf, maar UVM en andere constrained-random technieken sluiten processorcode doorgaans uit. In de praktijk wordt UVM op de SoC toegepast door processoren te vervangen door virtuele I/O, waardoor het subsysteem minus de processor getest wordt.

Naar de tekortkomingen van constrained-random testbenches te erkennen, schakelen ingenieurs over op handgeschreven C-tests die draaien op processoren in zowel simulatie als hardware-emulatie. Deze platforms kunnen echter geen volledige OS ondersteunen; tests draaien in bare-metal modus, wat de compositie-inspanning vergroot. Gecoördineerde multi-core, multi-thread uitvoering is zeldzaam, zodat kritieke gedragingen – concurrentie en coherentie – beperkte verificatie ontvangen.

C-tests automatisch genereren

Geautomatiseerde C-testgeneratie bespaart engineering-tijd en breidt dekking uit. Gegenereerde testcases dekken meer van de SoC-functionaliteit dan handgeschreven, en onthullen moeilijke corner cases. Multi-threaded, multi-processor tests oefenen alle parallele paden, valideren concurrentie, stressen geheugencoherentie en synchroniseren met I/O-transacties. Als resultaat overschrijdt system-level functionele dekking routinematig 90%, ver boven traditionele benaderingen.

Het testgeneratie-tool – Test Suite Synthesis – gebruikt een duidelijk, graaf-gebaseerd scenario-model dat het beoogde ontwerpgedrag encapsuleert. Ingenieurs kunnen deze modellen schrijven in native C++ met de Accellera Portable Stimulus Standard of visueel, gespiegeld na conventionele chip dataflow-diagrammen die typisch op een whiteboard worden getekend tijdens ontwerpoverleggen.

Elk model encapsuleert stimulus, checks, coverage-metrieken en debug-data, wat de generator alle informatie geeft om hoge-kwaliteit, zelf-checkende C-tests te produceren die elk ontwerpaspect oefenen. Hiërarchische, modulaire modellen stellen blok-level tests in staat om hergebruikt te worden in volledige SoC-modellen en gedeeld te worden over teams en projecten. Het synthesis-tool decomponeert een enkel intent-model in gelijktijdige tests die threads en I/O-poorten bespannen, wat strakke synchronisatie garandeert.

Voordelen van test suite synthesis

Een kernvoordeel van test suite synthesis is de mogelijkheid om dekkingsdoelen op intent-modelniveau te stellen. Na specificatie van de intent, analyseert het tool het om het aantal benodigde testcases en de verwachte functionele dekking te schatten.

In een typische SoC kunnen duizenden tests gegenereerd worden. Door de intent te constrainten, kunnen ingenieurs specifieke dekkingsdoelen targeten en het tool concentreren op kritieke gebieden. Dit elimineer de tedieuze iteratieve cyclus van tests instellen, verificatie draaien, dekking beoordelen en herconfigureren.

Een case study op een grote SoC van een toonaangevende semiconductor-firma toonde een 80% reductie in testcompositietijd vergeleken met handgeschreven tests. Automatisering genereerde meer rigoureuze cases, wat dekking boostte van 84% naar 97%. De modellen bleken draagbaar over omgevingen.

Een enkel intent-model kan testcases produceren voor virtuele platforms, RTL-simulatie, emulatie, FPGA-prototypes, of zelfs de gefabriceerde chip tijdens post-silicium validatie.

Debuggen blijft een grote tijdsverslinder op SoC-niveau. Wanneer een test een defect onthult, moeten ingenieurs de fout terugtraceren naar de oorspronkelijke test en het onderliggende scenario-model. Door elke testcase te correleren met zijn graaf-representatie, stellen modulaire, zelf-bevatte tests snelle isolatie en analyse van bugs mogelijk.

Toepassingsscenario's

Gesynthetiseerde testcases kunnen realistische use-case scenario's drijven. Overweeg de digitale camera SoC geïllustreerd in Figuur 1.

Automatisering van C-testgeneratie voor uitgebreide embedded SoC-verificatie
Figuur 1: Image Processing SoC Voorbeeld. (Bron: Breker Verification Systems)

De SoC's blok-level componenten omvatten twee processoren, peripheriële apparaten en geheugen. Een vereenvoudigde graaf onder het blokdiagram illustreert de high-level paden voor verificatie. Een scenario – afgebeeld in het bovenste pad – leest een JPEG van een SD-kaart, routeert het naar de fotoprocessor via een geheugenregio, transformeert de afbeelding voor weergave, laadt het in een tweede geheugenblok, en stuurt het tenslotte naar de displaycontroller. Elk high-level blok is hiërarchisch, met talloze acties en beslissingen.

Het synthesis-tool schematiseert gerandomiseerde tests dienovereenkomstig. In de eenste vorm, voeren tests sequentieel uit in een enkele thread, geïllustreerd. De echte kracht ontvouwt zich wanneer het tool applicaties over meerdere threads en processoren interleaved, zo veel gelijktijdige instanties draaiend als het ontwerp toestaat en geheugen allocerend in complexe patronen. Een alternatieve weergave in de figuur toont tests verdeeld over drie threads, diverse geheugenregio's leverend.

Hoewel de illustratie high-level is, plat het synthesis-tool de hiërarchische graaf daadwerkelijk uit in duizenden acties en verbindingen, met gerandomiseerde beslissingen die door een solver-algoritme passeren. Terwijl de graaf wordt doorlopen, analyseren AI-planningsalgoritmen gewenste outputs en verfijnen invoertests voor optimale afstemming. Het tool biedt ook OS-achtige diensten – geheugentoewijzing, adreskaarttoegang, interrupt-handling – om complete teststructuren te ondersteunen, en schematiseert tests willekeurig terwijl opslag en resources dienovereenkomstig worden toegewezen.

Conclusie

Net als constrained-random testbenches handmatige inspanning van blokverificatie verwijderden, heeft gesynthetiseerde testinhoud voor embedded-processor SoC's bewogen om system-level verificatie-inspanning te verminderen. De benadering strekt zich nu uit tot blok-level verificatie en post-silicium validatie. Geautomatiseerde C-tests verlijlichen het principe van "automatiseer waar mogelijk", met dramatische dekkingwinsten en samengeperste verifikatieschema's.

Ingebed

  1. Ingesloten Systemen & Systeemintegratie: Moderne Architectuur & Connectiviteit
  2. ST Microelectronics Toont 28 nm FD‑SOI MCUs Met Embedded PCM Voor Powertrain, ADAS en Elektrificatie
  3. Analog Devices toont AI, industriële netwerken en power‑oplossingen op Embedded World 2019
  4. GIGAIPC's IoT‑innovaties showcase op Embedded World 2019
  5. Cervoz ultra-dunne M.2 NVMe SSDs: high-performance opslag voor industriële edge-toepassingen
  6. Keysight onthult geavanceerd N5511A fase-ruis-testysteem voor aerospace, defensie en 5G-ontwerp
  7. ST & YouTransactor lanceren PCI-beveiligde SoC die 50k+ mobiele betaalterminals aandrijft
  8. UltraSoC's Bus Sentinel: Real-time Hardware IP voor het beveiligen van SoC Bus-transacties
  9. IBASE CMI300‑988: Ultra‑Compact Mini‑ITX PC met AMD Ryzen Embedded V1807B
  10. Axiomtek lanceert Fanloze eBOX100‑51R‑FL: Ultra‑Compact, Intel‑aangedreven Edge Computing Oplossing
  11. Metaalidentificatie Uitgelegd: Essentiële Tests & Tips voor Nauwkeurige Herkenning