Placement & Routage
Initialisation et utilisation de cgt
Pour initialisation de l'environnement, sourcer le script coriolis2.sh
:
> . /soc/coriolis2/etc/coriolis2/coriolis2.sh Switching to Coriolis 2.x (Release.Shared) >
(le ''.
'' est équivalent au mot clé source
)
Exécution directe d'un script Python
ou Stratus
par cgt
- Lancer la commande
cgt
. - Sélectionner le menu
"Tools" --> "Python Script"
, une boite de dialogue apparaît. Saisir le nom du scriptStratus
, sans extension, à exécuter.
Remarque: un circuit ne peut être chargé/généré qu'une seule fois en mémoire,
ce qui à pour conséquence que l'étape 2 ne peut être effectuée qu'une seule
fois pour un circuit donné. Lorsque vous modifiez votre placement, il est donc
nécessaire de quitter cgt
puis de le relancer.
Déboguage: Si votre script python contient des erreurs, cgt
affichera
une fenêtre pop-up indiquant que l'éxecution s'est mal passée, mais sans
indications précises. L'erreur python complète est affichée sur la sortie
standart dans le terminal depuis lequel cgt
a été lancé.
Routage
Sélectionner le menu "P&R" --> "Kite - Route"
.
Explication des résultats retournés par le routeur:
Dans l'illustration çi-dessus, le routage a échoué car il reste 3 segments que le routeur
n'arrive pas à router. Cela se retrouve dans le taux de routage ( Wire Length Completion Ratio
qui n'est que de 99.85%
. Le routeur indique aussi la longueur totale de
fil ayant été routée 265996
et celle restante 393
, en lambdas.
Au fur et à mesure que vous allez améliorer le placement, le taux de routage atteindra
les 100%
, et la longueur de fil totale va (fortement) décroitre.
Le Chemin de données du MIPS Micro-Programmé
L'archive çi après vous fourni la netlist du chemin de données d'un MIPS
micro-programme. Le fichier principal, à faire exécuter par cgt
est design.py
.
Note |
Configuration de | |
L'archive contient un fichier caché: |
Dans le cas des chemins de données, le problème du placement se réduit à un problème à une dimension. Autrement dit, placer un chemin de donnée revient simplement à définir l'ordre dans lequel les opérateurs (chaque opérateur est équivalent à une colonne) sont placés. Dans notre cas, on adopte l'ordre de gauche à droite.
class contest ( Model ) : def Interface ( self ) : # [...] return def Netlist ( self ) : # [...] return def Layout (self): Place ( self.acc_buff, NOSYM, XY(0,0) ) # First column: absolute placement. PlaceRight ( self.acc_reg, NOSYM ) # Second column, right of first. PlaceRight ( self.inv_np, NOSYM ) # Thirst column, right of second. PlaceRight ( self.inv_ra, NOSYM ) # ... # [...] return
Description en schéma-bloc du chemin de données. Cette description ne comprend ni tous les blocs, ni tous les signaux.
Travail Demandé
Q.1 Placement d'une colonne
Le placement de l'opérateur x_const
ne vous est pas fourni. a vous de
le compléter. Vous pouvez vous inspirer des fichiers fournis pour les autres
opérateurs.
Q.2 Placement complet
Trouver un placement du chemin de données du MIPS
minimisant la longueur
totale de fil, sans provoquer de saturation.
Avant de vous lancer dans l'ordonnancement des colonnes, il vous est fortement recommandé de faire un dessin complet ou partiel de la netlist opérateur par opérateur (et pour un bit de donnée) pour mieux apréhender ou se trouvent les possibilités d'optimisation.
Attachments (8)
-
.environment.alliance.xml (111 bytes) - added by 14 years ago.
Alliance Environment setting for Coriolis2
-
.coriolis2.configuration.xml (699 bytes) - added by 14 years ago.
Coriolis2 tools configuration.
-
amd2901_dpt.png (14.2 KB) - added by 14 years ago.
Block diagram of AMD2901 datapath
-
contest.py (23.3 KB) - added by 14 years ago.
AMD2901 netlist with an awfully bad placement
-
mips_dpt.png (20.5 KB) - added by 12 years ago.
Chemin de donnée du MIPS microprogrammé
-
MIPS.Microprogramme.tar.bz2 (6.4 KB) - added by 12 years ago.
Description Stratus du Chemin de Données du MIPS
-
MIPS-microprogrammed.tar.bz2 (6.6 KB) - added by 11 years ago.
Partial Description of the MIPS Microprogrammed Datapath
-
cgt-kite-run-comment-1.png (141.8 KB) - added by 11 years ago.
CGT/Kite Textual Ouput Commentary
Download all attachments as: .zip