Wat is Plaatsing en routering (place and route)?

Ontwerpstap waarbij, uitgaande van de netlist uit logische synthese, de cellen op de chip worden geplaatst (placement) en de verbindingen tussen de cellen worden bepaald (routing).

Japanse benaming: 配置配線

“Plaatsing en routering (place and route)” komt voor in 12 oefenvragen uit 1 onderwerpen, bijv. LSI-ontwerpflow en EDA.

Vakgebied: LSI-ontwerpflow en EDA

Plaats van place and route in de flow

Logische synthese zet RTL om in een netlist op gateniveau, maar die netlist heeft geen geometrie. Plaatsing en routering (P&R) zet hem om in een fysieke layout. Het begint met floorplanning, waarin de diegrootte, de posities van grote blokken zoals geheugens, de I/O-locaties en de ruggengraat van het voedingsnet worden vastgelegd. Daarna worden standaardcellen in rijen geplaatst, wordt de klokboom gesynthetiseerd (clock tree synthesis, CTS) om de klok met beheerste skew te verdelen, en worden ten slotte de signaalnetten op de metaallagen gerouteerd. De output gaat door naar extractie, timing sign-off en fysieke verificatie.

Wat placement optimaliseert

Placement positioneert duizenden tot miljoenen cellen zodanig dat de totale draadlengte minimaal is en congestie wordt vermeden, dat wil zeggen gebieden waar meer draden nodig zijn dan er routeringssporen beschikbaar zijn. Het is timing-driven: cellen op kritieke paden worden naar elkaar toe getrokken, en de tools voegen onderweg buffers toe of passen de grootte van gates aan. Een laatste legalisatiestap zet elke cel zonder overlap op de standaardcelrijen. Beslissingen uit de floorplanning, zoals blokken die veel data uitwisselen naast elkaar plaatsen, bepalen de grenzen van wat placement kan bereiken en zijn later duur om te veranderen.

Hoe routering gebeurt

Routering verloopt meestal in twee fasen. Global routing verdeelt de chip in een grof raster, wijst elk net een pad door de gebieden toe en schat de congestie. Detailed routing kent vervolgens echte sporen en via's toe op elke metaallaag, met inachtneming van de ontwerpregels voor breedte en afstand. Lagen hebben doorgaans afwisselend een voorkeursrichting, horizontaal op de ene en verticaal op de volgende, om de routering regelmatig te houden. Lagere lagen zijn dun en dicht voor lokale verbindingen, terwijl dikke bovenste lagen lange globale signalen, klokken en voeding met lagere weerstand transporteren.

Extractie en timing closure

Na de routering berekent parasitaire extractie de weerstand en capaciteit van elke draad uit de geometrie en de overlap en afstand tot naburige draden. Deze waarden voeden statische timinganalyse, vermogensanalyse en crosstalkcontroles. In geschaalde technologieën is de draadvertraging een groot deel van de padvertraging, zodat een ontwerp dat na synthese de timing haalde, na routering kan falen. Correcties zoals bufferinsertie, aanpassing van celgroottes en herroutering worden herhaald tot de timing sluit, en DRC (design rule check) en LVS-verificatie (layout versus schematic) bevestigen de layout vóór de tape-out.

Nu oefenen: vragen over Plaatsing en routering (place and route)

Hoe heet het proces waarbij uit de layout na place and route de weerstand en capaciteit van de bedrading worden gehaald?

  1. ALogische synthese
  2. BATPG
  3. CExtractie van parasitaire elementen (RC-extractie)
Antwoord en toelichting tonen

Antwoord: C. Extractie van parasitaire elementen (RC-extractie)

Bij extractie van parasitaire elementen worden uit de vorm van de bedrading in de layout, de afstanden en de overlap met onder- en bovenliggende lagen de weerstand en capaciteit van de bedrading berekend en gehaald. Met deze waarden worden statische timinganalyse en analyse van vermogen en overspraak nauwkeurig uitgevoerd. Door verkleining wordt de vertraging van de bedrading groot ten opzichte van die van cellen en neemt het belang toe. Logische synthese is het genereren van gates en ATPG het genereren van testpatronen.

