Herramientas Personales

Módulo 1 y notas adicionales

por Ruiz de Clavijo, Paulino Última modificación 30/11/2010 17: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

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

 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

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

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

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)

 

 

 

Acciones de Documento