IC Station: Difference between revisions

From ift
(New page: ===IC Station=== Dette dokumentet beskriver: <br/> * DRC (Design rule check) <br/> * LVS (Layout versus schematic test) <br/> * Ekstrahering av parameter fra utlegg Online dokumentasjon...)
 
mNo edit summary
Line 25: Line 25:


  Fra paletten: Velg *ICrules* --> *Check*.  
  Fra paletten: Velg *ICrules* --> *Check*.  
 
[[Image:drc_chedr.bmp]]
<img src="uploads/drc_chedr.bmp" />


  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...
  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...


<img src="uploads/drc_options_2.bmp" />
[[Image:drc_options_2.bmp]


  Velg *OK* begge steder for å kjøre DRC.
  Velg *OK* begge steder for å kjøre DRC.
Line 40: Line 39:
  DRC kan også startes fra menyen øverst i vinduet. Se bilde.
  DRC kan også startes fra menyen øverst i vinduet. Se bilde.


<img src="uploads/drc_fra_meny.bmp" />
[[Image::drc_fra_meny.bmp]


==LVS (Layout Versus Schematic test)==
==LVS (Layout Versus Schematic test)==
Line 51: Line 50:
Klikk på *SETUP* (den blå knappen).
Klikk på *SETUP* (den blå knappen).


<img src="uploads/lvs_setup_button.bmp" />
[[Image:lvs_setup_button.bmp]


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


<img src="uploads/lvs_2.bmp" />
[[Image:lvs_2.bmp]


  Trykk på knappen *Setup LVS...* <br/>
  Trykk på knappen *Setup LVS...* <br/>
Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Disse innstillingene ble satt da vi klikket på den blå setup-knappen.
Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Disse innstillingene ble satt da vi klikket på den blå setup-knappen.


<img src="uploads/lvs_setup_2.bmp" />
[[Image:lvs_setup_2.bmp]]


  Klikk *OK* begge steder for å kjøre LVS.
  Klikk *OK* begge steder for å kjøre LVS.
Line 82: Line 81:
Klikk *Lumped* og fyll ut dialogboksen tilsvarende figuren under.
Klikk *Lumped* og fyll ut dialogboksen tilsvarende figuren under.


<img src="uploads/extract_mask_lumped_parameters.bmp" />
[[Image:extract_mask_lumped_parameters.bmp]]


Åpne skjemaet i DA igjen og gå i simuleringsmodus. <br/>
Åpne skjemaet i DA igjen og gå i simuleringsmodus. <br/>
Line 88: Line 87:
Skjemaet vil nå se ut omtrent som figuren under.
Skjemaet vil nå se ut omtrent som figuren under.


<img src="uploads/sch_parasitics _included.bmp" />
[[Image:uploads/sch_parasitics _included.bmp]]


Legg til transistormodellene som skal brukes i simuleringen. <br/>
Legg til transistormodellene som skal brukes i simuleringen. <br/>

Revision as of 08:48, 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*. 

File:Drc chedr.bmp

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...

[[Image:drc_options_2.bmp]

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.

[[Image::drc_fra_meny.bmp]

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).

[[Image:lvs_setup_button.bmp]

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

[[Image:lvs_2.bmp]

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.

File:Lvs setup 2.bmp

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.

File:Extract mask lumped parameters.bmp

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

Skjemaet vil nå se ut omtrent som figuren under.

File:Uploads/sch parasitics included.bmp

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.