Proyecto - Microprocesador

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 15

Disear e implementar un microprocesador de 8 bits con memoria y

visualizacin en leds utilizando VHDL.

1. Formulacin del problema


En la prctica de la microelectrnica en la universidad francisco de paula
Santander es importante que el estudiante este bien familiarizado con el Lenguaje
de Descripcin de hardware VHDL( hardware description language), y a travs
del semestre se adquieren herramientas para no solo manejar el sistema y las
tarjetas de adquisicin de datos sino tambin para realizar algunas aplicaciones
ms complejas que requieran de la capacidad del estudiante de crear procesos
que incluyan el uso de la unidad Aritmetico-Logica ALU, registros, maquinas de
estado y sistemas RTL, entre otros sistemas que se simulan en el mbito del
laboratorio, pero la mejor manera de poner en prctica dichos conocimientos es
realizando una aplicacin que requiera reunir estos componentes en un nico
proceso o sistema.
El uso de los microprocesadores esta en este momento focalizado en casi todos
los mbitos de la vida que cuente o requiera realizar operaciones ya sean lgicas,
matemticas, desplazamientos como los procesos de lavadoras, secadoras,
microondas o cualquier tipo de electrodomstico que haga uso de secuencias
programas de control y ms complejas como las millones de operaciones que
debe realizar un sistema de alto rendimiento, celulares, palm y por supuesto
computadoras.
Pero para los estudiantes de microelectrnica es importante conocer el uso y
aplicacin de los microprocesadores pero es mas importante implementar un
sistema bsico como es un microprocesador de 8 bits en Lenguaje de Descripcin
de hardware VHDL( hardware description language), haciendo uso de los
conocimientos adquiridos durante el semestre en el manejo y la implementacin
de diferentes aplicaciones como lo son registros universales, banco de registros o
memoria, registros desplazadores, registro sumador y restador registro de
operaciones lgicas y otros componentes que no solo sirven para que el
estudiante desarrolle habilidades y destrezas en el uso de esta herramienta de
software sino tambin para que se prepare un camino que tenga como objetivo el
desarrollo y puesta en prctica de un microprocesador de 8 bits que realice como
mnimo cuatro o cinco de las operaciones bsicas de un microprocesador y que
use como interfaz una tarjeta de adquisicin de datos y perifricos de entrada y
salida.

2. Justificacin
Los microprocesadores pueden ser de uso o propsito general, es decir, que
permiten ser manipulados para realizar cualquier tarea dentro del rango de
operacin del microprocesador o de las cantidad de instrucciones y capacidad de

ejecucin del sistema y de propsito especifico o aplicaciones especificas que son


llamados tambin sistemas embebidos que son los que se realizan para una tarea
nica y determinada por el programador estos ltimos adems de que pueden ser
bastante complejos generalmente se caracterizan por tener un gran valor
comercial; pero para conocer mas a fondo no solo la capacidad sino tambin la
cantidad de instrucciones de un microprocesador es importante partir desde la
esencia o el inicio del sistema y que mejor forma de realizar esta labor si no es
diseando un sistema que cumpla con los requerimientos mnimos para un
microprocesador que son ALU registros, contador, unidad central de proceso.
El desarrollo de este sistema tambin permite al estudiante introducirse en el
mundo de los programadores y desarrolladores de sistemas complejos como son
los microprocesadores ya que estos realizan funciones que se puede simular en
menor escala con un sistema de VHDL.

3. Objetivo general y especficos

Objetivo general
Diseo e implementacin un microprocesador de 8 bits tipo Von Neuman, cuya
estructura responde a la realizacin de operaciones lgicas y matemticas.
Objetivos especficos
Orientacin, organizacin y documentacin del proyecto.
Establecimiento de un set de instrucciones para el microprocesador.
Diseo e implementacin, utilizando la herramienta de xilinx ISE Foundation,
cada uno de los mdulos de la estructura. (Diseo Comportamental con VHDL)
Implementacin del Top Level asociando los mdulos desarrollados durante las
prcticas.
Programar una aplicacin sencilla en el microprocesador desarrollado durante el
semestre.
Obtener las conclusiones a que diera lugar el trabajo.

4. Marco referencial
Antecedentes
-

