TUTORIAL CADENCE 97 et interface SYNOPSYS-CADENCE
7. Placement & Routage (Silicon Ensemble)
Pour lancer Silicon Ensemble, il suffit de se placer dans le
répertoire
~/cao/se, de créer le fichier
cds.lib et de taper la commande
sedsm -m=96&. Vous avez ensuite deux solutions pour réaliser
le placement et le routage, soit vous faites toutes les étapes comme
indiqué ci-dessous (c'est intéressant de voir les différentes
étapes lorsque l'on ne connait pas le logiciel), soit vous créer un
fichier macro contenant toutes les commandes. Pour exemple, voici celui du compteur
pour le placement et le routage comme ci-dessous :
se_compteur.mac, vous le lancer dans
Silicon Ensemble en faisant
File->Execute..., puis vous choisissez votre
fichier macro.
7.1 Importation des fichiers nécessaires
Il faut importer les fichiers LEF issues de la technologie
utilisée. Faites File->Import->LEF..., les fichiers à
importer sont :
/usr/local/cadence-97A/DesignKit/AMS-3.11/artist/HK_0.35/LEF/csd/csd.lef
/usr/local/cadence-97A/DesignKit/AMS-3.11/artist/HK_0.35/LEF/csd/HRDLIB.lef
/usr/local/cadence-97A/DesignKit/AMS-3.11/artist/HK_0.35/LEF/csd/IOLIB_3M.lef
il est impératif de les importer dans cet ordre.
Ensuite, il est nécessaire de fournir les informations temporelles
sur les composants utilisés. Le fichier
csd3.3V.gcf contient les chemins pour les
fichiers
.ctlf. Faites
File->Import->Timing Library...,
le fichier à importer est :
./csd3.3V.gcf
Maintenant, il existe deux possibilités, soit vous souhaitez importer un fichier
verilog venant de synopsys (donc ne contenant pas de PADs), soit vous voulez importer un
fichier DEF correspondant à la vue autoLayout avec PADs de cadence. Ces deux
possibilités vont maintenant être détaillées.
Importation au format Verilog
Vous pouvez alors importer votre fichier verilog. Faites
File->Import->Verilog..., choisissez alors votre fichier. Dans la section
variables mettre INPUT.VERILOG.BUS.DELIM à <>.
Il faut aussi définir les alimentations comme ci-dessous. Le Verilog
Top Module doit donner le module de plus haut niveau de votre fichier.
Importation au format DEF (schéma avec PADs)
Vous pouvez alors importer votre fichier DEF. Faites
File->Import->DEF..., choisissez alors votre fichier.
Une fois que le fichier principal est importé, il faut importer le fichier
contenant les PADs d'alimentation et les CORNER cells. Pour cela, le fichier
power_corner.def vous est fourni.
Tout d'abord, vous devez connaître les icons que vous utiliserez par la suite.
Les premiers icons présentés permettent de se déplacer sur le
floorplan, l'icon central permettant de recadrer la fenêtre pour avoir la vue
maximum du floorplan.
L'icon suivant permet d'appeler la fenêtre de gestion des paramètres
d'affichage (Display Option).
7.2 Pacement et Routage
Pour l'initialisation du floorplan, faire Floorplan->Initialize Floorplan...
, puis vous devez choisir parmi quatre options pour définir
la taille, seul deux sont habituellement utilisées : Aspect Ratio
qui ne donne que les proportions que doit avoir le floorplan, et
Fixed Size qui permet de définir directement la taille du floorplan.
IO To Core Distance permet de définir la distance qui doit être
respectée entre les entrées/sorties et les cellules. Vous pouvez de
plus donner l'utilisation maximum de l'espace réservé aux cellules
avec Row Utilization (%).
Il faut ensuite placer les entrées/sorties, pour cela faire
Place->IOs... et mettre l'option Random, sauf dans le cas oò
vous possedez un fichier contenant le placement des entrées/sorties.
Vous devez ensuite placer les alimentations, vous accédez au menu par
Route->Plan Power..., la fenêtre suivante apparait.
Choisir alors Add Rings, vous devez alors saisir la largeur des pistes
d'alimentation. Pour Core Ring Width mettre 10 et pour
Block Ring Width mettre 5, et cela pour le metal 1 et 2.
Ensuite choisir Add Stripes, et mettre Width à 5 et
Spacing à 2. Vous devez cliquer sur Stripe Offset From et
mettre 100 dans left (ceci définit la distance entre le coté gauche
de l'espace réservé aux cellules et la première alimentation).
Mettre 300 en face de Set to Set Spacing (définit la distance entre
chaque ligne d'alimentation). Lorsque les rings et les stripes sont placés,
vous devez fermer la fenître Plan Power.
Vous devez maintenant placer les capacités d'alimentation. Pour cela, faites
Place->Filler Cells->Add Cells... puis sélectionner les options
ci-dessous. Vous devez cliquer sur Area puis sélectionner tout le
schéma. Ensuite répéter l'opération avec RCAP en
remplaçant l'option Preendcap par Postendcap.
Vous devez alors placer les cellules : Place->Cells..., puis OK. Et lorsque
les cellules on été placées, faites File->Save As et
dans Design Name mettre qplaced, ce qui vous permettra de garder
votre schéma à chaque étape.
Vous pouvez ensuite placer les filler cells avec
Place->Filler Cells->Add Cells... puis répéter
l'opération pour les cellules FILL100P FILL50P FILL20P FILL10P FILL5P
FILL2P.
Maintenant, il faut connecter les alimentations aux cellules, pour cela faire
Route->Connect Ring.... Pour IO Pad Maximum Width mettre 10 et
pour Follow Pins Pin Width mettre 2 (voir ci-dessous).
Le routage des cellules s'effectue en deux étapes : le routage global
Route->Global Route...
et le routage final Route->Final Route..., choisir l'option Auto Search
And Repair.
Il est nécessaire de placer les FEEDs cells avec
Place->Filler Cells->Add Cells... puis sélectionner les options
comme l'indique la figure ci-dessous.
Enfin, vous pouvez modifier les options d'affichage en faisant View->Display
Options... ou en utilisant l'icon présenté au-dessus. Si vous
souhaitez voir le résultat du routage, vous devez sélectionner les
Nets et les Pins.
Vous obtenez donc comme résultat pour le placement/routage le schéma
suivant.
Cadence est une marque déposé de Cadence Design Systems,
Inc., 555 River Oaks Parkway, San Jose, CA 95134.