Algoritmo de Booth en Verilog

Camino de datos del Algoritmo de Booth:

Objetivo

El objetivo de este algoritmo es la multiplicación de dos números con signo (2 bits en Complemento a 2). Para ello, el sistema se compone de una Unidad de Control, implementada como un autómata de estados finito (máquina tipo Mealy) y un camino de datos que representa las conexiones necesarias para hacer el algoritmo de multiplicación (Algoritmo de Booth).

Esquema del funcionamiento de la Maquina de Estados

Compilación

Para compilar el programa, es recomendable usar el Script de Bash compilation.sh. Este script se encarga de hacer la compilación de forma automática y también genera el fichero ActPrevia para mostrar los resultados del test. Además, genera otro fichero llamado multiplicador_tb.vcd para posterior análisis en el programa GTKWAVE. Desde el Script de Bash tras la compilacion y la ejecución del programa te pregunta si se quiere ejecutar el programa GTKWAVE.

El comando utilizado para compilar es:

iverilog -o ActPrevia multiplicador_tb.v multiplicador.v uc.v caminosdatos.v componentes.v

Si queremos directamente compilar el programa, mostrar los resultados, generar los ficheros y acceder al GTKWAVE, podemos utilizar el programa compilation.sh. Solo hay que ejecutar el siguiente comando:

./compilation.sh