Contenu sponsorisé: Packetize les données de test pour un DFT sans compromis

Mise à jour : 26 mai 2021

L'augmentation spectaculaire du temps de test de fabrication pour les SoC complexes et de grande taille d'aujourd'hui est enracinée dans l'utilisation d'approches traditionnelles pour déplacer les données de test de balayage des broches au niveau de la puce vers les canaux de balayage au niveau du cœur. L'approche du multiplexage par broches (multiplexage) fonctionne bien pour les conceptions plus petites, mais peut devenir problématique avec l'augmentation du nombre de cœurs et la complexité de la conception sur les SoC actuels. La prochaine révolution des outils DFT pour prendre du temps de test, des coûts de test et des efforts de mise en œuvre DFT élimine les défis de l'approche pin-mux en découplant les exigences DFT au niveau du cœur des ressources de livraison de test au niveau de la puce.

Les défis de l'approche pin-multiplexée

Un moyen courant de connecter des canaux de balayage au niveau du cœur à des broches au niveau de la puce consiste à utiliser un réseau multiplexeur pour déterminer quels cœurs sont connectés aux broches au niveau de la puce. Cela fonctionne bien pour les conceptions plus petites, mais devient problématique à mesure que le nombre de cœurs augmente, que les niveaux de hiérarchie augmentent et que les conceptions deviennent plus complexes. Il présente des obstacles pour tester efficacement les cœurs en parallèle pour économiser du temps et des coûts. Les défis comprennent:

  • E / S limitées disponibles pour le test de scan
  • Canaux limités au niveau de base
  • Configurations de test corrigées pendant le processus de conception
  • Potentiel de congestion du routage à partir de canaux de scan supplémentaires

Dans une approche DFT ascendante, les ingénieurs DFT attribuent généralement un nombre fixe de canaux de balayage pour chaque cœur au début du flux, généralement le même nombre pour chaque cœur. C'est l'approche la plus simple, mais elle peut finir par gaspiller de la bande passante car les différents cœurs qui sont regroupés pour les tests peuvent avoir des longueurs de chaîne de balayage et des nombres de motifs différents (fig. 1).

Figure 1. Dans un flux DFT hiérarchique, mettre moins d'efforts dans le réseau multiplexeur peut conduire à une utilisation sous-optimale de la bande passante.

Une autre approche qui réduit le problème de perte de bande passante et économise du temps de test consiste à réaffecter les ressources d'analyse une fois que les données requises par cœur sont connues, mais cela implique la reconfiguration de la compression, le réacheminement des canaux d'analyse et la régénération des modèles (fig.2).

Figure 2. Construire un réseau multiplexeur plus complexe pour mieux aligner les entrées et sorties des canaux de balayage permettra de gagner du temps de test, mais au prix des efforts de mise en œuvre.

L'effort supplémentaire vaut-il les économies de temps de test? Chaque équipe DFT doit décider de ces compromis. Pour les conceptions avec des structures hiérarchiques plus complexes, un grand nombre de cœurs identiques ou une disposition avec carrelage, des défis et des compromis supplémentaires doivent être surmontés.

Approche Streaming Scan Network

Une nouvelle approche de distribution des données de test de scan sur un SoC, appelée Streaming Scan Network (SSN), réduit à la fois l'effort DFT et le temps de test, avec une prise en charge complète des conceptions en mosaïque et une optimisation pour des cœurs identiques. L'approche SSN est basée sur le principe de découplage des exigences de test au niveau du cœur des ressources de test au niveau de la puce en utilisant un bus synchrone à haut débit pour fournir des données de test de balayage en paquets aux cœurs.

Le nombre de canaux de balayage par coeur est indépendant de la largeur du bus SSN et du nombre de canaux de balayage au niveau de la puce et du nombre de cœurs dans la conception. Fournir des données de test de cette manière simplifie la planification et la mise en œuvre et permet de définir le regroupement de base plus tard dans le flux, pendant le reciblage des modèles plutôt que pendant la conception initiale. L'architecture SSN est flexible - la largeur du bus est déterminée par le nombre de broches de balayage disponibles - et facilite la congestion du routage et la fermeture de la synchronisation, car elle élimine le multiplexage des modes de test de niveau supérieur, ce qui la rend également idéale pour les conceptions à base de tuiles accolées.

