¿Cómo definir el puerto en el banco de pruebas?

0
module stimulus;
  wire [3:0] max,med,min;
  reg [3:0] a,b,c;
  reg cin;
  sorting_three three(max,med,min,a,b,c,cin);

  initial begin
    a=4'b0010;
    b=4'b1001;
    c=4'b1010;
    cin=1'b0;
  end
endmodule

El código anterior que da el resultado correcto después de la simulación. Cuando intento ver el esquema de RTL. Está dando error como:

ERROR:Xst - "stimulus.v" line 22: Module  has no port.
-->

Total memory usage is 123976 kilobytes

Number of errors   :    1 (   0 filtered)
Number of warnings :    0 (   0 filtered)
Number of infos    :    0 (   0 filtered)


Process "Synthesis" failed

¿Cómo definir el puerto de estímulo (es un banco de pruebas)? Creo que cable y registro son suficientes para definir el puerto de entrada y salida. Si no es así, ¿qué corrección se requiere para obtener el esquema RTL correcto?

    
pregunta SW.

2 respuestas

1

Todos los módulos necesitan una lista de puertos, por ejemplo

module mymodule(port_a, port_b);

Para un módulo de banco de pruebas, esta lista está vacía, pero aún debe estar allí:

module stimulus();
    
respondido por el Will
0

El problema es que cualquier herramienta que esté utilizando para dibujar un esquema RTL no aceptará un módulo que no sea 100% sintetizable. Un bloque RTL sintetizable debe tener puertos de entrada y salida.

    
respondido por el dave_59

Lea otras preguntas en las etiquetas