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.

Silicon Ensemble 5.2



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 de fichiers Verilog



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 (%).
Initialisation du Floorplan

       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.

PlanPower

       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.

Placement

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

Routage des alimentations

       Le routage des cellules s'effectue en deux étapes : le routage global Route->Global Route...

Routage global

       et le routage final Route->Final Route..., choisir l'option Auto Search And Repair.

Routage final

       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.

Options d'affichage

       Vous obtenez donc comme résultat pour le placement/routage le schéma suivant.

Floorplan final

Cadence est une marque déposé de Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134.


Synopsys Cadence Design Systems, Inc.