Tutorial on ALLIANCE 1.1

ALLIANCE reprezinta un set de instrumente de proiectare VLSI.

Descrierea Chip-ului

Circuitul consta dintr-un sumator pe 4 biti, un registru pe 4 biti si un multiplexor 2x1 pe 4 biti. Intrarile sint in partea stinga a desenului, iesirile in partea dreapta. Cu sel si ck se "controleaza" comportamentul circuitului.

Metoda de proiectare

Metoda de proiectare consta din 5 pasi:

1) Descriere de comportament si simulare.

2) Generare si validare descriere.

3) Layout fizic.

4) Validare proiectare.

5) Conversie din simbolic in real.

Pasii 2) si 3) trebuie executati pentru fiecare nivel ierarhic. In cazul nostru avem numai 2 nivele : core si chip.

 

 

Setarea mediului de executie

 

Pentru ALLIANCE sint necesare urmatoarele setari:

> setenv MBK_CATA LIB .:..../alliance-2.0/cells/scr: ..../alliance-2.0/cells/ring/pad12

> setenv MBK WORK LIB .

Distingem 2 seturi de celule: standard-cell library si pad library. Directorul de lucru a directorul curent

Descriere de comportament si simulare:

Tiescrierea comportamentala a circuitului (model VHDL) se afla in fisierul addaccu.vbe

Compilare

Cu aceasta comanda se determina corectitudinea de sintaxa:

> asimut -b -c addaccu

-b descriere comportamentala

-c numai compilare

Simulare comportament si validare

Pentru simulare este nevoie de un fisier cu "date", addaccu.pat, care a un fisier text. Acest fisier contine atit valori pentru intrari cit si pentru iesiri, realizindu-se astfel VERIFICAREA comportamentului.

> asimut -b addaccu addaccu result 1

addaccu.vbe este descrierea comportamentala.

addaccu.pat este fisierul de date initial.

result1.pat este fisierul de date rezultat.

Generare descriere structurala(netlist)

1) Generare pentru core.

2) Generare pentru chip. Pentru core se vor genera celule standard care descriu functiile logice pentru "adder", "multiplexer" si "accumulator", si firele de legatura. Nu se foloseste un editor de scheme, ci unul text. (addaccu.c)

Compilarea programului C se face cu genlib.

> setenv MBK_IN_LO vst

> setenv MBK_OUT_LO al

vst VHDL

al format de iesire, suporta informatii specifice (capacitante)

Se seteaza layout-urile de intrare si de iesire.

> genlib addaccu

~isierul addaccu.vst contine descrierea rezultata.

> genlib chip

Creaza chip. vst.

Simularea cu fisierele rezultate

Putem simula acum intreg circuitul, cu fisierele de date anterioare

> asimut chip addaccu result2

chip chip.vst

addaccu addaccu.pat

resultl resultl.pat, fisierul rezultat

Generare layout core

Generarea layout-ului are 2 pasi: 1)placare celule (automata sau manuala) 2)rutare automata Sistemul ALLIANCE CAD poate executa acesti 2 pasi simultan. scr este un instrument de plasare si rutare care produce automat layout-ul din netlist.

> setenv MBK_IN_PH ap

> setenv MBK_OUT_PH ap

ap format de intrare si de iesire

> scr -p -r addaccu addaccu

addaccu(1) netlist addaccu.vst.

addaccu(2) addaccu.ap, layout-ul rezultat.

-p plasare automata

-r rutare automata

a fost generat layout-ul pentru core

Router core-pad

Acum se realizeaza legaturile dintre celule. ring este instrumentul care foloseste fisierul chip. rin.

> ring chip chip

chip(1) chip.vst

chip(2) chip. ap

Vizualizare layout chip

Vizualizarea se face cu ajutorul editorului de layouturi simbolice graal.

> grad chip

[H [2JExtraction of the chip netlist

Pentru verificare layout-ului folosim 2 instrumente: lynx si lvx.

Ivnx extrage din layout-ul fizic o reprezentare netlist a circuitului.( in cazul nostru: pentru core)

Ivx compara descrierea functionala generata cu cea iniutiala

> setenv MBK_OUT_LO al

> lynx -v -f chip chip

chip(1) chip.ap

chip(2) chip.al

-f fisierul rezultat va contine numai celule standard

-v "verbose"

Verificare core

> Ivx vst al chip chip -f

Ivx is very smart. Along with a comparison with the original netlist, lvx is able to produce a consistent netlist interface by re-ordering the interface terminals.

vst format chip.vst

al format chip. al

chip(1) chip.vst

chip(2) chip.al

-f celule standard

chip. al este un fisier corect pentru circuit.

Simulare cu asimut

chip. al contine informatii in plus fata de chip. vst(capacitante...)

Pentru simulare se va folosi tot addaccu.pat

> setenv MBK_IN_LO al

> asimut chip addaccu result2

chip chip.al

addaccu addaccu.pat

result2 result2.pat, fisierul generat

Extragere functionala

desb extrage di netlist o descriere VHDL care poate fi apoi simulata.

> desb -i -v chip

Se poate simula acum descrierea de comportament:

> asimut chip resultl result3 -b

result3.pat fisierul generat

Se poate face acum testarea formala. In chip vbe desb a "gasit" 4 elemente de memorare "reg_bit register".

Acestea trebuie sa corespunda celor 4 latch-uri din specificarea de comportament initiala. Corespondenta se realizeaza cu chip.inf.

-i caut chip.inf

> proof -d addaccu chip

-d se afiseaza functiile logice

Alte verificari

Trebuie acum executat un DRC (Design Rule Check)-verificare reguli de proiectare.

In ALLIANCE, DRC este druc.

> druc chip

Conversia la tehnologia reala

Scopul lui ALLIANCE este de a preveni folosirea unei singure tehnolog in realizarea circuitelor. Pentru portabilitate, se foloseste reprezentarea simbolica. Ultima etapa a proiectarii este conversia din unitati simbolice in unitati reale (instrumentul este s2r). rebuie specificata tehnologia. Tehnologia este prol12, proces 1.2.

> setenv RDS_TECHNO_NAME /top/etc/proi12.rds

pot fi 2 formate de iesire: gds(ii) si cif.

> setenv RDS_OUT gds

> setenv RDS_IN gds

> s2r -cv chip chip

chip(1) chip. ap, layout-ul simbolic al chip-ului

chip(2) chip.gds, fisierul generat