Mikroelektronikai tervezőrendszerek Cadence Opus: Digitális tervezés és layout generálás a Cell Ensemble-lal
Szóhasználat Programok – native és külső Tools (eszközök) – context sensitive részek programokon belül Akciók – a design flow elemei
standard beépített modulok, programozói interface: SKILL nyelv, OSS: Open Simulation System tetszőleges külső szimulátor használatát teszi lehetővé egységes adatformátum: külső CAD eszköz formátuma Opus formátum Cadence Opus áttekintés 1
Vázlatos (tranzisztor szüntű) design flow : Composer Place & Route Simulation Compactor Layout Synthetizer Layout Editor Abstract Generator Cadence Opus áttekintés 2
Cadence Opus áttekintés 3 programok
A használandó CAD eszközök Standard cellás tervezésnél: Composer, Simulation, Place & Route Tranzisztor szintű tervezésnél: Layout editor, Compactor, esetleg Layout Synthesizer Abstract generator Place & Route Cadence Opus áttekintés 4
Technology file –geom. tervezési szabályok (DRC, LVS, abstr.gen. számára) –elektromos paraméterek (az extractor - layout visszafejtő számára) –eszköz visszafejtési szabályok (az extractor - layout visszafejtő számára) A DRC és az extractor a Layout editor részei Design kit –technology file –könyvtár –user interface elemek Cadence Opus áttekintés 5
Library Cell View schematic las compacted extracted abstract hspice Techno. library pins, wires, contacts Symbolic devices Cadence Opus áttekintés 6 attached
A library browser (később) egy cella vagy áramköri terv nevével együtt annak szerkeszthető reprezentációit (view-it) is megmutatja. Az open funkció a megfelelő, az adott view- hoz hozzárendelt programot aktivizálja pl.: schematic Composer (kapcs.rajz editor) layout Virtuoso (layout editor) Cadence Opus áttekintés 7 Különböző reprezentációk
A techno file főbb szakaszai Display Rules Layers Views Display Colors Purposes LayerProperties TwoLayerProperties DRC extract rules LVS LAS symbolic rules Cadence Opus áttekintés 8 A technology file SKILL rutinhívásokból áll.
Chip tervezés - témák Floorplan Place Huzalozási csatornák generálása * Globális route-olás * Részletes route-olás Visszahelyettesítés (back-annotation) * egyes eszközökben
Preview: floorplanning eszközök
View-k a floorplanning számára
Alapelemek a floorplanning-ben
Komplex elemek a floorplanning- ben
A routing (vezetékezés) lépései
Cadence Opus indítása 1 1. Középső gomb 2. OPUS almenu 3. AMS Az Opus AMS32 konzol ablak megjelenik EZ A BME-EET-n van így. Másutt másképpen van!!!
Az Opus AMS32 konzol ablak megjelenik Az AMS Cadence Hit-Kit 3.2 startup script fut ebben az ablakban. Cadence Opus indítása 2 EZ A BME-EET-n van így. Másutt másképpen van!!!
Cadence Opus indítása 3 A tervezési könyvtárat kell megadni itt. Fogadjuk el, amit a script felkínál Ez a BME-EET-n van így. Installáció függő. Cadence tervezési adatbázis a UNIX file-rendszerre van leképezve. Az ENTER megnyomása után a Cadence Interpreter Window (CIW) jelenik meg a design manager window ablakkel együtt
Cadence Opus indítása 4 Az ENTER megnyomása után a Cadence Interpreter Window (CIW) jelenik meg a library manager ablakkal együtt
A design megnyitása a library manager-ben: megfelelő view választása Könyvtáral (standard vagy saját) cellákat tartalmaznak Celláknak view-i (reprezentációi) vannak Szokásos reprezentációk: schematic: kapcs.rajz szerkesztése symbol: magasabb hierarchia szintű kapcs.rajz számára autoLayout: egy másik view-ból (pl. schematic-ból) gen. layout: egy design részletes layout-ja abstract: a floorplan készítésének elemei abstract_CE: layout körvonalak a Cell Ensemble-hoz
Reprezentációk Cadence Opus Egy cella szerkesztendő reprezentációját a library browser-ben választjuk ki. Megnyitáskor a reprezentáció szerkesztésére szolgáló programot aktivizálja a rendszer schematic Composer (schematic editor) layout Virtuoso (layout editor) abstract a cella reprezentációja a Silicon Ensemble számára abstract_CE a cella reprezentációja a Cell Ensemble számára symbol a cella reprezentációja Composer számára cmos_sch egy cella tranzisztor szintü reprezentációja Cella elnevezési konvenció: cellname: 2 fémréteg esetében cellname3: 3 fémréteg esetében
A design megnyitása a library manager-ben Standard könyvtárak és saját könyvtárak Bal egérgomb: könyvtár, cella és view választása Középső egérgomb: szerkesztés (megnyitás)
Egyszerű példa: dec4to16 4-ből 16-os dekóder –kapcsolási rajz szerkesztése hierarchikus tervezés: –dec2to4 kapcs.rajz (3 inverter, 4 nand kapu) »szimbólum generálása ehhez a részáramkörhöz –dec4to16 kapcs.rajz (5 db dec2to4 részáramkör) »szimbólum generálása ehhez a részáramkörhöz –dec4to16top kapcs.rajz (1 db dec4to16, input és output tappancsok, gnd, vdd tappancsok) –layout előállítása a Cell Ensemble-lal
Egyszerű példa: dec4to16 A végső kapcs.rajz A tappancsokat el kell nevezni a floorplaning számára.
Egyszerű példa: dec4to16 circuit check végrehajtása, mentés Megnyomni A CWI-ben valami ilyen üzenetet kell kapnunk:
Egyszerű példa: dec4to16 Ebben a fázisban ki lehet szállni az Opus-ból File | Exit A CIW és Opus AMS32 ablakok bezáródnak
Dec4to16: layout generálás Design flow vázlata A floorplan file szerkesztése (tappancsnevek); ezt a file-t kell majd használni Design flattening: PRFlatten schematic autoLayout Cell Ensemble “layout” initialize IO place add corner cells justify pad ring place std cells placed create routing channels placement elmentése Net tulajdonságok beáll. A net property file; beolvasan dó global routing detailed routing routing elmentése routed check routing A biztonság kedvéért
Dec4to16: layout 1 A kapcs. rajzból, a PRFlatten és a Cell Ensemble felh. A CIW-ben: File | Export | PRFlatten:
Dec4to16: layout 2a 3. Az output view a Cell Ensemble számára: az abstarct_CE-t be kell írni. 1. A terv kiválasztása a library browser-ben. 2. Az input view a kifejtész számára a schematic.
Dec4to16: layout 2b OK- nyomni a kifejtés (flattening) és az autolayout view generálásának elkezdéséhez
Dec4to16: layout 2c Floorplan a még el nem helyezett tappancsokkal és standard cellákkal
Dec4to16: layout 3 Az autoLayout-ot a Cell Ensemble fogja felhasználni A Virtuoso-ban: Tools | Floorplan P&R | Cell Ensemble: Így indíthatjuk el Cell Ensemble eszközöket
Dec4to16: layout 4a Floorplanning - initializálás A Cell Ensemble-ban: Floorplan | (Re)initialize: Press OK
Dec4to16: layout 4b Floorplanning - initializálás Floorplan a még el nem helyezett tappancsokkal és standard cellákkal, de már szétválogatva
Dec4to16: layout 5a Floorplanning - I/O elhelyezés (automatikus) A Cell Ensemble: Floorplan | I/O Placement: OK-t nyomni
Dec4to16: layout 5b A floorplan file szerkesztése: Az egyes nevek elé |-t kell besz]rni Ha kész, elmenteni Floorplanning - I/O elhelyezés (file-ból, a)
Dec4to16: layout 5c A floorplan file beolv.: Place | IO Commands| Read Initial File: Floorplanning - I/O elhelyezés (file-ból, b)
Dec4to16: layout 5d Jelenleg még figyelmen kívül hagyhatók a figyelmeztetések A tappancs gyűrű már majdnem rendben, de még nincsenek sarok cellák Floorplanning - I/O elhelyezés (file-ból, c)
Dec4to16: layout 6a Floorplanning - sarok cellák hozzáadása 1 Place | IO Commands| Read Initial File:
Dec4to16: layout 6b Sarok cellák kiválasztá- sa a library browser- ben OK-val elfogadni Floorplanning - sarok cellák hozzáadása 3
Dec4to16: layout 6c Floorplanning - sarok cellák hozzáadása 4
Dec4to16: layout 7a Placement - tappancsgyűrű kialakítása 1 Place | IO Commands| Justify: 1. Így beállítani (100, 50, 0.1) 2. OK
Dec4to16: layout 7b Snap to grid! Placement - tappancsgyűrű kialakítása 1
Dec4to16: layout 8a Placement - standard cellák elh.: feedthrough-k beill. Place | Automatic
Dec4to16: layout 8b Feedthrough-k választása a library browser-ban Press OK
Dec4to16: layout 8c Feedthrough-k beillesztve: Snap to grid! 0.1
Dec4to16: layout 9 Kész az elhelyezése. Mentsük el! Design | Save as placed Később, ha kell, innen újra kezdhetjük.
Dec4to16: layout generálás Design flow vázlata A floorplan file szerkesztése (tappancsnevek); ezt a file-t kell majd használni Design flattening: PRFlatten schematic autoLayout Cell Ensemble “layout” initialize IO place add corner cells justify pad ring place std cells placed create routing channels placement elmentése Net tulajdonságok beáll. A net property file; beolvasan dó global routing detailed routing routing elmentése routed check routing A biztonság kedvéért
Dec4to16: layout 10 A placed view-ból indítjuk a huzalozást: huzalozási csatornák generálása Route | Channels | Create:
Kézi munka ebben a design kit-ben. A részletektől eltekintünk. Dec4to16: layout 11a Routing - a net property-k beállítása
Dec4to16: layout 12 Routing - global routing beállításaok Route | Global Route | Automatic OK ha kész Saját preferenciák beállítása OK, ha kész
Dec4to16: layout 13a Routing - részletes routing beállításai Route | Detail Route | Automatic Saját preferenciák beállítása OK, ha kész 0.05!
Dec4to16: layout 13b Routing - részletes routing eredménye
Dec4to16: layout 14 A huzalozás elkészült Design | Save as routed. Később, ha kell, innen újra kezdhetjük.
Dec4to16: layout 15a Check routing - explode channels for checker Route | Detail Route | Explode Channels
Dec4to16: layout 15b Check routing Route | Check Mindkettőt kiválasztani OK ha kész
Dec4to16: layout 15c Check routing - eredmény: rövidzár Ez tényleg ott van! Kézi javítás vagy újrakezdés a placed állapotból, más beállításokkal.