2017-06-05 4 views
-1

Quel est l'objectif fondamental d'un banc d'essai à couches pour la vérification lorsque nous pouvons écrire toutes les fonctionnalités dans un seul bloc de programme. Je sais que la réutilisation est un objectif, mais ce qui en fait est unique.Pourquoi utiliser un banc de test en couches plutôt qu'un simple bloc de programme?

+2

J'ai du mal à imaginer comment quelqu'un peut tester entièrement un processeur _simple_ 4-stage-pipeline 16-bit pipeline ou un _simple_ 4-port routeur avec _one simple_ bloc de programme? Même avec plusieurs tests _simple_, il ne faudra pas longtemps avant de dupliquer le code entre les tests. Mettre le code dupliqué dans une bibliothèque commune (ou fichier d'inclusion) est en fait le début d'un banc d'essai stratifié rudimentaire. Mais si je ne le fais pas, tout changement de protocole/design serait un énorme casse-tête. Et comment est-ce que je ferais passer mes contrôleurs de TB de niveau de module à la TB de premier plan? – Greg

Répondre

1

Cela dépend de la taille de votre conception. Si votre conception est très petite, un bloc de programme fonctionne probablement bien. (BTW, je déconseille fortement l'utilisation de bloc de programme, utilisez un module supérieur à la place.Il existe des problèmes connus dans la programmation de thread avec bloc de programme dans les grands simulateurs 3 EDA)

Cependant, si vous êtes design est énorme et vous devez tester En divisant n'importe quelle conquête, vous devez construire votre banc d'essai en couches qui correspondent à la division du travail. Si vous ne couchez probablement pas votre testbench, vous ne pourrez pas réutiliser votre code de niveau de bloc dans l'environnement de niveau système.