Commit 67c2fbf1 authored by Mickael Fiorentino's avatar Mickael Fiorentino
Browse files

Mise à jour des Backups

parent 6c3d6770
doc/img/1_invsymb.png

10.7 KB | W: | H:

doc/img/1_invsymb.png

18.5 KB | W: | H:

doc/img/1_invsymb.png
doc/img/1_invsymb.png
doc/img/1_invsymb.png
doc/img/1_invsymb.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/1_libman.png

36.4 KB | W: | H:

doc/img/1_libman.png

21.4 KB | W: | H:

doc/img/1_libman.png
doc/img/1_libman.png
doc/img/1_libman.png
doc/img/1_libman.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/1_log.png

31.8 KB | W: | H:

doc/img/1_log.png

23 KB | W: | H:

doc/img/1_log.png
doc/img/1_log.png
doc/img/1_log.png
doc/img/1_log.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/2_qrcextract.png

91 KB | W: | H:

doc/img/2_qrcextract.png

75.4 KB | W: | H:

doc/img/2_qrcextract.png
doc/img/2_qrcextract.png
doc/img/2_qrcextract.png
doc/img/2_qrcextract.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/2_qrcextracted.png

16.7 KB | W: | H:

doc/img/2_qrcextracted.png

73.8 KB | W: | H:

doc/img/2_qrcextracted.png
doc/img/2_qrcextracted.png
doc/img/2_qrcextracted.png
doc/img/2_qrcextracted.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/2_qrcnetlist.png

74.7 KB | W: | H:

doc/img/2_qrcnetlist.png

59.7 KB | W: | H:

doc/img/2_qrcnetlist.png
doc/img/2_qrcnetlist.png
doc/img/2_qrcnetlist.png
doc/img/2_qrcnetlist.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/2_qrcsetup.png

90.5 KB | W: | H:

doc/img/2_qrcsetup.png

72.1 KB | W: | H:

doc/img/2_qrcsetup.png
doc/img/2_qrcsetup.png
doc/img/2_qrcsetup.png
doc/img/2_qrcsetup.png
  • 2-up
  • Swipe
  • Onion skin
doc/img/2_simupara.png

36.8 KB | W: | H:

doc/img/2_simupara.png

74.9 KB | W: | H:

doc/img/2_simupara.png
doc/img/2_simupara.png
doc/img/2_simupara.png
doc/img/2_simupara.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -7,7 +7,7 @@ La conception d'un circuit intégré analogique CMOS passe par deux étapes comp
Dans le cadre de ces tutoriels nous utiliserons l’environnement de simulation et d’édition de dessin des masques **Virtuoso** de //Cadence// à travers la conception d’un inverseur CMOS. Nous utiliserons le kit de développement ''GPDK45'' (//Generic Process Design Kit - 45nm//) de //Cadence//.
Cette première partie du tutoriel traite de la conception et de la simulation du schéma de l'inverseur. Le répertoire de travail associé à ce tutoriel se situe à l’emplacement ''~/Tutos/inverseur''.
Cette première partie du tutoriel traite de la conception et de la simulation du schéma de l'inverseur. Le répertoire de travail associé à ce tutoriel se situe à l’emplacement ''~/Labs/tutoriel_analogique/inverseur''.
===== Environnement de travail =====
......@@ -22,7 +22,7 @@ Cette première partie du tutoriel traite de la conception et de la simulation d
* Se placer a la racine du projet et configurer l'environnement
<code:bash>
[shell]% cd ~/Tutos/inverseur/
[shell]% cd ~/Labs/tutoriel_analogique/inverseur/
[shell]% source setup.csh
</code>
......@@ -35,13 +35,13 @@ Cette première partie du tutoriel traite de la conception et de la simulation d
Après avoir exécuté ces commandes, vous allez voir apparaitre la fenêtre de contrôle de //Virtuoso//, appelée //Command Interpreter Window// (CIW) tel qu’illustré à la <imgref fig:log>. Elle contient l’historique de toutes les opérations que vous réaliserez, ainsi qu’un menu à partir duquel vous pouvez lancer les différents outils de //Virtuoso//.
<imgcaption fig:log| Fenêtre de contrôle de Virtuoso (CIW)>
{{1_log.png|Fenêtre de contrôle de Virtuoso (CIW)}}
{{1_log.png?nolink|Fenêtre de contrôle de Virtuoso (CIW)}}
</imgcaption>
L’accès aux circuits réalisés dans //Virtuoso// est géré par le //gestionnaire de librairies//, tel qu’illustré à la <imgref fig:libman>. Il contient des librairies standards (''analogLib'', ''basic''), des librairies spécifiques au kit (''gpdk045'', ''gpdk045_tech''), ainsi que des libraires créées par l’utilisateur (''ele8304''). Une librairie contient un ensemble de circuits appelés //cellules//. Chaque cellule est décrite par différentes représentations (//schematic, layout, symbol//, etc.).
<imgcaption fig:libman| Gestionnaire de librairies>
{{1_libman.png|Gestionnaire de librairies}}
{{1_libman.png?nolink|Gestionnaire de librairies}}
</imgcaption>
Pour lancer le gestionnaire de librairie à partir de la fenêtre de contrôle de //Virtuoso// sélectionnez: ''Tools -> Library Manager''. Pour créer la librairie de travail de ce laboratoire sélectionnez: ''File -> New -> Library'', appelez là: ''ele8304'', puis sélectionnez: ''attach to an existing technology library'', et sélectionnez la technologie: ''gsclib045_tech''.
......@@ -51,13 +51,13 @@ Pour lancer le gestionnaire de librairie à partir de la fenêtre de contrôle d
En complément de ce guide vous avez également accès à l’intégralité de la documentation de //Virtuoso// directement dans l’aide //Cadence//. Pour lancer l’aide sélectionnez: ''Help -> User Guide''. Vous obtiendrez une fenêtre similaire à la <imgref fig:cdnshelp>. Vous pouvez parcourir les différents dossier en sélectionnant ''View -> Show Navigation''.
<imgcaption fig:cdnshelp| Documentation de Virtuoso>
{{1_help.png|Documentation de Virtuoso}}
{{1_help.png?nolink|Documentation de Virtuoso}}
</imgcaption>
===== Édition du schéma =====
<imgcaption fig:cell| Nouvelle cellule>
{{1_cell.png|Nouvelle cellule}}
{{1_cell.png?nolink|Nouvelle cellule}}
</imgcaption>
Dans cette partie nous allons nous intéresser à la conception et à la simulation du schéma de l’inverseur. Pour ce faire nous allons commencer par créer une cellule: Positionnez-vous dans la librairie ''ele8304'', puis sélectionnez: ''File -> New -> Cell View'', et appelez là ''INV''. Assurez-vous que la vue ''schematic'' est bien sélectionnée, et que l’outil ''schematic L'' sera utilisé pour l’édition du schéma, comme le montre la <imgref fig:cell>.
......@@ -65,7 +65,7 @@ Dans cette partie nous allons nous intéresser à la conception et à la simulat
Pour plus de clarté, on vous suggère d’organiser votre espace de travail, composé du CIW, du gestionnaire de librairies, et de l’éditeur de schéma, comme le montre la <imgref fig:sch>.
<imgcaption fig:sch| Éditeur de schéma>
{{1_sch.png|Éditeur de schéma}}
{{1_sch.png?nolink|Éditeur de schéma}}
</imgcaption>
==== Raccourcis claviers ====
......@@ -83,20 +83,16 @@ L’éditeur de schéma de //Virtuoso// s’utilise principalement à partir des
==== Schéma ====
<imgcaption fig:invsch| Schéma de l'inverseur>
{{1_invsch.png|Schéma de l'inverseur}}
</imgcaption>
Dans cette partie nous allons créer le schéma de l’inverseur. Pour commencer, vous devez instancier deux transistors (//nmos// et //pmos//). Utilisez la touche ''i'' dans l’éditeur de schémas et sélectionnez ''pmos1v'' puis ''nmos1v'' dans la librairie ''gpdk045''.
Utilisez la touche ''w'' pour créer les connexions entre les transistors de façon à obtenir le schéma d’un inverseur. N’oubliez-pas de connecter les //bulk// du //nmos// et du //pmos// à leur source. Ensuite, utilisez la touche ''p'' pour ajouter des pins d’entrées/sorties. Vous devrez ajouter une pin d’entrée ''in'' (//input//), une pin de sortie ''out'' (//output//), une pin pour l’alimentation ''vdd'' (//inputoutput//) et une pin ''vss'' (//inputoutput//) pour la masse.
Vous devriez obtenir le schéma de la <imgref fig:invsch>. Pour valider votre schéma cliquez sur ''Check and Save'' en haut à gauche.
==== Symbole ====
<imgcaption fig:invsymb| Symbole de l'inverseur>
{{1_invsymb.png|Symbole de l'inverseur}}
<imgcaption fig:invsch| Schéma de l'inverseur>
{{1_invsch.png?nolink|Schéma de l'inverseur}}
</imgcaption><imgcaption fig:invsymb| Symbole de l'inverseur>
{{1_invsymb.png?nolink|Symbole de l'inverseur}}
</imgcaption>
Pour pouvoir intégrer cet inverseur dans un banc d’essai, nous allons créer un symbole associé au schéma. À terme nous aurons donc trois vues différentes de l’inverseur: //schematic//, //symbol//, et //layout//. Sélectionnez: ''Create -> Cellview -> From Cellview''. Après avoir choisi la position des pins sur le symbole, vous pouvez choisir de garder son apparence par défaut, ou vous pouvez choisir de la modifier, tel que le montre la <imgref fig:invsymb>. Les seuls éléments que vous ne devez pas supprimer sont les pins.
......@@ -120,7 +116,7 @@ Pour créer le banc d’essai de l’inverseur, placez-vous dans la librairie ''
|''cap'' |analogLib |symbol |Capacité de sortie (charge) du circuit: $C=10pf$ |
<imgcaption fig:invtb| Banc d’essai de l’inverseur>
{{1_invtb.png|Banc d’essai de l’inverseur}}
{{1_invtb.png?nolink|Banc d’essai de l’inverseur}}
</imgcaption>
==== Configuration ====
......@@ -172,7 +168,7 @@ Pour sélectionner les signaux à observer, sélectionnez: ''outputs -> to be pl
La <imgref fig:tran> montre que la réponse de l’inverseur à un signal périodique n’est pas parfaite. D’une part on observe une réponse $RC$ importante, qui est principalement due à la capacité de sortie du banc d’essai (observez la différence pour $C = 1pf$). D’autre part, le temps de montée est différent du temps de descente. Ceci est dû au fait que l’inverseur n’est pas balancé. À dimensions égales, le courant qui traverse le //nmos// est plus important que le courant qui traverse le //pmos// (mobilité des électrons //vs// mobilité des trous).
<imgcaption fig:tran| Simulation transitoire>
{{1_tran.png|Simulation transitoire}}
{{1_tran.png?nolink|Simulation transitoire}}
</imgcaption>
==== Simulation statique paramétrique ====
......@@ -190,7 +186,7 @@ Dans un premier temps il faut créer la variable ''wp'' qui servira de paramètr
La <imgref fig:param> montre que $W_p = 140nm$ correspond au point de fonctionnement pour lequel l’inverseur est le plus balancé. Vous pouvez donc remplacer: ''wp -> 140n'' dans les propriétés du transistor //pmos// pour la suite.
<imgcaption fig:param| Simulation paramétrique>
{{1_param.png|Simulation paramétrique}}
{{1_param.png?nolink|Simulation paramétrique}}
</imgcaption>
==== Sauvegarder l’environnement de simulation ====
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment