Atelier
Inter-
Universitaire
de
Micro-nano
Électronique



Mise à jour: 13/9/12

TP de SIMULATION de FAUTES

Ph. Bourdeu d'Aguerre, J.C. Geffroy


INTRODUCTION

Cette manipulation a pour objet l'étude du test logique de circuits combinatoires et séquentiels. Cette approche s'effectue dans l'environnement de l'outil de CAO Cadence. Les circuits à étudier sont décrits au niveau portes ou HDL à l'aide du langage Verilog.

L'objectif est double :

Le TP complet comprend l'étude de plusieurs circuits :

A l'exception de la mémoire, ces circuits seront simulés avec 2 simulateurs complémentaires:

La mise en oeuvre du TP est expliquée dans un document séparé.

1. - ÉTUDE du 1er CIRCUIT : full_adder

Afin d'étudier les pannes d'un circuit combinatoire, et d'appliquer les méthodes de test basées sur la sensibilisation des chemins (type D-Algorithme de IBM), nous considérons un additionneur complet dont le schéma en portes (XOR et NAND) est dessiné ci-dessous.

Hypothèse: les pannes pouvant affecter ce circuit sont de type collage à 0 ou collage à 1 des entrées/sorties des portes (stuck-at faults). Il y a donc 2x16 = 32 pannes possibles (2 par ligne).

Additionneur complet

L'objet du TP est d'étudier la couverture de pannes de diverses séquences de test. Le circuit est déjà décrit en Verilog avec un repérage des différentes lignes (notées pour le moment a, b, c,1,... , S, et R. On utilise le simulateur de fautes de Cadence (VERIFAULT) pour analyser les pannes détectées et non détectées par des séquences d'entrées.

Pour se familiariser avec les simulateurs, faire une simulation Verilog avec une séquence de simulation à 2 vecteurs. Quel est le "toggle count" ?

Utiliser la même séquence de 2 vecteurs avec Verifault et déterminer la couverture.

Une séquence de test est appelée toggle test si elle possède la propriété de mettre chaque ligne à 0 et à 1. En fait, le toggle test est insuffisant pour tester toutes les pannes de collage, comme on va l'analyser ici. Par exemple, une porte ET à 2 entrées: si on applique 00 puis 11, chaque ligne est mise à 0 et à 1, et pourtant on ne teste pas les collages à 1 de chacune des entrées !

  1. On applique une séquence <000, 011, 111> à l'additionneur complet. Vérifier que chaque ligne est placée à 0 et à 1.

  2. Trouver l'ensemble des pannes détectées et montrer que la couverture n'est pas de 100%. Quelle est la couverture obtenue ?

  3. Établir ensuite une séquence permettant d'avoir une couverture de 100%. Essayer d'obtenir la séquence la plus courte possible.

2. - TEST de 3 additionneurs cascadés : adder3

Un additionneur 3 bits est réalisé avec 3 additionneurs complets de l'exercice précédent selon le schéma ci-dessous.

3 additionneurs cascadés

Ouvrir le circuit adder3 dans la fenêtre de schéma. Observer le circuit.

  1. Trouver une séquence de test simple basée sur le comptage assuré par ce circuit.

  2. Appliquer cette séquence au simulateur de fautes pour déterminer les pannes non détectées.

  3. Si cela est nécessaire, compléter la séquence afin de détecter toutes les pannes.

3. - TEST d'un COMPTEUR SYNCHRONE: compt4

Un circuit diviseur de fréquence est réalisé avec 4 bascules T synchrones selon le schéma ci-dessous. Il possède une entrée d'horloge Clk, une entrée de validation EN, une entrée de remise à 0 asynchrone RSTb, et une sortie Cout.

Compteur synchrone 4 bits

Ouvrir le circuit compt4 dans la fenêtre de schéma et observer le.

Note : le signal d'horloge, est généré ailleurs. Il ne fait donc pas partie des vecteurs. Les vecteurs définis seront appliqués à chaque front actif d'horloge.

  1. Trouver une séquence de test simple basée sur le comptage assuré par ce circuit.

  2. Appliquer cette séquence au simulateur de fautes pour déterminer les pannes non détectées.

  3. Si cela est nécessaire, compléter la séquence afin de détecter toutes les pannes.

Note: il peut être utile de visualiser les chronogrammes après les simulations Verilog.

4. - TEST d'un AUTOMATE au niveau GRAPHE d'ÉTATS: MEF

Une machine à états finie de type MOORE synchrone à une entrée E et une sortie Y est représentée par un graphe à 4 états dessiné ci-dessous.

Graphe d'états

La sortie Y vaut 1 dans les états 2 et 3. Les arcs sont étiquetés par les valeurs de l'entrée qui provoquent la transition. On donne également une réalisation en bascules D et en portes NAND. On suppose que la machine peut être remise dans l'état initial 1 par un signal asynchrone de RAZ des bascules.

Machine à états finie

Le codage des états est le suivant:

État

Net9

1

0

0

2

0

1

3

1

1

4

1

0

Ouvrir le circuit MEF dans la fenêtre de schéma.

Note: l'initialisation du circuit MEF est extérieure aux vecteurs, il n'y a donc qu'une entrée.

  1. Trouver une séquence de simulation qui passe une fois par chacun des états internes. Appliquer cette séquence au simulateur et déterminer la couverture du test.

  2. Trouver une séquence de simulation qui passe au moins une fois par chaque arc du graphe. Appliquer cette séquence au simulateur et déterminer la couverture du test.

  3. Chercher à tester les pannes éventuellement non couvertes à la question précédente.

5. - SIMULATION de la MÉMOIRE

Les mémoires peuvent avoir des fautes qui ne sont pas représentables par des collages simples, on ne peut donc pas utiliser le simulateur de fautes classique. On s'intéresse ici à une petite mémoire simple comprenant 4 mots de 4 bits. Les signaux sont un port bidirectionnel 4 bits (data), un signal write (wr) et 2 bits d'adresse (a1 et a0). La structure en portes de ce circuit n'est pas décrite : elle est supposée inconnue.

RAM 4x4

La simulation de la mémoire se fera à l'aide d'un petit programme spécifique qui prend en compte certaines fautes propres aux mémoires:

Faire tourner le programme avec quelques vecteurs; il vous donne la couverture pour les différents types de fautes.

Trouver une séquence pour avoir 100% de couverture.

Note: il est intéressant de chercher à avoir la séquence de test la plus courte possible. Le record actuel est de 32 vecteurs par:

6. - CIRCUITS SUPPLÉMENTAIRES : compt8 et compt8r

Le problème et l'utilisation sont les mêmes que pour compt4.


Ph. Bourdeu d'Aguerre et J.C. Geffroy