He escrito el código para cada componente en un Microcontrolador PIC simplemente en diferentes archivos .v. Para crear una instancia de un módulo presente en un archivo diferente al banco de pruebas, escribí la siguiente línea de código:
Stack STK (.BUS_Stack(BUS_Stack), .EN_Return(Control_PC[3]), .EN_Call(Control_PC[2]), .Q(Q));
Después de eso, el programa se ejecutó utilizando el símbolo del sistema de Windows: iverilog -g2012 Program_Counter.v Stack.v
y luego vvp a.out
. Sin embargo, cuando comencé a conectar más módulos utilizando este método, Verilog se confundió e ignoró ciertos archivos a pesar de que se declararon correctamente. Por ejemplo, aquí se ignora Stack.v:
iverilog -g2012 Program_Counter.v Stack.v CLK.v
Para solucionar esto, comencé a analizar la declaración de inclusión. Escribí include "Stack.v"
(agregar el pequeño acento al principio) al principio del módulo y compilé: iverilog -g2012 Program_Counter.v
vvp a.out
. No hubo errores en la compilación, pero a diferencia del primer método que utilicé, no se mostraba nada en la consola. Era similar a cuando presionas Intro en el símbolo del sistema sin ningún comando escrito.