Simulacin de un procesador de 8 bits con Lenguaje de Descripcin de


Hardware VHDL mediante metodologas de diseo descendente
Descripcin: Este documento presenta una visin del diseo descendente de
un sistema digital, usando el lenguaje VHDL (VHSIC Hardware Description
Language). Se examinan las diferentes etapas de diseo descendente, el cual
parte de unos requerimientos especficos de alto nivel que deben ser
cumplidos por el sistema para conseguir un ptimo desempeo. El sistema
diseado es un procesador de ocho bits.
Presentado por: Luis Eduardo Abad Quintero

Marco terico y conceptual


Si se requiere tener una estructura fundamental comn, los microprocesadores
cuentan con un ciclo de desarrollo general, este ciclo muestra los avances de la
ingeniera para maximizar la posibilidad de realizar un sistema efectivo y confiable
Cada ciclo de desarrollo se identifica mediante un bloque con una actividad
dominante y el resultado primario de cada fase se presenta en la salida del bloque,
cada resultado debe estar representado por documentacin que describa el
sistema en esa etapa en la figura1. Se muestra el ciclo de desarrollo de cualquier
sistema embebido

Partes que fueron


realizadas por los
programadores

Esta se realizo
usando los
programas ise
fundation de xilinx y
la fpga

Figura 1. Ciclos de desarrollo de un sistema

En la figura 1., se presentan las fases que ocurren por separado o en paralelo
pero solo una a la vez y en secuencia , a continuacin se presentan la
descripcin de las fases que son necesarias para este procedimiento.
Anlisis de requerimientos
Este anlisis presenta un examen a detalle de las necesidades del usuario
final, es decir, el problema por resolver. En esta etapa interviene todos aquellos
que necesitan del sistema y lo que quieren que hagan y esto ltimo son el
punto de inicio del sistema para la posible reactivacin para las dems etapas.
Especificaciones
Se basan en los requerimientos funciones, operaciones y la interaccin con el
usuario. Estas se definen y se simulan para probarlo directamente.

Arquitectura del sistema


Esto hace referencia a las especificaciones de software y hardware, es este
caso especialmente software; en esta etapa se define que tipo se va a utilizar y
cada elemento se describe por separado.
Diseo de hardware
Durante este paso se definen las funciones y la interfaz de entrada y salida: las
primeras en forma general y la segunda de manera especfica. Esta fase
incluye el nombre de seales, funciones, y caractersticas as como diagramas
de bloques del sistema.
Implementacin del hardware
En esta etapa se eligen los dispositivos que van a integrar el sistema, tambin
se llevan a cabo un anlisis de tiempo as como diagramas esquemticos y
diagramas de tiempo. Todo esto permite la construccin de un prototipo.
Pruebas de hardware
Esta etapa consiste en realizar pruebas individuales a los dispositivos para
determinar sus especificaciones y el tiempo que precisan a fin de ejecutar un
proceso.
Diseo de software
Se disea la ejecucin del flujo de datos y se implementan las funciones y
procedimientos de cada mdulo para que interacten. Lo anterior permite
jerarquizar el funcionamiento de los mdulos que componen al sistema.
Implementacin del software
Consiste en definir los algoritmos a detalle y las estructuras de datos que se
van a desarrollar; adems, el software se disea de modo que pueda corren en
otras aplicaciones. Todos los errores detectados se corrigen en este momento.
Pruebas de software
Los mdulos programados en la eta de implementacin del software se
prueban de forma individual mediante la simulacin.

Factores que se deben considerar para el diseo de un sistema embebido


Como puede advertirse en el diseo de sistemas embebidos hay que
considerar diferentes factores:
- Las dimensiones de la memoria de acceso rpido RAM, esta debe ser
suficiente para soportar las variables globales y locales.
- Es deseable que tenga velocidad para ejecutar el software en tiempo real
- El tamao de los datos de 8, 16, 32 bits, deben coincidir con los datos que
se van a procesar
- Las operaciones numricas y lgicas.

GEN TIME

ENTRADA DATOS

UNIDAD
DE
CONTROL

REGIS

MAR

SALIDA DE
DATOS
Figura 2. Diagrama de bloques

Diseo de un microprocesador en VHDL

