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
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
===IC Station===
===IC Station===


Dette dokumentet beskriver: <br/>
Dette dokumentet beskriver:
* DRC (Design rule check) <br/>
* DRC (Design rule check)
* LVS (Layout versus schematic test) <br/>
* LVS (Layout versus schematic test)
* Ekstrahering av parameter fra utlegg
* 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
Online dokumentasjon kan leses fra firefox på mikroserver2 ''/prog/mentor/2006.2b_rhelx86linux/icflow_home/shared/htmldocs/_bk_icpl/_bk_icpl.html''.


Vi antar nå at IC station er startet fra "IC studio", http://doc.uib.no/wiki/ICStudio.
Vi antar nå at IC studio er startet, se [[IC studio]].  
I tillegg er skjemaet ferdig laget og det er laget et Viewpoint.


==Create cell==
==Create cell==


  Innstillinger for prosessen S35:
Når vi skal lage et utlegg i IC station begynner vi med å lage et nytt "View". Klikk på det biblioteket ditt og høyre-klikk deretter i Cell-vinduet og velg "New View". Velg "View Type" layout og trykk deretter Next og velg "Block" under Layout Definition og vpt_c35b4 under Connectivity Source. Deretter trykker du Finish. Du skal nå få opp IC station.
<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 (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.
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*.  
#Fra paletten: Velg ''ICrules'', deretter ''Check''.
#Velg Options i pop-up vinduet.
#Set ''Maximum results per rule check'' til et passende tall, og velg andre instillinger, f.eks. slik som vist under.
#:[[Image:drc_options_2.png]]
#Klikk ''OK''
#Klikk ''OK'' i pop-up vinduet 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.


<img src="uploads/drc_chedr.bmp" />
DRC kan også startes fra menyen øverst i vinduet. Se bilde.


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_fra_meny.png]]
 
<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)==
==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.
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/>
OBS! Hvis du har åpnet et "logic" i forbindelse med SDL, må dette lukkes nå. Velg ''File'' --> ''Logic'' --> ''Close''.
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" />
# Fra paletten: Velg ''ICtrace(M)''
# Fra menylinjen velg ''HIT-KIT Utilities > Setup LVS (ICtrace)''
# Klikk på ''Mask Mode''
# Fra paletten: Klikk på ''Load Rules''
# Velg SDL og klikk ''OK''
# Fra paletten: Klikk på ''LVS''
# Trykk på knappen ''Setup LVS...''
#:Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Disse innstillingene ble satt da av "Setup LVS (ICtrace)". Kontroller disse.
#:[[Image:Setup LVS.png|538px]]
# Trykk på knappen ''Setup Trace Props''
#:Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Kontroller.
#:[[Image:Setup Trace Properties.png|417px]]
#likk ''OK'' begge steder for å kjøre LVS.


Klikk *OK* begge steder for å kjøre LVS.
Sjekk rapportfilen. Hvis LVS-testen gikk bra vil du se et smilefjes i rapporten.


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.
 
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)==
==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.  
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 kapasistanser 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.  
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.
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.
Line 77: Line 65:
Er du i simuleringsmodus? Gå ut av simuleringsmodus.
Er du i simuleringsmodus? Gå ut av simuleringsmodus.


I IC Sation: <br/>
I IC Sation:
Fra paletten: Velg *ICextract (M)* <br/>
#Fra paletten: Velg ''ICextract (M)'' <br/>
Lukk eventuelle åpne *logic*. <br/>
#Lukk eventuelle åpne ''logic''. <br/>
Klikk *Lumped* og fyll ut dialogboksen tilsvarende figuren under.
#Klikk ''Lumped'' og fyll ut dialogboksen tilsvarende figuren under.
#:[[Image:extract_mask_lumped_parameters.png|440px]]
#Åpne skjemaet i DA igjen og gå i simuleringsmodus. <br/>
#:Skjemaet vil nå se ut omtrent som figuren under.[[Image:sch_parasitics_included.png]]
#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 paletten, 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.


