2017-09-13 3 views
-4

J'ai un DUT qui peut prendre des paquets des 4 interfaces identiques (A, B, C, D) Les paquets d'un port peuvent aller à l'un des ports de sortie (1,2,3 , 4). Exemple: Les paquets de A peuvent aller sur 1, 2, 3 ou 4. Les paquets du port B peuvent aller à 1, 2, 3 ou 4 et ainsi de suite. Les paquets arrivant sur le même port sont en ordre mais les paquets peuvent être entretenus dans n'importe quel ordre entre A, B, C, D (aucun ordre n'est maintenu entre les ports puisque les 4 interfaces peuvent être actives en même temps envoyant des paquets).Vérification ASIC d'un commutateur multiport

Comment vérifier un tel DUT? Quelle structure de données de tableau de bord utiliser? J'ai besoin de traiter le DUT comme une boîte noire car je ne sais pas comment le DUT décide du port sur lequel envoyer les paquets. J'ai un agent uvm sur chacune des 4 interfaces A, B, C et D. Une séquence virtuelle contrôle les séquences sur les 4 agents.

Aucune entrée? Merci d'avance.

+1

Votre question est trop large. J'utiliserais 'uvm_tlm_analysis_fifo' dans mon tableau de bord pour collecter les paquets et les traiter comme requis. – noobuntu

Répondre

0

Votre question est très large et basée sur l'opinion. Vous pouvez uniquement vérifier en fonction des exigences qui vous sont données. Un paquet qui vient en a pour sortir intact. S'il n'y a pas d'exigences concernant les ports qu'ils rencontrent, cela ne devrait pas avoir d'importance pour votre testbench. Il doit y avoir d'autres exigences concernant le débit que vous n'avez pas mentionnées. Dans la situation la plus simple, vous devez rendre tous vos paquets uniques avec un ID de paquet global de sorte que vous puissiez les envoyer à un tableau de bord commun, et à la fin du test, faire correspondre tous les paquets reçus avec le paquets. Un tableau associatif avec l'ID compressé fonctionne bien pour cela.