• Aucun résultat trouvé

CHAPITRE 5 PREUVE DE CONCEPT

5.2 Étude avec un microcontrôleur PIC

5.2.4 Résultats

5.2.4.1 Contrôle du signal enable

L‘objectif de cette série de tests est de vérifier que l‘outil permet de contrôler des signaux à partir d‘une commande utilisateur. Par cet exemple, la communication SPI en provenance du PIC est activée grâce au contrôle du signal enable.

Le Tableau 5.1 donne la liste des instructions envoyées dans l‘ordre à l‘outil de vérification afin de forcer un « 1 » logique sur la sortie enable. Les instructions sont envoyées à travers le module VIO de Chipscope.

Tableau 5.1 : Liste d‘instructions envoyées à l‘outil de vérification pour contrôler le signal enable (configuration parallèle).

Instruction Data Description

WIR_SET_MODE 2 Le module P1500 est en mode parallèle

WR_P_SHIFT 1 On applique le vecteur « 0001 » en parallèle aux entrées de test des cellules

WR_UPDATE

-- On copie l‘entrée de test sur la sortie fonctionnelle des cellules, dans notre cas enable vaut « 1 ». Cette action n‘a pas d‘effet sur les cellules d‘observation.

Après l‘envoi de ces trois instructions, une transmission SPI en provenance du PIC est observée, ce qui confirme que le signal enable a été mis à « 1 ». La Figure 5.5 donne un aperçu de deux des signaux SPI qui sont générés par le PIC.

Figure 5.5 : Capture d‘écran du signal SPI observé avec l‘oscilloscope.

Voie 1 : signal de donnée SDO2 = 0xB5 — Voie 2 : signal d‘horloge SCK2 à 10 MHz Cette capture d‘écran valide que l‘horloge du SPI est de 10 MHz, et que l‘information transmise est 0xB5 en hexadécimal, soit « 1011 0101 » en binaire.

Il est aussi possible de contrôler le signal enable en utilisant le mode sériel du module P1500. Le Tableau 5.2 donne les instructions nécessaires.

Tableau 5.2 : Liste d‘instructions envoyées à l‘outil de vérification pour contrôler le signal enable (configuration sérielle).

Instruction Data Description

WIR_SET_MODE 1 Le module P1500 est en mode sériel WR_P_SHIFT

1 On applique « 1 » à l‘entrée de test du module 1500. Un seul décalage est nécessaire, car la cellule de contrôle du signal enable est la première cellule.

WR_UPDATE

-- On copie l‘entrée de test sur la sortie fonctionnelle des cellules, dans notre cas enable vaut « 1 ». Cette action n‘a pas d‘effet sur les cellules d‘observation.

5.2.4.2 Observation de la trame SPI

L‘objectif de cette série test est de vérifier que l‘outil permet d‘observer des signaux, de manière sérielle ou parallèle, à partir d‘une commande utilisateur. De plus, la fonctionnalité de la mémoire externe est vérifiée, car les données observées sont envoyées dans la mémoire, puis lues et envoyées en sortie de l‘outil. Par cet exemple, la communication SPI est échantillonnée puis enregistrée dans l‘outil.

Le Tableau 5.3 donne la liste des instructions envoyées dans l‘ordre à l‘outil de vérification pour pouvoir enregistrer puis lire une trame SPI en mémoire. Les instructions sont envoyées à travers le module VIO de Chipscope.

Tableau 5.3 : Liste d‘instructions envoyées à l‘outil de vérification pour observer une trame SPI. Instruction Data Description

WIR_SET_MODE 2 Le module P1500 est en mode parallèle

T_DEC_MODE 7 Le trigger est configuré pour se déclencher sur un front descendant du signal échantillonné « select »

T_WINDOW FF La largeur de la fenêtre d‘écriture en mémoire est de 255

T_ARM -- Le trigger est armé

WR_CAPTURE -- Les cellules P1500 capturent les signaux : l‘échantillonnage est activé

C_READ -- Lecture des signaux écrits en mémoire

Pour vérifier le bon fonctionnement de l‘outil, le module ILA de Chipscope est utilisé pour observer les signaux internes du FPGA. Les signaux internes utilisés pour le déclenchement de l‘ILA sont spécifiés dans la section 5.1.2.2, Interconnexions, page 99 (run, rw et exec).

La Figure 5.6 permet d‘observer les signaux internes lors du déclenchement et de l‘enregistrement de la trame SPI en mémoire. Une fenêtre de 500 échantillons est sélectionnée avec Chipscope pour permettre d‘observer avec en totalité l‘échantillonnage de l‘outil paramétré à 255 échantillons. Les signaux sample_x correspondent aux signaux SPI (spi_select, spi_clock et spi_data) échantillonnés avec un décalage d‘un coup d‘horloge. Ce décalage correspond aux registres par lesquels passent les signaux dans les cellules d‘observation P1500. Le signal run passe à 1 quand la condition de déclenchement de l‘outil est rencontrée (front

descendant de spi_ss). Il y a ici un décalage de deux coups d‘horloges entre la condition de déclenchement et la montée du signal run. Puis le signal run reste à 1 pendant une durée égale au paramètre window, soit 255 cycles. Cette durée est représentée avec les marqueurs O et X sur la forme d‘onde de Chipscope. Enfin, le signal read_done passe à 0 dès la montée du signal run, il indique que de nouvelles données sont disponibles en mémoire.

Figure 5.6 : Observation de signaux avec Chipscope : déclenchement du trigger et enregistrement en mémoire.

La Figure 5.7, représente les signaux internes lors de la commande de lecture en mémoire. Les signaux mem_data_x sont les informations lues en mémoire et correspondent aux signaux SPI précédemment échantillonnés (spi_select, spi_clock et spi_data). La lecture continue tant que le signal read_done est à 0. Les données sur le bus mem_data sont valides pour chaque coup d‘horloge où le signal data_valid vaut 1. Ce dernier signal passe périodiquement à 0 : ceci correspond à la lecture d‘un nouveau paquet de 64 bits en mémoire. En effet, il y a 3 canaux de lecture (mem_data est de largeur 3 bits) donc tous les 21 coups d‘horloge, un nouveau paquet de 64 bits doit être lu dans la FIFO de données pour avoir la suite de l‘information, avec 21*3 bits = 63 bits (ceci fait référence à la section 4.5.1.2 sur le contrôleur, page 87).

Figure 5.7 : Observation de signaux avec Chipscope : lecture en mémoire.

En conclusion, la trame SPI a correctement été détectée, enregistrée puis restituée en mémoire. Le temps et la condition d‘échantillonnage sont respectés. De plus, les instructions demandées dans ce test fonctionnent de la manière attendue.