<img src="uploads/extract_mask_lumped_parameters.bmp" />
==Simulering med parasitteffekter som egen nettliste==
 
Å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/>
AustriMicroSystems beskriver i filen ''/prog/design_kits/ams_hk_3.70/www/hitkit/hk370/icstation/icextract.html''
Klikk *Lib/Temp/Inc* og legg til følgende sti (for S35):
en metode for å lage en selvstendig nettliste for krets med parasittiske effekter ekstrahert fra layout.
<pre>
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.
$AMS_DIR/eldo/s35/cmos53tm.mod
</pre>
 
Fra paletten, 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.
 
==Simulering med parasitteffekter som egen nettliste==


AustriMicroSystems "beskriver her", file:///prog/design_kits/ams_hk_3.70/www/hitkit/hk370/icstation/icextract.html
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.
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''.


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.
[[Category:Mikroelektronikk]]

Latest revision as of 16:01, 12 March 2010

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 /prog/mentor/2006.2b_rhelx86linux/icflow_home/shared/htmldocs/_bk_icpl/_bk_icpl.html.

Vi antar nå at IC studio er startet, se IC studio. I tillegg er skjemaet ferdig laget og det er laget et Viewpoint.

Create cell

Når vi skal lage et utlegg i IC station begynner vi med å lage et nytt "View". Klikk på det biblioteket ditt og høyre-klikk deretter i Cell-vinduet og velg "New View". Velg "View Type" layout og trykk deretter Next og velg "Block" under Layout Definition og vpt_c35b4 under Connectivity Source. Deretter trykker du Finish. Du skal nå få opp IC station.

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.

  1. Fra paletten: Velg ICrules, deretter Check.
  2. Velg Options i pop-up vinduet.
  3. Set Maximum results per rule check til et passende tall, og velg andre instillinger, f.eks. slik som vist under.
    Drc options 2.png
  4. Klikk OK
  5. Klikk OK i pop-up vinduet for å kjøre DRC.
  6. 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.

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 åpnet et "logic" i forbindelse med SDL, må dette lukkes nå. Velg File --> Logic --> Close.

  1. Fra paletten: Velg ICtrace(M)
  2. Fra menylinjen velg HIT-KIT Utilities > Setup LVS (ICtrace)
  3. Klikk på Mask Mode
  4. Fra paletten: Klikk på Load Rules
  5. Velg SDL og klikk OK
  6. Fra paletten: Klikk på LVS
  7. Trykk på knappen Setup LVS...
    Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Disse innstillingene ble satt da av "Setup LVS (ICtrace)". Kontroller disse.
    Setup LVS.png
  8. Trykk på knappen Setup Trace Props
    Dialogboksen du nå får se vil ha innstillinger tilsvarende figuren under. Kontroller.
    Setup Trace Properties.png
  9. likk 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 kapasistanser 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:

  1. Fra paletten: Velg ICextract (M)
  2. Lukk eventuelle åpne logic.
  3. Klikk Lumped og fyll ut dialogboksen tilsvarende figuren under.
    Extract mask lumped parameters.png
  4. Åpne skjemaet i DA igjen og gå i simuleringsmodus.
    Skjemaet vil nå se ut omtrent som figuren under.Sch parasitics included.png
  5. Legg til transistormodellene som skal brukes i simuleringen.
  6. Klikk Lib/Temp/Inc og legg til følgende sti (for S35):
    $AMS_DIR/eldo/s35/cmos53tm.mod
  7. Fra paletten, velg Annotations --> Merge all
    Informasjonen fra utlegget er nå inkludert, og fargen har skiftet fra rød til gul.
  8. Sett opp simulering (analyser, plot) og kjør.

Simulering med parasitteffekter som egen nettliste

AustriMicroSystems beskriver i filen /prog/design_kits/ams_hk_3.70/www/hitkit/hk370/icstation/icextract.html en metode for å lage en selvstendig nettliste for krets med parasittiske 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.