IC Station: Difference between revisions

From ift
mNo edit summary
mNo edit summary
Line 39: Line 39:
  DRC kan også startes fra menyen øverst i vinduet. Se bilde.
  DRC kan også startes fra menyen øverst i vinduet. Se bilde.


[[Image::drc_fra_meny.png]]
[[Image:drc_fra_meny.png]]


==LVS (Layout Versus Schematic test)==
==LVS (Layout Versus Schematic test)==

Revision as of 09:00, 19 February 2009

IC Station

Dette dokumentet beskriver: 
  • DRC (Design rule check)
  • LVS (Layout versus schematic test)
  • Ekstrahering av parameter fra utlegg

Online dokumentasjon kan leses fra firefox på mikroserver2 file:///prog/mentor/mgc/ic.2005.1/shared/htmldocs/_bk_icpl/_bk_icpl.html

Vi antar nå at IC station er startet fra "IC studio", http://doc.uib.no/wiki/ICStudio.

Create cell

Innstillinger for prosessen S35:
Cell name:      (Navn på cell/utlegg)
Attach library: $AMS_DIR/mentor/ic_station/s35/libraries/s35d4.library
Process:        $AMS_DIR/mentor/ic_station/s35/process/s35d4.process
Rules file:     $AMS_DIR/mentor/ic_station/s35/rules/s35d4.rules

DRC (Design Rule Check)

DRC sjekker at utlegget er korrekt i henhold til de *design rules* som gjelder for prosessen. DRC sjekker *ikke* om transistorer er riktig koblet sammen. Det gjøres i LVS-testen som beskrives senere.
Fra paletten: Velg *ICrules* --> *Check*. 

Drc chedr.png

Feilmeldingen "Number must be a positive number or zero" kommer av at default-verdien til "Maximum results per rule check" er satt altfor høy eller en negativ verdi. Velg *Options...* og sett innstillingene omtrent som på figuren under. Du vil gjerne sette navnet på rapportfilen til noe mer passende...

Drc options 2.png

Velg *OK* begge steder for å kjøre DRC.
Bruk så knappene *First* og *Next* for å se på feil for feil. Feilene markeres med en hvit ramme i utlegget samtidig som det står en forklarende melding nederst på skjermen.
De innstillingene vi gjorde under *Options...* trenger vi bare gjøre første gang vi kjører DRC etter å ha startet IC Station.
DRC kan også startes fra menyen øverst i vinduet. Se bilde.

Drc fra meny.png

LVS (Layout Versus Schematic test)

Når utlegget har passert DRC må vi kjøre LVS-sjekk. Her sjekkes at utlegget stemmer overens med skjemaet. LVS kontrollerer at skjema og utlegg er samme elektriske krets. Dersom noen komponenter er koblet feil sammen eller har feil størrelse i henhold til skjema, får vi melding om det.
OBS! Hvis du har åpent et "logic" i forbindelse med SDL, må dette lukkes nå. Velg *File* --> *Logic* --> *Close*.
Fra paletten: Velg *ICtrace(M)* 

Klikk på *SETUP* (den blå knappen).

Lvs setup button.png

Klikk på *LVS* og fyll ut dialogboksen tilsvarende figuren under.

Lvs 2.png

Trykk på knappen *Setup LVS...* 

Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Disse innstillingene ble satt da vi klikket på den blå setup-knappen.

Lvs setup 2.png

Klikk *OK* begge steder for å kjøre LVS.
Sjekk rapportfilen. Hvis LVS-testen gikk bra vil du se et smilefjes i rapporten.
Når LVS-testen er vellykket kan vi åpne et vindu i IC Station som viser skjemaet. Velg *Logic* --> *Open*, og angi stien til viewpointet (samme som *Source Name* i dialogboksen LVS (Mask)). Ved å klikke på et nett eller en transistor, vil tilsvarende markeres i utlegget.

IC-extract (Ekstrahering av parasitter)

Når vi simulerer skjemaet vårt i DA simulerer vi bare skjema. Dvs. transistormodeller med ideelle ledninger mellom. Simulatoren vil ikke ta hensyn til parasittiske kapasitanser og resistanser i utlegget. Slike parasitter er avhengig av hvordan transistorene er tegnet, hvor tett vi plasserer dem, hvordan vi foretar ruting osv. For å finne ut hvordan kretsen på utlegget egentlig virker må vi ekstrahere disse parasittene, importere dem i skjemaet vårt og kjøre simulering en gang til. Parasitter representerer ekstra poler, som kan føre til at systemet ikke lengre tilfredsstiller spesifikasjonene. Derfor er det viktig å simulere skjemaet med effektene fra utlegget.

Lag en kopi av det originale skjemaet du tegnet i DA (Save sheet as...). Lukk det "gamle" og åpne det nye. Lag et viewpoint av det nye skjemaet. Vi skal bruke det nye skjemaet til simulering med informasjon fra utlegget.
Er du i simuleringsmodus? Gå ut av simuleringsmodus.

I IC Sation:
Fra paletten: Velg *ICextract (M)*
Lukk eventuelle åpne *logic*.
Klikk *Lumped* og fyll ut dialogboksen tilsvarende figuren under.

Extract mask lumped parameters.png

Åpne skjemaet i DA igjen og gå i simuleringsmodus.

Skjemaet vil nå se ut omtrent som figuren under.

Sch parasitics included.png

Legg til transistormodellene som skal brukes i simuleringen.
Klikk *Lib/Temp/Inc* og legg til følgende sti (for S35):

$AMS_DIR/eldo/s35/cmos53tm.mod

Fra paletten, velg *Annotations --> Merge all*
Informasjonen fra utlegget er nå inkludert, og fargen har skiftet fra rød til gul.

Sett opp simulering (analyser, plot) og kjør.

Simulering med parasitteffekter som egen nettliste

AustriMicroSystems "beskriver her", file:///prog/design_kits/ams_hk_3.70/www/hitkit/hk370/icstation/icextract.html en metode for å lage en selvstendig netlist for krets med parasitiske effekter ekstrahert fra layout. Denne simuleres så i DA-IC ved å slå av generering av netlist (Session->Environment->Run Sim) og så kjøre simulering hver gang man har ekstrahert på ny.

Et viktig tips er å kjøre ekstrahering fra pull-down menyene Extract->Mask-Lumped eller Extract->Mask->Distributed istedenfor å velge tilsvarende fra paletten. Dermed får man satt de riktige default verdier, og scriptet rewrite_netlist kalles automatisk for nødvendig konvertering av bl.a. modellnavn og måleenheter.

Nettlisten som kommer ut inneholder kretsen i en subscircuit. Ved å kommentere vekk linjene med .subckt og .ends kan nettlisten kopieres over nettlisten generert av DA-IC og simuleres med samme plot og målinger. Alternativt kan man i DA-IC velge den ekstraherte nettlisten i Setup->Session->Environment.