Verificación ASIC de un conmutador multipuerto

0

simular este circuito : esquema creado usando CircuitLab

Tengo un DUT que puede tomar paquetes de las 4 interfaces idénticas (A, B, C, D) Los paquetes de un puerto pueden ir a cualquiera de los puertos de salida (1,2,3,4). Ejemplo: los paquetes de A pueden ir a 1, 2, 3 o 4. Los paquetes del puerto B pueden ir a 1, 2, 3 o 4 y así sucesivamente. Los paquetes que vienen en el mismo puerto están en orden, pero los paquetes pueden recibir servicio en cualquier orden entre A, B, C, D (no se mantiene ningún orden ya que las 4 interfaces pueden estar activas al mismo tiempo enviando paquetes).

¿Cómo verifico tal DUT? ¿Qué estructura de datos del cuadro de indicadores utilizar?

    
pregunta Verif_engg

1 respuesta

0

Creo que abordaría esto manteniendo 16 colas separadas (búferes FIFO), una para cada una de las rutas posibles a través del DUT, ya que según su descripción, ese es el único sentido en el que se conserva el orden. Cuando un paquete se transmite a uno de los puertos de entrada, también se coloca en la cola correspondiente.

Cuando un paquete sale de un puerto de salida, verifique cada una de las cuatro colas asociadas con ese puerto y asegúrese de que sea el primer paquete en una de ellas. Si es así, elimínelo de la cola y continúe.

Si no, el nivel de diagnóstico para incluir en el banco de pruebas depende de usted. Por ejemplo, puede buscar todas las colas a su máxima profundidad para determinar si un paquete se eliminó o se envió incorrectamente. O simplemente puede detener la simulación y depurarla interactivamente desde allí.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas