En Verilog, el reloj de salida clk es igual al reloj de entrada clk2, entonces, ¿por qué este módulo usa if en lugar de if cuando se compila?
Esto no se debe a que si o no,
always@(posedge clk2) no puede tener una declaración de asignación dentro, y la cláusula if que agregó en realidad coloca la cláusula de asignación en siempre@(posedge clk2) Además, debido a que no encerró siempre con a, y debido a que su siempre no estaba encerrado con inicio y fin, de forma predeterminada, la oración que sigue inmediatamente a siempre (es decir, si, si se elimina, entonces asigne) siempre es parte del bloque. Si lo cambia a:
always@(posedge clk2) comenzar
if(clk2)
sel=1;
else
sel=0;
assign clk=clk2;
end
Mismo error
Eliminar asignación Eso es eso