Buenas de nuevo.
Un decodificador DTMF necesita detectar 3 columnas y 4 filas del teclado. Necesitarás por tanto 7 filtros ajustados muy bien a cada una de los tonos. No sé cuanto pueden ocupar los filtros en la Spartan3 porque nunca he echo ninguno pero para que diferencien bien entre esas frecuencias deberán tener muchos coeficientes.
Prueba a hacer un par de ellos y ver si te detecta bien la tecla pulsada y te diferencia entre las demás.
En vez de con filtros también podrías probar a hacerlo con contadores, que te cuenten los pulsos que se reciben en, por ejemplo, 10ms y ver si por hay se puede detectar entre las diferentes teclas.