Wat is Netlist?

Gegevens die de componenten (cellen) van een circuit en hun onderlinge verbindingen beschrijven. Uitvoer van logische synthese en invoer voor plaatsen en routeren en timinganalyse.

Japanse benaming: ネットリスト

“Netlist” komt voor in 5 oefenvragen uit 2 onderwerpen, bijv. LSI-ontwerpflow en EDA, Hardwarebeschrijvingstalen en verificatie.

Vakgebied: LSI-ontwerpflow en EDA

Wat een netlist bevat

Een netlist somt instances op, de cellen of transistors in een circuit, en nets, de elektrische verbindingen tussen hun pinnen, plus de poorten die het circuit met de buitenwereld verbinden. Het is pure connectiviteit: de netlist zegt dat de uitgangspin van een NAND-poort de ingangen van twee flipflops aanstuurt, maar niets over waar die cellen liggen of hoe de draden lopen. Een netlist op gateniveau verwijst naar cellen uit een standaardcelbibliotheek en wordt meestal als structurele Verilog geschreven, terwijl een SPICE-netlist op transistorniveau afzonderlijke MOSFET's, weerstanden en condensatoren met hun parameters opsomt voor circuitsimulatie.

Waar netlists in de ontwerpflow opduiken

Logische synthese zet code op register-transfer level (RTL) om in een netlist op gateniveau die aan timing-, oppervlakte- en vermogensrandvoorwaarden voldoet. Place-and-route leest die netlist in, voegt buffers en een gesynthetiseerde klokboom toe en levert een bijgewerkte post-layout-netlist op. Uit de layout geëxtraheerde parasitaire weerstand en capaciteit worden toegevoegd voor statische timinganalyse. Formele equivalentiecontrole vergelijkt de netlist met de RTL, automatic test pattern generation (ATPG) werkt op de netlist om fouten zoals stuck-at-fouten af te dekken, en layout-versus-schematic-controle (LVS) vergelijkt een uit de layout geëxtraheerde netlist met de referentienetlist.

Simulatie op gateniveau

RTL-simulatie is snel maar abstract, dus sommige bugs komen pas na synthese aan het licht. Simulatie van de netlist op gateniveau gebruikt de werkelijke poorten en flipflops en legt reset- en initialisatieproblemen bloot die X-optimisme in RTL verbergt, evenals gevallen waarin de gesynthetiseerde logica afwijkt van de bedoeling van de ontwerper. Wanneer poort- en draadvertragingen uit de layout via SDF (Standard Delay Format) worden teruggeannoteerd, komen ook timinggerelateerde problemen naar voren. Omdat simulatie op gateniveau veel trager is dan RTL-simulatie, wordt ze meestal op een beperkte set tests gedraaid.

Netlist versus layoutdata

De netlist en de layout beschrijven dezelfde chip op verschillende manieren. De netlist legt vast wat met wat verbonden is, terwijl layoutdata in GDSII- of OASIS-formaat de polygonen per maskerlaag bevat die werkelijk op de wafer worden afgedrukt. Verificatie verbindt de twee: LVS bewijst dat de getekende vormen precies de verbindingen in de netlist implementeren, en design rule checking (DRC) bevestigt afzonderlijk dat de vormen aan de productieregels voldoen. Alleen layoutdata gaat na de tape-out naar de maskerfabricage.

Nu oefenen: vragen over Netlist

Welke uitspraak over een netlist is juist?

  1. AGegevens die de elementen (cellen) van een schakeling en hun onderlinge verbindingen beschrijven
  2. BGeometrische gegevens van maskerpatronen
  3. CGegevens waarin de uitkomst van testen (geslaagd of niet) wordt vastgelegd
Antwoord en toelichting tonen

Antwoord: A. Gegevens die de elementen (cellen) van een schakeling en hun onderlinge verbindingen beschrijven

Een netlist zijn gegevens die beschrijven welke elementen (transistors of cellen) een schakeling bevat en via welke bedrading (nets) hun aansluitingen zijn verbonden. Ze bevat geen geometrische informatie en geeft alleen de verbindingen weer. Ze wordt gebruikt als uitvoer van logische synthese en als invoer van place and route, en bij LVS wordt de uit de layout geëxtraheerde netlist vergeleken met de netlist van het schema. De figuren van maskers zitten in layoutgegevens zoals GDSII.

Wat is het belangrijkste doel van het uitvoeren van simulatie met vertragingsinformatie op de schakeling na logische synthese en plaatsen en routeren (gate-level netlist)?

  1. ASneller een groot aantal tests uitvoeren dan met RTL-simulatie
  2. BProblemen controleren die in RTL-simulatie niet zichtbaar zijn: problemen met initialisatie en reset, verschillen door synthese en vertragingsgerelateerde problemen
  3. CDe oppervlakte van de schakeling verkleinen
Antwoord en toelichting tonen

Antwoord: B. Problemen controleren die in RTL-simulatie niet zichtbaar zijn: problemen met initialisatie en reset, verschillen door synthese en vertragingsgerelateerde problemen

RTL-simulatie is snel, maar merkt niets op als door X-optimisme problemen met onbepaalde waarden verborgen blijven of als door synthese een andere schakeling ontstaat dan beschreven. Bij gate-level-simulatie wordt de werking gecontroleerd met de werkelijk gemaakte poorten en flipflops, en als in SDF-formaat de vertragingen van elke poort en bedrading worden gegeven, worden ook vertragingsgerelateerde problemen zichtbaar. Ze is echter zeer traag, dus gewoonlijk wordt ze met een beperkt aantal tests uitgevoerd.

Veelgestelde vragen

Wat is het verschil tussen RTL en een netlist?

RTL beschrijft gedrag als registers en de logische bewerkingen daartussen, in een taal als Verilog of VHDL. Een netlist is het structurele resultaat na synthese en somt specifieke bibliotheekcellen en de draden die ze verbinden op.

Wat is een SPICE-netlist?

Een netlist op transistorniveau in het invoerformaat van SPICE-circuitsimulatoren, met componenten zoals MOSFET's, weerstanden en condensatoren, hun knooppuntverbindingen en modelparameters, gebruikt voor analoge simulatie en simulatie op celniveau.

Bevat een netlist informatie over de fysieke layout?

Nee. Een netlist bevat alleen componenten en connectiviteit. Celposities en draadvormen staan in de layoutdatabase en in GDSII- of OASIS-bestanden, al kunnen uit de layout geëxtraheerde parasitaire elementen aan de netlist worden toegevoegd voor timinganalyse.

“Netlist” in de toelichting

Vragen met “Netlist” (5)

  1. Welke uitspraak over een netlist is juist?
  2. Wat is het belangrijkste doel van het uitvoeren van simulatie met vertragingsinformatie op de schakeling na logische synthese en plaatsen en routeren (gate-level netlist)?
  3. Welke volgorde is juist voor de ontwerpflow van een gewone digitale LSI?
  4. Welke uitspraak over logische synthese is juist?
  5. Welk formaat is kenmerkend voor de layoutgegevens die voor de maskerproductie aan de productiekant worden overgedragen?

Verwante termen

Logische synthese Plaatsing en routering (place and route) RTL (register transfer level) Numerieke apertuur (NA) Verilog Tape-out Via LVS X-optimisme Gate-level-simulatie

Naar de woordenlijst