Changes between Version 38 and Version 39 of MethoCourseTp4


Ignore:
Timestamp:
Oct 18, 2007, 10:09:07 AM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MethoCourseTp4

    v38 v39  
    77= A) Objectifs =
    88
    9 Le but de cette séance est de vous apprendre à déboguer le modèle comportemental d'un circuit qui sera réutilisé dans les TP suivants. L'intérêt est donc double:
     9Le but de cette séance est de vous apprendre double:
    1010 * Vous apprendre, par la pratique, les méthodes de débogage.
    11  * Vous inciter à analyser en détail les fonctionnalités du circuit Am2901.
     11 * Vous inciter à analyser en détail les fonctionnalités du circuit Am2901 qui sera réutilisé dans les TP suivants.
    1212
    13 = B) Débogage des systèmes numériques synchrones =
     13= B) Méthode de débogage =
    1414
    15 On se place dans une contexte où on utilise une technique de simulation pour valider le comportement du système matériel.
     15On se place dans une contexte où on utilise une technique de simulation pour analyser le comportement
     16du modèle, et détecter d'éventuelles erreurs dans ce modèle.
    1617La méthode de débogage comporte 5 grandes étapes:
    1718
    1819 1. Créer une situation de dysfonctionnement.
    19      Cette étape peut être effectuée de deux manières (en général, elles sont utilisées conjointement). On peut attendre qu'un utilisateur mécontent signale un bogue... mais on s'expose à des manifestations de mauvaise humeur de sa part. Il est donc préférable de prendre les devants en développant différents scénarios de validation fonctionnelleon (ou ''jeux de test''). Le but est alors de maximiser le ''taux de couverture'', en activant le maximum de fonctionnalités du circuit ou du système analysé.
     20     Cette étape peut être effectuée de deux manières (en général, elles sont utilisées conjointement). On peut attendre qu'un utilisateur du modèle signale un bogue.
     21Avec cette méthode, on s'expose à des manifestations de mauvaise humeur de la part de l'utilisateur mécontent. On cherche donc à prévenir les problèmes, en développant différents scénarios (ou ''jeux de test''). Le but est alors de maximiser le ''taux de couverture'', en activant le maximum de fonctionnalités du circuit ou du système analysé.
    2022
    2123 1. Identifier un comportement anormal
    22      La simulation d'un système soumis à une séquence de stimuli définit une séquence d'événements ordonnés par dates croissantes. Dans un système complexe, il n'est pas possible de vérifier toutes les valeurs de tous les signaux à tous les cycles, et on se contente d'observer certains signaux à certains instants. Par exemple, dans un système intégré sur puce contenant un coeur de processeur exécutant du code binaire stocké dans une mémoire embarquée sur la puce, on commencera par observer les valeurs affichées par le processeur sur un terminal. Dans ces conditions, il peut y avoir un retard important (plusieurs dizaines, voire plusieurs milliers de cycles) entre le moment où apparaissent les premiers symptômes observables du dysfonctionnement (affichage d'une valeur erronée), et le moment ou le système a commencé à dévier de son comportement ''normal''. On commence par vérifier que le dysfonctionnement est reproductible, et qu'en relançant la simulation, on re-observe le même comportement anormal.
     24     La simulation d'un système soumis à une séquence de stimuli définit une '''séquence d'événements ordonnés par dates croissantes'''. Dans un système complexe, il n'est pas possible de vérifier toutes les valeurs de tous les signaux à tous les cycles, et on se contente d'observer certains signaux à certains instants. Par exemple, dans un système intégré sur puce contenant un coeur de processeur exécutant du code binaire stocké dans une mémoire embarquée sur la puce, on commencera par observer les valeurs affichées par le processeur sur un terminal. Dans ces conditions, il peut y avoir un retard important (plusieurs dizaines, voire plusieurs milliers de cycles) entre le moment où apparaissent les premiers symptômes observables du dysfonctionnement (affichage d'une valeur erronée), et le moment ou le système a commencé à dévier de son comportement ''normal''. Il faut commencer par vérifier que le dysfonctionnement est reproductible, et qu'en relançant la simulation, on re-observe le comportement anormal.
    2325 
    2426 1. Remonter à la cause du dysfonctionnement
    25      C'est la partie la plus délicate.  On sait qu'à une certaine date T1 (en pratique à un certain cycle), le système est dans un état anormal, mais on ne sait généralement pas à partir de quel cycle le système a commencé à ''dérailler''. Il faut donc ''remonter le temps'' pour déterminer la date précise TC à partir de laquelle le système à quitté son fonctionnement normal pour entrer dans un état anormal. Pour cela, il faut commencer par retrouver un état normal du système, à une date T0, la plus tardive possible, mais  évidemment antérieure à T1. Quand on a déterminé les deux dates T0 et T1 Il faut analyser - cycle par cycle- le comportement du système entre T0 et T1 pour déterminer l'instant exact le système passe d'un état normal au cycle TC (l'état est défini par les valeurs stockées dans les registres), à un état anormal au cycle TC+1.
     27     C'est la partie la plus délicate.  On sait qu'à une certaine date T1 (en pratique à un certain cycle), le système est dans un état anormal, mais on ne sait généralement pas à partir de quel cycle le système a commencé à ''dérailler''. Il faut donc ''remonter le temps'' pour déterminer la date précise TC à partir de laquelle le système à quitté son fonctionnement normal pour entrer dans un état anormal. Pour cela, il faut commencer par retrouver un état normal du système, à une date T0, la plus tardive possible, mais  évidemment antérieure à T1. Quand on a déterminé les deux dates T0 et T1 Il faut analyser - cycle par cycle- le comportement du système entre T0 et T1 pour déterminer l'instant exact le système passe d'un état normal au cycle TC, à un état anormal au cycle TC+1. Rappelons que l'état d'un système synchrone est défini par l'ensemble des valeurs stockées dans les registres internes.
    2628
    2729 1. Analyser la cause du dysfonctionnement