¿Por qué mis programas FPGA no funcionan?

2

Soy muy nuevo en FPGA y lo siento por esta pregunta elemental. Acabo de crear un código XOR muy simple como este con Webpack ISE para descargar a XC2S100 (¡solo para prueba!) Pero no funciona.

EDITION1: De acuerdo con los comentarios, verifiqué DONE la situación después de la programación y está en estado Alto. También se agregaron resistencias de arrastre hacia abajo hacia a y b. También se agregó una resistencia desplegable de 1KΩ a TMS. Ahora funciona bien, pero después de reiniciar el dispositivo, ya no funciona. Parece que la memoria de configuración se borra después de apagarse.

1-Obviamente,estecódigosesintetizabienylasimulaciónestábien.Luegoimplementado->Pinesasignados->re-implementado->yfinalmenteelarchivo.bitgenerado(estasecuencia:)

2- También usé los pines que no requieren Vref. (a: P3, b: P4, out: P7). Aquí hay una captura de pantalla de la asignación de pines. Al final, haga clic en Guardar:

3-Luegovolvíaimplementaryverifiquélospinesenelresumendeldiseño.TodoOK:

4- Tengo uno de estos cables de descarga Alkamar. Conecté los pines como se recomienda y ejecuté iMPACT. Encuentra bien el dispositivo y lee su configuración también. Me alegré cuando vi el mensaje " El programa tuvo éxito ". pero cuando conecto el voltaje VCCO (3.3v) a P3 (a) o P4 (b), no ocurre nada en P7 (out). ¡Lo comprobé todo de nuevo, pero fue en vano!

¿Qué está mal allí?

Aquíestáelesquemaqueuso:

1-Tablerodeprueba:

2- Fuente de alimentación:

3-Partedelosciladordecristal(noseutilizaenestaprueba):

Este es el cable de programación:

    
pregunta Aug

2 respuestas

4

Este es un FPGA basado en SRAM. Después del ciclo de encendido, se pierde su configuración.

Normalmente, una placa que usa estos FPGA tendrá algo de memoria no volátil, y usted carga la configuración en eso. El FPGA tiene alguna lógica (configurada por M0, M1, M2, los pines del modo de configuración) para arrancar desde varios tipos comunes de memoria Flash o EEPROM. Algunos de ellos encajan en la cadena JTAG para que pueda programarlos con Impact y el cable de plataforma que tiene.

No puedo ayudar con los detalles precisos, el XC2S100 es un dispositivo bastante antiguo, pero Xilinx tiene mucha documentación sobre la memoria de configuración.

Mientras tanto, puede continuar sus experimentos configurando el FPGA directamente, sabiendo que este es el comportamiento normal de este FPGA.

Esto puede parecer extraño, y de hecho hay algunos FPGA no volátiles; ACTEL (microsemi) hace algunos. Pero la tecnología SRAM es una buena combinación para la lógica FPGA que tiene sentido a pesar de los inconvenientes obvios.

Los FPGA no volátiles son un compromiso: relativamente pequeños y relativamente lentos, tanto que para la mayoría de las aplicaciones, el inconveniente de una ROM externa es un pequeño precio a pagar por las ventajas de los FPGA basados en SRAM.

    
respondido por el Brian Drummond
2

Parece que no está proporcionando sus entradas correctamente. Usted dice que aplica VCCO a sus dos pines de entrada para proporcionar la lógica '1'. Sin embargo, no puede simplemente dejarlos desconectados para un '0' lógico. Debe conducirlos en alto (VCCO) o bajo (GND).

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas