Error de Verilog: el final de la tarea del sistema siempre se ejecuta

0

Estoy usando un Mimas V2 con un Spartan 6 CSG324 LX9. Tratando de enseñarme a usar Verilog y he estado usando esto tutorial. No he tenido problemas al ejecutar módulos VHDL y al ejecutar solo este código Verilog code (que aparece hacia la parte problemática más abajo) parece funcionar:

module myModule(A, B);
    input wire A;
    output wire B;
    assign B = !A;
endmodule
Sin embargo,

no hace mucho, ya que las entradas y salidas no están configuradas para hacer nada.

Parece que tiene un problema con la línea 15 aquí:

module myModule_tb(); 
    wire out;
    reg clock;

    always begin
        #1 clock =!clock;
    end

    initial begin
        //Initialize clock
        clock = 0;

        //End simulation
        #10
        $finish;  //<-------this line here
    end

    myModule notGate(clock, out);
endmodule

module myModule(A, B);
    input wire A;
    output wire B;
    assign B = !A;
endmodule

El mensaje de error que recibo cuando trato de implementar es

  

HDLCompiler: 1689 - "C: \ Xilinx \ Projects \ Test2 \ myModule_sim.v" Línea 15: el final de la tarea del sistema siempre se ejecuta.

Ahora, lo mejor que pude ver, seguí todos los pasos correctamente. Incluso fui tan lejos como para descargar los archivos de ejemplo provistos (la versión Mimas) al final de ese tutorial, y hace lo mismo. Entiendo aproximadamente lo que hace la tarea de $ terminar, pero no estoy seguro de por qué está causando un problema aquí. Parece que me está molestando por esperar que termine de hacer lo que se supone que debe hacer aquí.

He probado un punto y coma después del # 10 en la línea anterior, poniéndolos en la misma línea, comentando el # 10, comentando tanto el final del # 10 como el de $ y siempre obtengo el mismo error o uno relacionado con no tiene $ final

¡Ayuda! ¡No estoy seguro de por qué ISE está rechazando esa línea!

    
pregunta Liz P

2 respuestas

0

Así que instalé ModelSim y eso de alguna manera convenció a ISE para que dejara de quejarme de $finish . Lo extraño es que todavía no estoy usando un simulador ModelSim, está usando ISim. Así que no sé lo que estaba mal, pero funciona ahora: / no es totalmente útil para los futuros, ¡lo siento!

    
respondido por el Liz P
0

También estaba teniendo este problema, lo que me estaba causando era que estaba haciendo clic en la flecha verde en lugar de hacer clic derecho en "Simular el modelo de comportamiento" y seleccionar Ejecutar. La flecha verde implementa el módulo superior, que no era correcto. Al hacer clic con el botón derecho se ejecuta iSim correctamente con el módulo de prueba.

    
respondido por el Marshall Robin

Lea otras preguntas en las etiquetas