2017-09-14 1 views

Répondre

4

Une boîte aux lettres est une classe intégrée autour d'une file d'attente qui utilise des sémaphores pour contrôler l'accès aux extrémités d'une file d'attente. Une boîte aux lettres a uniquement un ordre d'éléments FIFO alors que vous pouvez accéder aux éléments head, tail ou middle d'une file d'attente.

Vous utilisez généralement une boîte aux lettres lorsque plusieurs threads lisent et écrivent des données et vous avez besoin de l'opération atomique de test-et-ensemble de sémaphore pour savoir quand la boîte aux lettres est pleine ou vide. Si vous n'avez qu'un seul processus de lecture et d'écriture dans une file d'attente, il n'est pas nécessaire d'utiliser une boîte aux lettres. Cependant, s'il y a plus d'un thread, une boîte aux lettres est une classe pratique à utiliser.

Dans l'UVM, nous utilisons un FIFO TLM qui est un autre wrapper autour d'une boîte aux lettres. Les connexions TLM fournissent une interface d'isolation de sorte que vous n'avez pas besoin de savoir ce qui se trouve de l'autre côté de votre port. Voir https://verificationacademy.com/sessions/how-tlm-works