Une partie de l'architecture SSN est constituée des nœuds hôtes de niveau cœur qui génèrent les signaux DFT localement. Les nœuds hôtes garantissent que les bonnes données sont récupérées du bus SSN et envoyées pour scanner les entrées du cœur et que les données de sortie sont replacées sur le bus. Chaque nœud sait quoi faire et quand le faire en se basant sur une simple étape de configuration tirant parti de l'infrastructure IJTAG (IEEE 1687). Les groupes de cœurs qui seront testés ensemble et ceux qui seront testés séquentiellement sont configurables, et non câblés, avec l'approche SSN. La configuration est effectuée en tant qu'étape de configuration une fois par jeu de modèles, et une fois qu'elle est terminée, toutes les données sur le bus SSN sont des données utiles.

Qu'est-ce que la livraison de données de test d'analyse par paquets?

À titre d'exemple, prenons une conception dans laquelle deux cœurs doivent être testés simultanément à l'aide du SSN (fig 3). Le bloc A a 5 canaux de balayage, le bloc B a 4 canaux de balayage. Un paquet est la quantité totale de données nécessaire pour effectuer un cycle de décalage sur les deux cœurs. La taille du paquet dans cet exemple est de 9 bits. Cependant, 16 broches sont disponibles pour le test de balayage (8 entrées, 8 sorties), de sorte que le bus SSN a une largeur de 8 bits.

 

Figure 3. Test de deux blocs en même temps. Dans une méthode d'accès par balayage pin-mux, cela nécessiterait neuf broches d'entrée de balayage au niveau de la puce et neuf broches de sortie de balayage. Avec le SSN, la taille du paquet est de 9 bits, qui est fournie sur un bus 8 bits.

Le tableau sur le côté gauche de la figure 3 montre comment les données sont transmises via le bus SSN synchrone aux cœurs. Il faudra deux cycles de bus SSN pour fournir toutes les données nécessaires pour effectuer un cycle de décalage dans les deux cœurs. Notez que l'emplacement binaire des données correspondant à chaque noyau change (tourne) pour chaque paquet. Les nœuds hôtes savent où se trouvent les données correspondant à ce cœur sur le bus et quand générer des signaux DFT locaux, y compris la pulsation de l'horloge de décalage du cœur.

Comment le SSN réduit le temps de test et le volume de données de test

Le SSN contient plusieurs fonctionnalités permettant de réduire le temps de test et le volume de données de test. L'un est le déplacement et la capture indépendants. Dans de nombreux schémas de reciblage, les cycles de capture de tous les cœurs affectés doivent être alignés. Si plusieurs cœurs se déplacent simultanément (fig. 4) et qu'ils ont des longueurs de balayage différentes, certains des cœurs avec des chaînes plus courtes doivent être rembourrés pour effectuer la capture en même temps pour tous les cœurs. Avec SSN, les nœuds hôtes sont programmés pour que chaque cœur puisse se déplacer indépendamment, mais la capture se produit simultanément une fois que tous les cœurs ont terminé le chargement / déchargement de l'analyse.

Figure 4. Lorsque les cycles de capture doivent être alignés, certains cœurs nécessitent un remplissage, ce qui est une perte de données et de temps de test.

Le SSN effectue également le réglage de la bande passante. Plutôt que de fournir autant de bits qu'il y a de canaux de balayage au niveau du cœur par paquet, le SSN peut allouer moins de bits à un cœur qui nécessite globalement moins de données. Pour un cœur qui a moins de modèles ou des chaînes d'analyse plus courtes, moins de données sont allouées par paquet, ce qui répartit mieux les données entre les cœurs et réduit finalement le temps de test.

Le SSN est une méthode évolutive pour tester n'importe quel nombre de cœurs identiques avec une quantité constante de données de test et de temps de test. Pour des cœurs identiques, le circuit de comparaison est inclus dans chaque nœud hôte. Les données fournies aux cœurs identiques sont des entrées de balayage, des données attendues et des données de masque. Cela permet au SSN de faire une comparaison à l'intérieur de chaque cœur. L'état accumulé sur tous les cœurs identiques est ensuite décalé sur le bus SSN. Un bit de réussite / échec par cœur est également capturé dans l'hôte et analysé via IJTAG.

Résumé

Le SSN a été développé en collaboration avec plusieurs Semi-conducteurs entreprises. Nous avons présenté un article avec Intel lors de l'International Test Conference 2020 qui décrit le sans souci et montre quelques résultats clés de la validation du SSN par Intel. Par rapport à une solution à multiplexage de broches, ils ont constaté une réduction du volume de données de test de 43 % ainsi qu'une réduction des cycles de test de 43 %. Les étapes de conception et de reciblage ont été 10 à 20 fois plus rapides avec le SSN.

Le SSN élimine les compromis entre avoir un flux d'implémentation efficace et rationalisé ou minimiser les coûts de test.

Geir Eide est directeur de la gestion des produits pour les produits de test Tessent DFT chez Siemens Digital Industries Software.