Figura 3. Entidad del microprocesador

Como se pudo apreciar antes, los sistemas embebidos tienen una infinidad de
aplicaciones, estos dispositivos realizan, operaciones y controlan otros dispositivos
para lo cual reciben informacin y dan ordenes a fin de que los elementos
trabajen.
El diseo de los microprocesadores se facilita gracias a la diversidad de
herramientas que hay en la actualidad, el VHDL es una herramienta muy poderosa
debido a su flexibilidad y a la capacidad de simulacin en tiempo real del sistema.
Como se puede observar de todo las fases del diseo del sistema de
microprocesadores solo se centra el diseo en el software.
El diagrama de bloques del procesador que se diseo se muestra en la figura 2.
Cabe mencionar que entre sus principales caractersticas se encuentra
Bus de direcciones de 8 bits, bus de datos de 5 bits, 1 lnea de interrupcin. El
microprocesador que se diseo consta de 6 bloques.
A continuacin se muestran las funciones y bloques de un tipo de microprocesador
y se muestra paso a paso los componentes que utilizamos en el micro-procesador

Contador de programas (PC)


Registro general
Unidad de control

Registro MAR
Memoria
Divisor de frecuencia
ALU (Unidad Aritmtica y Lgica)
Unidad de Control

Figura4. Microprocesador con lineas de conexin entre fuentes

En general este microprocesador realiza cada una de las funciones de la ALU, que
son generadas a travs del bus de direcciones que permite la puesta en marcha
del contador que sirve para generar los datos de direcciones para reorganizar los
datos de memoria y que estos salgan al dato b, para que con el dato a y la
instruccin de operacin se realice para finalmente mostrar los resultados en los
leds.
CONTADOR DE PROGRAMAS
Un contador de programa (PC) es un registro de 3 bits que contiene la direccin
del siguiente registro donde se encuentra la direccin de la instruccin que se
buscar en la memoria para su ejecucin.
El contador de programa genera direcciones diferentes, es decir, 16 direcciones
nicas, a las cuales el micro-procesador debe habilitar cada una de ellas.

El bus de direcciones es unidireccional y slo permite salidas del micro-procesador


hacia los diferentes dispositivos. Cada vez que se ejecuta una instruccin, el
contador se incrementa.

Figura 5. Entidad contador de programas

El contador de programa se inicializa cuando el bus_uc entrega la palabra de


control que permite que los datos del contador se generen.
REGISTRO MAR
El registro permite que las direcciones generadas por el contador de programa
salgan con el objeto de leer o escribir un dato, segn el valor de la seal R/W.
Adems de que validad a la memoria para que realice dicha operacin

Figura 6. Entidad registro MAR

Cuando sin importar que datos se quiera obtener de la memoria ram el mar
permite direccionar este dato calor siempre y cuando este disponible en la
memoria
ALU(Unidad Aritmtica y Lgica)
La unidad aritmtica y lgica es una funcin multioperacional digital de lgica
combinacional. Puede realizar un conjunto de operaciones aritmtica bsica y otro
de operaciones lgicas.
En este componente tambin utilizamos banderas como:
Acarreo (C): este bit (bit 0) del registro de cdigos de condicin se coloca en 1 si
despus de la ejecucin de ciertas instrucciones hay un acarreo del bit ms

significativo de la operacin que se est ejecutando; de otra manera se coloca en


0.
Sobreflujo (V): este bit (bit 3) del registro de cdigos de condicin se pone en 1
cuando un sobreflujo en complemento a 2 resulta de una operacin aritmtica; se
coloca en 0 si el sobreflujo no ocurre en ese tiempo.
Cero (Z): este bit (bit 2) del registro de cdigos de condicin se coloca en 1 si el
resultado de la operacin lgica o aritmtica es cero.
Negativo(N): este bit (bit 1) del registro de cdigos de condicin se coloca en 1
si el bit 4 del resultado de una operacin lgica o aritmtica es igual a 1, de lo
contrario se coloca en 0.

Figura 7. Entidad ALU

La ALU como se decia anteriormente realiza operaciones aritmeticologicas basicas


