Synthèse ASIC
(page d'accueil)
[ Exercice 1
Incrémenteur
]
[ Exercice 2
Style
]
[ Exercice 3
Synthétisabilité
]
[ Exercice 4
Echangeur
]
[ Exercice 5
Maximum
]
[ Exercice 6
AES
]
ENS / Electronique : ASIC / FPGA
Travaux Pratiques : Simulation et Synthèse Logique pour Technologie ASIC

-~oOo~-

Introduction

1. Objectif du TP

L'objectif de ces travaux pratiques est de donner un aperçu de la fonctionalité des simulateurs et des synthétiseurs pour la technologie ASIC. Les fondements théoriques ont été vus en cours, aussi ce TP se place-t-il délibérément dans l'optique concrète de l'utilisateur.

2. Langages

Le langage de description de matériel utilisé sera VHDL. Les manuels de référence du langage (LRM) sont disponibles en ligne : Les paquetages standards de VHDL sont également accessibles en ligne : Si vous préférez coder en Verilog (ce qui n'est cependant pas recommandé dans le cadre de ce TP), voilà les LRM :

Un tutoriel en ligne, avec des exemples réutilisables de codes, est disponible depuis le site http://www.comelec.enst.fr/hdl. La partie sur Verilog est plus à jour que celle sur VHDL (en version alpha).

Tous les outils de CAO se contrôlent par le langage TCL. Les simulateurs et les synthétiseurs ne font pas exception à cette règle. Les quelques rudiments de TCL à connaître seront donnés au court du TP. Pour plus d'information, la meilleure source est la page web officielle du langage.

3. Outils informatiques

Le simulateur est ModelSim de la société Mentor Graphics. Comme l'objectif principal du TP n'est pas la simulation, seul un manuel de prise en main de l'outil est fourni : La chaîne de simulation de ModelSim (comme celle des concurrents) comprends quatre étapes (associées à quatre utilitaires) :
  1. vlib : création d'une bibliothèque de compilation (un répertoire ou ModelSim stocke ses fichiers binaires),
  2. vmap : association entre un nom logique (celui qui est utilisé dans la clause library de VHDL) à un nom physique (le chemin d'accès au répertoire créé avec vlib),
  3. vcom : compilation des sources VHDL,
  4. vsim : élaboration (édition de liens) et simulation (exécution).
Pour avoir un aperçu concret de cette chaîne, utilisez : Le synthétiseur est PKS Shell (pour Physically Knowledgeable Synthesis – Shell) de la société Cadence. La documentation du synthétiseur est répartie en plusieurs fichiers PDF thématiques. Une vue d'ensemble est disponible dans : Quelques autres documents utiles sont :

4. Technologies pour la synthèse

Nous allons utiliser deux technologies.

La première s'appelle simple, car elle ne contient qu'un nombre réduit de portes et qu'elle est caractérisée très grossièrement. Son utilité est pédagogique. Elle comprend les cellules données dans le tableau suivant. Mis à part le buffer (cellule BFX2), toutes les portes sont unitaires : elles peuvent charger en moins d'une nanoseconde une capacité maximale d'une picofarad.
Cellule Fonction logique Surface Capacité d'entrée Capacité maximale de sortie Temps de propagation
BFX2 Buffer (identité) 2 1 2 2
IV Inverseur unitaire 1 1 1 1
AN ET 2 1 1 2
EO OU Exclusif 4 1 1 2
MX Multiplexeur à deux entrées 4 1 1 2
FD Bascule D 10 1 1 1

La seconde technologie est la 130 nm de STMicroelectronics.

Nous utiliserons la bibliothèque CORE9GPLL, disposant de 693 cellules standards à faibles courants de fuites (Low Leakage), caractérisée pour : La documentation de cette bibliothèque figure dans ce recueil : Les descriptions "formelles" de ces bibliothèques, au format liberty de Synopsys, seront utilisées tout au long du TP. Il est utile de les parcourir au moins une fois :
  1. simple.lib
  2. CORE9GPLL_Worst.lib