Escribí el módulo generador de reloj, no sé si es verdad pero el problema está en mi módulo de registro. El error es:
ERROR: HDLCompilers: 246 - "UpDownCounter.v" línea 74 La referencia al registro escalar 'clk_1Hz' no es un valor de red legal
ERROR: HDLCompilers: 102 - "UpDownCounter.v" línea 74 La conexión al puerto de salida 'clk_1Hz' debe ser un valor neto
1 HZ CLOCK GENERATOR
module slowClock(clk, reset, clk_1Hz);
input clk, reset;
output clk_1Hz;
reg clk_1Hz = 1'b0;
reg [27:0] counter;
always@(posedge reset or posedge clk)
begin
if (reset == 1'b1)
begin
clk_1Hz <= 0;
counter <= 0;
end
else
begin
counter <= counter + 1;
if ( counter == 25_000_000)
begin
counter <= 0;
clk_1Hz <= ~clk_1Hz;
end
end
end
endmodule
Y aquí mi módulo Reg 4 bit
module Reg4(I, Q, clk, reset);
input clk, reset;
input [3:0] I;
output [3:0] Q;
reg [3:0] Q;
reg clk_1Hz = 1'b0;
slowClock clock_generator(clk, reset, clk_1Hz);
always@(posedge clk_1Hz) begin
if (reset == 1)
Q <= 4'b0000;
else
Q <= I;
end
endmodule
¿Puedes ver mi problema? :(