Se supone que esto es un seguimiento de mi pregunta anterior cómo obtener un diseño FPGA que definitivamente funcionará en hardware real . He progresado mucho desde que hice la pregunta anterior (gracias a los increíbles consejos y comentarios). Ahora he pasado a diseñar diseños FPGA mucho más grandes, he aprendido mucho y ahora me enfrento a problemas mucho más difíciles de resolver (nada que no me guste, pero algunos consejos ocasionales siempre son buenos).
Ahora estoy muy familiarizado con las diversas metodologías y prácticas de diseño que deben realizarse al diseñar circuitos FPGA. Sin embargo, de vez en cuando logro arruinar las cosas escribiendo algo estúpido en el código que me cuesta mucho tiempo y energía. Además, como mis diseños se han vuelto mucho más complicados (recientemente, he estado trabajando en usar el Controlador de Memoria dentro del FPGA de Xilinx Spartan 6 y en escribir un generador de tráfico para el mismo) y la simulación en Xilinx ISim ahora lleva mucho tiempo (A veces tengo que esperar media hora para comprobar si mi diseño funciona, solo para encontrar que cometí un error estúpido y comenzar de nuevo).
Esto se ha vuelto frustrante ahora, y necesito un consejo. Hasta ahora, el plan a prueba de tontos que solía garantizar para que todo en mi diseño funcionara correctamente era verificar el valor de todos y cada uno de los registros y conexiones en mi diseño y verificar si sus valores son los esperados, y algunas veces mirar el esquema de RTL. Se ha vuelto muy tedioso ahora (debido a la razón mencionada anteriormente) y me pregunto si hay mejores maneras de depurar un diseño de FPGA y asegurar que funcionen correctamente:
- quizás una mejor manera de depurar circuitos
- quizás un mejor software de simulación
El consejo que recibí sobre temas similares en el pasado ha sido oro, y les agradezco a todos por sus esfuerzos.