sumar, resta, and, y or en secuencia segunel dato que provenga del bus de
direcciones.
UNIDAD DE CONTROL
La unidad de control (CU) sincroniza cada una de las acciones realizadas por el
micro-procesador; asimismo, determina en que tiempo, hacia donde se mandan
los datos o de donde vienen, decodifica y revisa que se ejecute.

Figura 8. Entidad unidad de control

MEMORIA
La memoria mem, es la que registra los datos con el cual se va a realizar la
operacin en la alu, adems esta muestra el dato despus de que se habilita en el
registro mar.

Figura 9. Entidad memoria

DIVISOR DE FRECUENCIA
Es uno de los bloques ms importantes ya que este es el que genera los tiempos
de ejecucin y va directo a la unidad de control. El divisor de frecuencia permite
generar tiempos de 1 segundo y tambin permite que los datos de contador de
programa se generen de forma adecuada.

Figura 10. Entidad registro divisor de frecuencia

Ver en anexo programa en VHDL


INSTRUCCION
A+B
A-B
AND
OR
OPERACION
A+B
A-B
AND
OR

BITDIR
ADD
SUBB
AANDB
AORB

DESCRIPCION
CARGA DATOS EN A

CARGA SUMA
CARGA RESTA
CARGA AND
CARGA OR

DIR
000
001
010
111
DIRECCIONAMIENTO
10100
10001
10110
10010

M
OP

CARGA DATO EN B
MUESTRA RESULTADO

RTDO

X1XXXX

TABLA1. INSTRUCCIONES

ASIGNACION DE
PINES
E6
C5
C6
C7
C8
C9
A3
A4
A5
B7
B8

ENTRADAS

SALIDAS

4
6
8
10
12
14
16
18
20
22
24

7
9
11
13
15
17
19
21
VCC
TIERRA

ASIGNACION
PINES
D6
E7
D7
D8
D10
B4
B5
B6
3
1

TABLA3. ASIGANCION DE PINES

DISEO METODOLGICO DEFINITIVO


ESQUEMA TEMTICO DE LOS ALCANCES TCNICOS
ACTIVIDADES Y METODOLOGA
Para cumplir con los objetivos propuestos se llev a cabo las siguientes
actividades y metodologas:
Se recolect la informacin necesaria respecto al diseo e implementacin del
microprocesador.

Actividad: la informacin que se requera para la metodologa de


diseo y arquitectura se obtuvo a travs de las clases y de los
laboratorios. con base al diseo e implementacin de una interfaz
grafica, de acuerdo a los sistemas de control y automatizacin.

Metodologa: Se fueron implementado una a una las fuentes que se


hacen necesarias para organizar y redireccionar los elementos del
microprocesador.

Se dise una interfaz grfica ptima y sencilla, para el desarrollo de l micro


procesador.

Actividad: Se dise una interfaz grafica que es de fcil manejo

Metodologa: Se desarroll a travs de la informacin adquirida por


los libros y el profesor y el uso de la arquitectura Von Newman

cumpliendo con todos los requisitos planteados, y se hicieron


exposiciones y foros en internet para promulgar los beneficios.

5. Cronograma

ACTIVIDAD

Diseo y simulacin ALU


Diseo y simulacin contador
Diseo y simulacin mem y mar.
Diseo y simulacin contador
Diseo y simulacin divisor de frec.
Diseo y simulacin unidad de control
Unificacin del las fuentes

SEMANA
1 2 3 4 5 6 7 8 9

10

11 12

pruebas
Entrega de proyecto final
Tabla 3. Cronograma de actividades
Bibliografa

MAXINE, David, El arte de programar sistemas digitales


webgrafia

http://pci.unalmzl.edu.co/Tesis/luiseduardoabad.pdf

http://www.iberchip.net/IX/Articles/POST-123.pdf

The Intel 4004: A testimonial from Federico Faggin, its designer, on the first
microprocessor's thirtieth birthday. Faggin's own 4004 website.

Lista Top500 de noviembre de 2002. Top500.

Molibdenita, adis al silicio?. MuyComputer.com.

http://www.profesorbot.com/curiosidad/nobel-de-fisica-grafeno/

Core 2 Extreme: 3,66 GHz And FSB 1333 - Review Tom's Hardware : THG Tuning Test:
Core 2 Extreme vs. Athlon 64 FX-62

También podría gustarte