Módulo 1 y notas adicionales
por Ruiz de Clavijo, Paulino
—
Última modificación
30/11/2010 16:49
El módulo 1 consta de 5 submódulos resumidos en esta página
Modulo 1a
Especificaciones del microprocesador. Hay que completar el fichero micro_pk.vhd.
Recursos
- Enunciado: Lab4Mod1aV1.1_E.pdf.
- Ficheros: micro_pk.vhd, tb_micro_pk.vhd.
Notas adicionales:
- Cuidado con las definiciones de tipos POSITIVE/NATURAL
- Cuidado con el atributo 'left. Devuelve el índice, no el valor de la izquierda
- Utilización de atributos de señales:
arg(31 downto 0) ---> arg'left = 31; arg(31) = arg(arg'left)
- La sintaxis para crear un array sin tamaño definido usar:
natural range <>
Módulo 1b
Diseño de un registro y simulación
Recursos
- Enunciado: Lab4Mod1bV1.1_E.pdf
- Ficheros: register_en.vhd, tb_register_en.vhd
Notas adicionales
- Para hacer la inicialización de un array de tamaño desconocido hay que utilizar 'range que es equivalente a x down to y. Ejemplo:
a <= (5 down to 0 => '0')
Diseño Parametrizable: Vectores sin restricciones.
registro_in : in std_logic_vector;
Módulo 1c
Diseño de contadores para PC y Stack Pinter
Recursos
- Enunciado: Lab4Mod1cV1.1_E.pdf
- Ficheros: counter.vhd, counter_updown.vhd, tb_counter.vhd, tb_counter_updown.vhd.
Notas adicionales
- Hay que declarar una señal interna para el contador
- Cuidado con el tipo de señal para poder aplicar el operando '+'
- Se deben usar señales unsigned para realizar las operaciones de incremento y decremento:
signal cont unsigned(q'range): ... cont <= cont +1 ; ... cont <= cont -1 ;
- Hay que convertir la señal interna y la externa para asignar. Conversión de tipos.
- Hay que completar el testbench del contador.
Módulo 1d
Diseño de multiplexores
Recursos
- Enunciado: Lab4Mod1dV1.1_E.pdf
- Ficheros: mux2xbus.vhd, mux4xbus.vhd, tb_mux.vhd.
Notas adicionales
- Hay que poner la lista de sensibilidad adecuada en el proceso
- En la sentencia 'case' hay que cubrir todos los casos. Se debe utilizar 'when others' ya que existen otros valores aparte de '0' y '1'
Módulo 1e
Realización del fichero de registros
Recursos
- Enunciado: Lab4Mod1eV1.1_E.pdf
- Ficheros: regfile.vhd, tb_regFile.vhd, micro_comp_pk.vhd.
Notas adicionales
- Hay que incorporar al proyecto de simulación todos los códigos que se necesiten de los módulos anteriores
- Hay que utilizar los componentes diseñados entre módulo 1a y 1d: Es un diseño estructural.
- No es necesario declarar los componentes que van a emplearse ya que existe un “package” donde están declarados todos los componentes del microprocesador MICRO6: micro_comp_pk.vhd
- Instanciación repetitiva mediante bucle:
for _____ generate.
- Hay un bus interno declarado para utilizar como salida de los registros
- Hay un errores en el código de REGFILE.VHD en la conversión selC a entero (y otras conversiones)