À mesure que la complexité et la densité des cartes augmentent, la tâche de tester et de déboguer des points de test limités à l'aide d'Oscilloscopes et d'Analyseurs logiques devient de plus en plus lourde et moins efficace. Les simulateurs EDA émergents et les navigateurs de formes d'onde utilisent des milliers de domaines temporels pour surveiller les signaux et peuvent augmenter considérablement la portée du débogage. Cet article détaillera la puissance de la technologie de simulation au niveau de la carte et son rôle dans la réduction des cycles de conception et de production des cartes.
Peu importe à quel point les outils de développement sont avancés, des défauts, petits et grands, apparaissent inévitablement tout au long du processus de développement et peuvent se cacher à toutes les étapes de la conception, de la mise en œuvre et de la CAO. Avoir des défauts n'est pas effrayant. Il est important de détecter et d'éliminer ces défauts le plus tôt possible pour économiser efficacement de l'argent et du temps. Le rôle d'un outil de simulation au niveau de la carte est d'aider les concepteurs de PCB à effectuer des travaux de débogage plus rapidement avant et après la fabrication de la carte.
Technologie de simulation au niveau de la carte
Les principales étapes de la simulation au niveau de la carte sont les suivantes:
A. Élaboration d'un plan d'essai
La première étape de la simulation est l'élaboration d'un plan d'essai complet qui devrait refléter pleinement les exigences spécifiques du produit en termes de simulation au niveau de la carte. Le plan de test peut être mis en œuvre en deux phases, la première étant un test d'interface unique; La deuxième étape est un test fonctionnel global de la carte.
La phase 1 nécessite de définir clairement le type et la portée des interfaces et de les isoler complètement, par exemple entre le processeur et l'interface mémoire. Ensuite, faites un cas de test pour vérifier les performances de connexion et les caractéristiques de synchronisation de l'interface.
La phase 2 nécessite de diviser la carte en plusieurs blocs fonctionnels (un bloc fonctionnel peut être équipé d'une ou plusieurs interfaces). Après avoir confirmé le bon fonctionnement de chaque interface dans la première phase, il est possible de verrouiller la cible sur la fonction d'un seul module, c'est - à - dire de traiter la carte entière comme une boîte noire. À ce stade, vous pouvez utiliser les fonctionnalités détaillées du module de test vectoriel approprié pour traiter les problèmes de synchronisation synthétisés et les données spécifiques des blocs fonctionnels.
B. Création d'un environnement simulé
Avant la simulation, il est nécessaire d'établir un environnement analogique complet pour soutenir, traiter et rétroagir sur les différents signaux d'entrée et mesurer les signaux de sortie.
L'environnement simulé doit comprendre les éléments suivants: 1. Inspection et surveillance; 2. Tableau Web; 3. Modèle; 4. Structure du catalogue;
1. Jeu d'échecs et moniteur
Une fois le plan de test préparé, les erreurs ou les défauts sont automatiquement enregistrés. Lorsque les signaux d'excitation entrants sont ajoutés à la carte, les gens s'attendent tous à des résultats de sortie idéaux, mais les résultats analogiques peuvent être bons ou mauvais. À ce stade, il faut beaucoup de temps pour analyser les résultats de sortie. Si vous écrivez un script à comparer, vous pouvez éviter ce travail d'analyse chronophage. De plus, le même effet peut être obtenu en utilisant des drapeaux pour indiquer une situation de défaillance lors de la simulation.
Lorsque nous simulons des problèmes de synchronisation et d'intégrité des données, nous appelons la tâche utilisée pour indiquer les défauts un moniteur, tandis que le script utilisé pour simuler les caractéristiques fonctionnelles et comparer le résultat final s'appelle un inspecteur. Cette approche peut prendre un peu de temps au début, mais dans la phase de test réelle peut réduire considérablement le temps de recherche de forme d'onde et l'analyse des résultats.
2. Tableau Web
Les outils de saisie de schéma couramment utilisés ont tous la capacité de générer des tables Web verilog / vvhdl. Ces tables de réseau contiennent tous les composants et les connexions réseau entre les composants. En outre, les noms de composants et de ports dans la table de réseau sont représentés par des symboles.
3. Modèle
La simulation nécessite un modèle HDL pour chaque composant. La Bibliothèque de modèles verilog / vvhdl pour les puces standard peut être obtenue auprès de synopsys ou d'autres fournisseurs. Ces modèles fonctionnent exactement comme les pièces réelles et peuvent changer le temps de manière flexible pour répondre aux dernières exigences en matière de composants. Comme indiqué ci - dessus, les noms de composants et de ports dans la table Web sont les mêmes que ceux déclarés lors de la saisie du schéma, mais les noms de composants et de ports utilisés dans le modèle réel peuvent différer de ceux utilisés dans la table Web. Pour connecter correctement les ports de la nettable au modèle, vous devez créer un fichier de package. Ce fichier fournit uniquement une relation de mappage de port entre la table de réseau et le modèle réel, et il est spécialement conçu pour les composants avec des noms de port différents dans le modèle et la table de réseau. Construire. Par exemple, le nom symbolique du numéro d'extrémité de l'élément est OE \, mais le nom du port dans le modèle est OE \. À ce stade, un tel fichier de package est nécessaire pour établir une relation de connexion entre les broches symboliques de la table de réseau et les ports du modèle.
4. Structure du catalogue
Souvent, les concepteurs de PCB doivent établir la structure de répertoire correcte pour suivre les signaux d'entrée / sortie du processus analogique. Ces répertoires peuvent être utilisés pour distinguer différents types de fichiers d'environnement. Ces types de fichiers comprennent: CS, modèle de développement local, moniteur / inspecteur, scripts, tableau de bord, fichiers journaux, fichiers de vidage, etc. une bonne structure de répertoire facilite la gestion et le suivi de tous les fichiers d'environnement / code.
Utilisez le framerateur / deframer comme objet de bloc fonctionnel analogique (en supposant que le Contrôleur de bus PCI, le Contrôleur système et l'arbitre fonctionnent correctement, les tests à effectuer ne concernent que le framerateur ou le deframer du système), entrez le signal d'excitation du côté PCI, vérifiez les résultats de sortie du côté de la ligne numérique t1 / E1 et faites l'inverse.
Voici quelques situations de test typiques: 1. Trames avec différents contenus de données; 2. Délai de trame; 3. Superframe ou superframe étendue avec différents paramètres; 4.frame attente pour erreur CRC.
Vous pouvez simuler d'autres blocs fonctionnels de la même manière et vérifier les résultats de la simulation. Les défauts suivants peuvent survenir lors de cette phase de test: 1. Deux interfaces différentes dans des blocs fonctionnels différents ont le même nom de réseau, ce qui entraîne généralement un court - circuit. 2. Problèmes d'intégration du système, tels que le routage du signal sautant d'une interface à l'autre. 3. Le format de données d'une interface ne peut pas être supporté par d'autres interfaces. Cette phase est également appelée simulation du canal de données de la carte.
Compétences en Simulation
Voici quelques conseils pour la simulation au niveau du tableau: 1. Pour les composants de PCB programmables, essayez d'utiliser le dos pour marquer le fichier. Ces fichiers contiennent des informations prévisibles de synchronisation des signaux d'entrée et de sortie; 2. Vérifiez toutes les descriptions de réseau d'alimentation dans la grille et, en cas d'omission, remplissez - les immédiatement; 3. La grille finale ne collera pas à la carte. Les composants ci - dessus doivent être notés.
Bien que la simulation fonctionnelle présente certains des avantages remarquables mentionnés ci - dessus, elle présente certaines limitations qui rendent les résultats de la simulation impossibles à ressembler exactement à ceux d'une carte PCB réelle. Cette limite est affichée dans: 1. Il manque une identification différente du réseau d'alimentation, car en HDL, bien que le réseau d'alimentation puisse être déclaré, il n'est pas possible d'indiquer une valeur spécifique, par exemple 5V ou 3,3v. Cette fonctionnalité n'est pas encore prise en charge dans la version actuelle de HDL. 2. HDL ne peut pas simuler l'interface analogique. 3. Cette simulation ne permet pas de détecter les problèmes liés à la capacité de conduite. 4. Effectuer un test de mémoire nécessite un énorme fichier de vidage et un long temps d'exécution.