Está en la página 1de 3

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

MICROELECTRONICA
Prof. PhD. Alexander B. Hilario T.

LABORATORIO 5

1. OBJETIVOS

Describir maquinas de estado finito en VHDL.

Implementar un sistema digital: Camino de datos y unidad de control

2. CODIFICACION VHDL

Revise el material del curso.

3. DESARROLLO DE LA PRACTICA

Problema: Dado dos numeros unsigned A y B, disene un circuito que produze el cociente
Q y el residuo R. El algoritmo que implementa la division tradicional es:

Figure 1: Algoritmo tradicional de la division iterativa

Una arquitectura iterativa es mostrada en la Figura 2 para A con 6 bits y B con 4 bits. El
registro R guarda el residuo. En este diseno, una operacion de division comienza cuando
E = 1 (Donde los valores A y B son capturados). Entonces, a cada ciclo del reloj se
ejecuta i) Cambio en el siguiente bit de A o ii) Cambio en el siguiente bit de A y restamos
B. La senal done es creada para indicar que la operacion ha sido completada y el resultado
aparece en Q y R.

El contador de modulo 6 incluye una entrada sncrona sclr que limpia el contador cuando
E = sclr = 1 y una salida zC que es activada cuando el contador llega a 5.

1
Figure 2: Circuito para la division iterativa

Le f t shit register: Note que uno de los registros de cambio incluye una entrada sncrona
sclr que limpia la salida de los registros cuando E = sclr = 1.

Cada componente secuencial tiene las entradas resetn y clock.

Este circuito es un ejemplo de un sistema digital: incluye un circuito de camino de datos


y un circuito de control (FSM). El circuito de camino de datos es hecho de componentes
combinacionales y secuenciales.

4. FLUJO DE DISENO

Crear un nuevo proyecto ISE. Seleccionar el dispositivo: XC7A100T-1CSG324 Artix-7


FPGA.

Escriba el codigo VHDL para el circuito de la Figura 1. Crear un archivo separado para
i) contador de modulo 6, ii) shi f t register, iii) shi f t register con entrada sclr, iv) registro,
v) sumador, vi) decodificador de 7 segmentos y vii) archivo principal.

Escriba el test-bench VHDL para probar el circuito(Debe de generar una entrada de reloj
de 100 Mhz para las simulaciones) para probar los siguientes casos:

- A = 011011 (27), B = 1001 (9)

2
- A = 010100 (20), B = 0111 (7)
- A = 101010 (42), B = 1111 (15)
- A = 100101 (37), B = 0101 (5)
- A = 001101 (13), B = 1100 (12)
- A = 101111 (47), B = 0010 (2)

Realice la Functional Simulation y la Timing Simulation (Simulacion de comportamiento


y temporal).

Asignacion de entradas y salidas: Crear un archivo UCF. Use SW0 a SW10 en la placa
Nexys-4 DDR para las entradas, CLK100MHZ para la entrada clock, el pulsador CPU RESET
para resetn, un LED para done, 6 LEDs para Q, y el display de 7 segmentos para R.

Generar el archivo bitstream.

Descargar el bitstream en el FPGA.