Soy un principiante en la programación de FPGA. Acabo de comenzar a programar una placa Atlys Spartan 6 y hasta ahora he escrito un programa para parpadear los LED en un patrón de contador.
Ahora estoy tratando de enviar la señal de reloj a las frecuencias de audio del códec AC97. Aquí está el programa Verilog que he escrito:
module music(
input clk,
output ac97_sdo
);
reg [25:0] count_aud;
reg clk_aud;
assign ac97_sdo = clk_aud;
/* down-sample the 100MHz system clock to 1kHz */
always @(posedge clk)
begin
count_aud <= count_aud + 1;
if (50000 == count_aud)
begin
clk_aud <= !clk_aud;
count_aud <= 0;
end
end
endmodule
La generación de archivos de bits está bien, pero el código no parece funcionar. No escucho nada ni en Line Out ni en HP Out (tampoco sé cómo controlar la salida), y no tengo suficiente experiencia con la especificación AC97 para resolver esto. La parte de audio de la UCF es:
NET ac97_bitclk LOC = L13;
NET ac97_sdi LOC = T18;
NET ac97_sdo LOC = N16;
NET ac97_sync LOC = U17;
NET ac97_reset LOC = T17;
¿Necesito usar el reloj de bits, sincronización, reinicio, etc. para que esto funcione? Si es así, ¿cómo puedo hacerlo?
No pude encontrar ninguna información detallada en el Manual de referencia de Atlys.
¡Por favor ayuda!
Gracias.