Revisions for IC Station

changed:
-
IC Station

 Dette dokumentet beskriver: <br/>
- Oppstart av IC Station <br/>
- DRC (Design rule check) <br/>
- LVS (Layout versus schematic test) <br/>
- Ekstrahering av parameter fra utlegg

En god introduksjon til IC Station og tegning av layout finnes her: "cad.tut.II.2004.pdf", http://pluto.fysel.ntnu.no/manuals/cad.tut.II.2004.pdf <br/>
Denne er skrevet ved NTNU, men kan fint brukes her på IFT.

**Oppstart**

<pre>
mentor-s35d4
</pre>
Dette sikrer at vi kjører versjon 2003.4 av mentor-programmene. <br/>
Design Architect og IC Station vil nå starte opp med prosessen S35D4 som default. Skal du bruke en annen teknologi må programmene startes med opsjonen *-t (teknologinavn)*, f.eks. C35B4.

Gå til den katalogen hvor du vil ha prosjektfilene dine. Sett denne katalogen til arbeidskatalog med kommandoen 
<pre>
wd
</pre>

Nå kan IC Station startes med kommandoen
<pre>
ams_ic &
</pre>

Dette starter IC Station med bibloteket til prosessen S35D4.

**Create cell**

Innstillinger for prosessen S35:
<pre>
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
</pre>

___________________________________

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

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

<img src="uploads/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.

<img src="uploads/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)* <br/>
Klikk på *SETUP* (den blå knappen).

<img src="uploads/lvs_setup_button.bmp" />

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

<img src="uploads/lvs_2.bmp" />

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.

<img src="uploads/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. <br/>
Er du i simuleringsmodus? Gå ut av simuleringsmodus.

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

<img src="uploads/extract_mask_lumped_parameters.bmp" />

Åpne skjemaet i DA igjen og gå i simuleringsmodus. <br/>

Skjemaet vil nå se ut omtrent som figuren under.

<img src="uploads/sch_parasitics _included.bmp" />

Legg til transistormodellene som skal brukes i simuleringen. <br/>
Klikk *Lib/Temp/Inc* og legg til følgende sti (for S35): 
<pre>
$AMS_DIR/eldo/s35/cmos53tm.mod
</pre>

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

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

Lykke til!

<hr>

Simulering med parasitteffekter som egen nettliste

 AustriMicroSystems 
<a href="file:///pakke/mgc/design_kits/ams_hk_3.51/www/hitkit/hk350/icstation/icextract.html#6">
beskriver her</a>
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.