Protegiendo fpga / ram contra errores

2

Estoy buscando construir una placa usando un fpga xilinx xc3s50a y usando un chip ram estático de algún tipo. Tal vez algo como el GSI Tech GSI71116A.

Mi preocupación es sobre las líneas de datos del chip ram. Si me equivoco en mi verilog, podría hacer fácilmente un ciclo de lectura desde el chip mientras se emiten datos desde el fpga. No me imagino configurando un '0' en la fpga y un '1' en el chip ram, o al revés terminaría bien ...

¿Así que básicamente estoy buscando información sobre lo que pasaría? ¿Es probable que dañe uno o ambos chips o están protegidos contra este tipo de cosas al limitar la corriente? Si la respuesta es no, ¿podría protegerme agregando una pequeña resistencia en cada línea de datos para limitar la corriente? Si bien eso probablemente funcionaría eléctricamente, no estoy seguro de qué efecto tendría una vez que esté funcionando y necesito enviar datos a hasta 100Mhz.

Básicamente, ¿necesito protegerme aquí? ¿Puedo protegerme? ¿O simplemente necesito tener mucho cuidado con mi código de verilog para no habilitar la salida en ambos dispositivos al mismo tiempo?

    
pregunta John Burton

2 respuestas

4

En pocas palabras: no cometas ese error. Compruebe y vuelva a comprobar antes de intentarlo. Simularlo también. Cuando analice el tiempo, asegúrese de ver cuánto tiempo tarda la SRAM en tri-state y no-state en el bus de datos.

Podrías hacer algo como agregar resistencias, pero eso tiene problemas como sospechas.

Este tipo de cosas aparece con frecuencia en el diseño electrónico, y los ingenieros simplemente se ocupan de ello. Intentan no cometer un error, pero si lo hacen, entonces bueno. Si la pieza se dañó, corrige el error, reemplaza la pieza y continúa.

En cuanto a lo que sucederá, todo depende. Realmente, no lo sabemos. Los fabricantes no dicen qué sucederá porque este no es el uso correcto o normal. Podemos adivinar, pero es solo una suposición.

Mi conjetura es que no funcionará. Si la contención del bus es solo por un reloj o dos, lo más probable es que no sea funcional, pero tampoco dañará nada. Si tiene disputas por períodos de tiempo más prolongados, corre el riesgo de dañar las cosas. Pero, como dije, esto es solo una suposición. La realidad podría ser muy diferente.

Una cosa que su respuesta trae a colación, pero no se le preguntó específicamente sobre su "envío de datos a 100 MHz". ¿Te das cuenta de que mientras tu SRAM es 10 ns, no podrás leer o escribir a una velocidad de 100 MHz? La interfaz a la SRAM asíncrona a este ritmo es difícil, y esta es la razón por la que la mayoría de las personas usan Sync-SRAM para esto ahora.

La velocidad exacta que obtendrás dependerá de tu aplicación y la frecuencia de reloj FPGA, pero ciertamente será inferior a 100 MHz. Posiblemente tan lento como 50 MHz. El punto es, piense en esto antes de comprometerse a usar esta SRAM.

    
respondido por el user3624
1

Como dice David, ten cuidado.

Pero en mi experiencia, los controladores de E / S en dispositivos RAM y FPGA son lo suficientemente duros para luchar entre sí durante un montón de tiempo de laboratorio mientras se realiza la depuración. No piense que funcionará a largo plazo en un producto (¡de todos modos nunca pasará una prueba de emisiones de EMC con este tipo de lucha!)

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas