Sin más información, todo lo que podemos hacer es adivinar. No viene directamente y dice si esta fuente de "pulsos rápidos" es AC'97, por lo que mi respuesta va a suponer que es solo un tren de pulsos arbitrario que desea ver y procesar. Si es AC'97, es probable que no quieras conectarlo a una entrada de audio analógica (probablemente).
Adivina 1
El conector de 3.5 mm en la placa Atlys tiene un poco de acondicionamiento de señal y se puede conectar directamente a un pin de entrada del FPGA. Puede ejecutar esa señal a través de un sincronizador y Bob es su tío. Su tiempo de detección tendrá una resolución de la señal del reloj FPGA utilizada para sincronizar la señal entrante, y se habrá retrasado por muchos flip flops en su sincronizador.
Adivina 2
El conector de 3.5 mm en la placa Atlys se trata como una señal analógica (tiene sentido, ya que los conectores de 3.5 mm se usan normalmente para audio), se acondicionan como tales y se envían a la entrada de un ADC. En este caso, tiene que conducir el ADC con el FPGA y mirar la salida del ADC para determinar cuándo entró un pulso. El ancho de banda de la señal es de solo 6kHz, por lo que esto realmente no debería ser un problema, y puede filtrar Los datos de ADC más si es necesario. La salida de todo esto debería ser un tren de pulsos digital.
Adivina 3
Similar a Guess 2, pero quizás tenga suerte y tenga la señal analógica del conector de 3.5 mm que alimenta un comparador. La salida del comparador va al FPGA, y ahora tiene una señal digital que debe sincronizarse y usarse como Guess 1.
Una vez que tenga este tren de pulso digital en el FPGA, probablemente desee contar los pulsos durante un período de tiempo. Si se trata de un flujo AC'97, hay muchos recursos para decodificar AC'97, pero ignoremos el contenido del flujo de datos por el momento.
Si solo estás contando pulsos, algo como esto podría funcionar:
if pulse_bit changes
if pulse_bit = '1'
++pulse_count
end if
reset_pulse_timeout
end if
if pulse_timeout expires
copy pulse count to toplevel
reset_pulse_timeout
end if
Si realmente está buscando extraer algún tipo de inteligencia del tren de pulsos (es decir, no es solo una línea de pulsos sino más bien una línea en serie y está buscando obtener datos de esto), entonces usted quiere mirar varios puertos serie asíncronos o de sincronización (UART, TDM o USART) para buscar el inicio de una transmisión, capturar bits y buscar un bit de parada. En ese momento, ahora tiene una palabra de datos que puede ver en bits específicos para lo que quiera.