Welk proces aan het begin van place and route bepaalt de globale plaatsing van grote schakelingsblokken, in- en uitgangspinnen en voedingsbedrading?

  1. AFloorplanning
  2. BKlokboomsynthese
  3. CDRC
Antwoord en toelichting tonen

Antwoord: A. Floorplanning

Bij floorplanning worden de afmetingen van de chip, de posities van grote blokken zoals geheugens, de plaatsing van in- en uitgangspinnen en het skelet van de voedingsbedrading bepaald. Blokken die gegevens uitwisselen dicht bij elkaar plaatsen maakt de bedrading korter en vermindert congestie. Beslissingen in deze fase beïnvloeden congestie, timing en vermogen sterk en zijn achteraf moeilijk te wijzigen, dus het is een belangrijke stap in het ontwerp. CTS en DRC zijn latere stappen.

Veelgestelde vragen

Wat is het verschil tussen placement en routing?

Placement bepaalt waar elke cel op de die komt, terwijl routing de metalen draden en via's aanlegt die de geplaatste cellen volgens de netlist verbinden. De kwaliteit van de placement bepaalt grotendeels hoe makkelijk de routing wordt.

Wat komt er vóór en na place and route?

Logische synthese komt ervoor en levert de netlist op gateniveau. Daarna volgen parasitaire extractie, statische timinganalyse en fysieke verificatie zoals DRC en LVS, voordat de layout wordt vrijgegeven voor productie.

Waarom is floorplanning zo belangrijk bij place and route?

Floorplanning legt de diegrootte, de blokposities, de I/O-plaatsing en het voedingsnet vast, en die beperken alles wat volgt. Een slecht floorplan veroorzaakt congestie en lange draden die latere stappen niet volledig kunnen herstellen.

“Plaatsing en routering (place and route)” in de toelichting

Vragen met “Plaatsing en routering (place and route)” (12)

  1. Hoe heet het proces waarbij uit de layout na place and route de weerstand en capaciteit van de bedrading worden gehaald?
  2. Welk proces aan het begin van place and route bepaalt de globale plaatsing van grote schakelingsblokken, in- en uitgangspinnen en voedingsbedrading?
  3. Welke volgorde is juist voor de ontwerpflow van een gewone digitale LSI?
  4. Welke uitspraak over logische synthese is juist?
  5. Welke methode controleert zonder simulatie wiskundig dat de logica van een schakeling voor en na logische synthese niet is veranderd?
  6. Welke uitspraak over het standaardcelontwerp (standard cell) is juist?
  7. Welke uitspraak over een netlist is juist?
  8. Waarvoor staat "EDA"?
  9. Welke ontwerpmethode ontwerpt afmetingen en plaatsing van transistors één voor één met de hand om prestaties en oppervlak tot het uiterste te optimaliseren?
  10. Welk standaardformaat beschrijft bij laagvermogenontwerp de "voedingsintentie" zoals voedingsdomeinen, het uitschakelen van voeding en level shifters, afzonderlijk van de schakelingsbeschrijving?
  11. Hoe heet het doorvoeren van een kleine wijziging, gevonden laat in het ontwerp of tijdens de productie, door de bestaande layout gedeeltelijk aan te passen zonder het hele ontwerp opnieuw te doen?
  12. Welke instelling in de timingbeperkingen (SDC) geeft de marge aan die als klokjitter en verwachte skew van de klokperiode wordt afgetrokken?

Verwante termen

Logische synthese Numerieke apertuur (NA) RTL (register transfer level) Netlist DRC (design rule check) FPGA STA (statische timinganalyse) ATPG (automatic test pattern generation) Hardwarebeschrijvingstaal (HDL) Verilog

Naar de woordenlijst