Estoy trabajando en un laboratorio para un curso que tengo en VHDL, y parte de ello es implementar un sumador de acarreo de rizado de n bits y luego probarlo como un sumador de 16 bits. Mi problema es que realmente no sé cómo probarlo o, más bien, qué aportaciones dar para probarlo a fondo. Esta es la primera vez que hago algo como esto, así que lo siento si me parece que no tengo ni idea de lo que estoy hablando.
Mi primer pensamiento fue que, dado que el sumador es solo un grupo de sumadores completos idénticos encadenados, si pudiera demostrar que los bloques de sumador individuales funcionan bien, sería trivial mostrar que el sumador de 16 bits funcionó correctamente ya que tiene un diseño tan simple. Así que mis dos entradas serían XXXXXXXX01101010 y XXXXXXXX01011100 con una Cin inicial de 0. Usando estos valores iniciales, los primeros 8 sumadores de la cadena realizarán cada uno una adición única (en función de ambas entradas y Cin) que cubrirá completamente la verdad mesa para un sumador completo. Entonces, si los bits correspondientes en la suma son correctos y el acarreo no se arruina en el camino, mostraría que el sumador funciona correctamente.
Aunque tengo un montón de razones para pensar que este es el enfoque equivocado. En primer lugar, parece demasiado simple. El manual de laboratorio se refiere a los CASOS de prueba, pero obviamente solo he hecho un caso. También menciona que debe obtener información de tiempo de la simulación, pero no entiendo cómo funcionaría con un solo caso. Y lo más importante, la estrategia no tiene sentido para mí. Todo lo que realmente estoy haciendo es encontrar una manera realmente incómoda de probar un sumador completo encadenando un grupo de ellos y forzando a la Cin para que cada caso de prueba se vincule con el caso de prueba anterior. No estoy probando la funcionalidad de todo esto.
Como probablemente puedas decir, estoy bastante confundido. Realmente no tengo idea de cómo probar correctamente un sumador de 16 bits, aparte de probar las partes individuales que lo componen. ¿Debería tratarlo como una caja negra y solo preocuparme por el resultado final y la suma? Pero como la suma es de 16 bits, ¿cuántas pruebas debo realizar para demostrar que funciona correctamente?