• Aucun résultat trouvé

LA CARTE D’ÉLECTRONIQUE DHCAL1 53 un train et à les éteindre pendant la lecture Une fois la lecture de tous les ASICs d’une

Électronique du calorimètre hadronique semi–digital

2.3 LA CARTE D’ÉLECTRONIQUE DHCAL1 53 un train et à les éteindre pendant la lecture Une fois la lecture de tous les ASICs d’une

carte réalisée, la partie numérique pourrait également être éteinte. Le tout serait allumé à nouveau peu avant l’arrivée du train de particules suivant.

Le composant USB permet, comme dit en 2.3.2.3 de procéder à des opérations simples de lecture/écriture. Le FPGA doit gérer un protocole pour mener à bien les échanges avec l’ordinateur de pilotage par son intermédiaire. L’architecture choisie est décrite et argumentée en 2.3.4.4.

Le microprogramme doit prendre en charge la réception et la retransmission des signaux de contrôle de la DAQ analogique vers les ASICs. Comme cette fonctionnalité doit être testée avant de procéder à une étape d’intégration plus complexe, une fonction d’émulation du pilotage y sera ajoutée qui permettra entre autre d’observer les sorties analogiques des ASICs et de systématiser des mesures. Les signaux de pilotage devront donc être multiplexés entre ces deux fonctionnalités avec la possibilité de commuter de l’un à l’autre. La figure 2.16 schématise le principe du microprogramme. Différents blocs y sont visibles : le FPGA au centre, la liaison avec le composant USB sur la droite (cf. gestion des accès USB en 2.3.4.3 et protocole d’échange avec le microordinateur en 2.3.4.4), l’ASIC sur la gauche (cf. séquencement en 2.3.4.2 et configuration en 2.3.4.5) et la lecture analogique en bas (cf. 2.3.4.6). Les différents types de signaux d’interface y sont représentés.

Figure 2.16 – Schéma de l’ensemble du microprogramme de DHCAL1. En bleu sont repré- sentés les signaux de contrôle et de données de l’USB, en vert les signaux qui concernent la partie numérique de l’ASIC et en violet le pilotage par une DAQ externe.

Comme indiqué en 2.2.6, une attention particulière est à apporter à la conception de la logique vis à vis de la protection contre les instabilités auxquelles peuvent mener les SEUs ; les machines d’états sont des éléments sensibles aux radiations car elles sont constituées d’éléments mémoire qui stockent l’état courant. Une protection basique afin de les rendre plus résistantes est de coder les états en suivant un code gray. Un seul bit change lors d’une transition de ce code. De cette manière, un état erroné peut être détecté et le comportement adéquat adopté, à savoir se replacer dans un état connu.

On peut pousser ce raisonnement plus loin en utilisant des codes correcteurs d’erreurs, qui selon leur complexité, peuvent permettre d’identifier plusieurs erreurs concomitantes et même de les corriger et donc de continuer à avoir un fonctionnement normal. De tels

codes n’ont pas été mis en place pour le moment car le besoin de se protéger des radiations n’a pas encore été quantifié.

Tous les signaux externes au FPGA sont double–clockés sur l’horloge système. Cela signifie qu’ils passent chacun dans deux bascules l’une après l’autre, toutes deux situées le plus près possible de la patte d’entrée correspondante du composant. Ce procédé permet de s’affranchir avec une bonne probabilité des métastabilités causées par la différence de phase trop petite entre une variation d’un signal extérieur et le front de l’horloge d’échantillonnage locale.

Le fonctionnement des machines d’état est régi uniquement par des impulsions d’une largeur d’une période d’horloge afin de simplifier leur fonctionnement. Les signaux plus long sont réduits à cette largeur par la détection de leurs fronts qui portent le sens de l’action du signal. De la même manière, les sorties de ces machines d’état sont des impulsions, qui sont calibrées pour avoir la longueur nécessaire avant d’être envoyés aux ASICs. Pendant la génération d’un de ces signaux, un drapeau « occupé » est levé.

Dans les paragraphes suivants sont détaillés l’ensemble des blocs fonctionnels du micro- programme en commençant par le séquencement des ASICs. Afin de ne pas surcharger la lecture de ce chapitre, les indications techniques sur les sous–parties du microprogramme comme les listes des ports d’entrée/sortie, les diagrammes d’état et les simulations ont été reportées dans l’annexe B (pages 113–133) qui possède les mêmes découpage et titres.

Autant dans les paragraphes suivants que dans l’annexe, les noms utilisés pour les signaux, bien que semblables aux noms des ports d’entrée/sortie du HaRDROC1, n’y sont pas identiques, afin de respecter une nomenclature donnée. Cela concerne par exemple la polarité (<nom_signal>_n pour les signaux actifs à l’état bas) ou la casse des caractères (Méthodologie pour l’écriture de VHDL45 réutilisable [21]).

2.3.4.2 Séquencement des ASICs

La structure de la partie numérique de l’ASIC et les signaux nécessaires à son fonc- tionnement sont décrits en 2.2.4.

Les horloges

En l’absence d’horloge machine, une horloge de fréquence 5 MHz est fabriquée à par- tir de l’horloge système 40 MHz pour donner le rythme de l’acquisition. Il faudrait par précaution utiliser pour cela une DLL ou un DCM, des composants spécialisés pour les opérations sur des signaux d’horloges qui garantissent une précision sur la période et un rapport de phase constant avec l’horloge originale. Cependant, comme le code développé est synthétisé en parallèle sur des FPGAs Xilinx Spartan–3E et Altera Cyclone–I (carte de test HaRDROC1) et qu’il n’est pas possible dans ce dernier de générer avec les DLLs intégrées une horloge 5 MHz à partir d’une horloge 40 MHz (rapport de décroissance en fré- quence trop grand selon l’assistant d’implémentation), il a été choisi d’utiliser un compteur à cette fin. Pour diminuer le risque d’erreur, le compteur utilisé est un compteur gray. Cette manière de procéder permet d’accéder également aux signaux des bascules intermédiaires du compteur et d’avoir des signaux d’autorisation décalés d’un rapport de phase constant avec les fronts de l’horloge qui sécurisent les transmissions sur des lignes non adaptées. Ce

45. Very High Speed Integrated Circuit Hardware Description Language : langage de description ma- tériel de haut niveau, utilisé entre autres choses pour la réalisation de la partie digitale d’ASICs ou de composants programmables

2.3 LA CARTE D’ÉLECTRONIQUE DHCAL1 55

Outline

Documents relatifs