Pregunta

Tengo un par de problemas con un básico de la UVM basado TB estoy tratando de entender las secuencias y de su funcionamiento.

  1. bvalid es ser escogido siempre como 0 en el controlador al que se actualiza en el elemento de respuesta
  2. Par de mensajes de error de los últimos 2 transacciones (# UVM_ERROR @ 18:uvm_test_top.axi_agent1.axi_base_seqr1@@axi_base_seq1 [uvm_test_top.axi_agent1.axi_base_seqr1.axi_base_seq1] Respuesta de la cola de desbordamiento, la respuesta fue abandonado)

Aquí está el enlace a la compilación de código de EDA zona de juegos infantil http://www.edaplayground.com/x/3x9

Alguna sugerencia sobre lo que me falta??

Gracias

venkstart

¿Fue útil?

Solución

Tener un vistazo a la especificación de $urandom_range es una muestra de la firma como: function int unsigned $urandom_range( int unsigned maxval, int unsigned minval = 0 ).Cambiar su llamada para $urandom_range(1, 0) y debería funcionar.

El segundo error proviene del hecho de que usted está enviando las respuestas desde el controlador y no les recogiendo en su secuencia.Esta es la línea que hace es: seq_item_port.item_done(axi_item_driv_src);.Ya sea sólo de hacer seq_item_port.item_done(); (no enviar las respuestas) o poner una llamada a get_response() dentro de la secuencia después de finish_item().Lo que suele hacer es actualizar los campos de la solicitud original y solo llame item_done().Por ejemplo, si empiezo una transacción de lectura, en mi conductor me gustaría conducir las señales de control y espere a que el DUT para responder, la actualización de la data campo de la solicitud con los datos que tengo de el DUT y llame a item_done() en mi controlador para marcar la solicitud como hecho.De esta forma si necesito estos datos en mi secuencia (para restringir el futuro de elemento, por ejemplo) que la tengo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top