Sie sind auf Seite 1von 7

CRUZ SALAS MIGUEL NGEL

MCIC

SEMESTRE B13


LENGUAJES DE DESCRIPCIN DE


HARDWARE


PROFESOR: M. EN C. OSVALDO ESPINOSA
SOSA

PRACTICA 11: PROCESADOR NIOS.





OBJETIVO:
Desarrollar, disear, implementar y comprender el funcionamiento de un procesador
implementado con la herramienta NIOS.
INTRODUCCIN
El microprocesador (o simplemente procesador) es el circuito integrado central y ms
complejo de un sistema informtico; a modo de ilustracin, se le suele llamar por analoga
el cerebro de un computador. Es un circuito integrado conformado por millones de
componentes electrnicos. Constituye la unidad central de procesamiento (CPU) de un
PC catalogado como microcomputador.
Es el encargado de ejecutar los programas, desde el sistema operativo hasta las
aplicaciones de usuario; slo ejecuta instrucciones programadas en lenguaje de bajo
nivel, realizando operaciones aritmticas y lgicas simples, tales como sumar, restar,
multiplicar, dividir, las lgicas binarias y accesos a memoria.
Esta unidad central de procesamiento est constituida, esencialmente, por registros, una
unidad de control, una unidad aritmtico lgica (ALU) y una unidad de clculo en coma
flotante (conocida antiguamente como co-procesador matemtico).
El microprocesador est conectado generalmente mediante un zcalo especfico de la
placa base de la computadora; normalmente para su correcto y estable funcionamiento,
se le incorpora un sistema de refrigeracin que consta de un disipador de calor fabricado
en algn material de alta conductividad trmica, como cobre o aluminio, y de uno o ms
ventiladores que eliminan el exceso del calor absorbido por el disipador. Entre el disipador
y la cpsula del microprocesador usualmente se coloca pasta trmica para mejorar la
conductividad del calor. Existen otros mtodos ms eficaces, como la refrigeracin lquida
o el uso de clulas peltier para refrigeracin extrema, aunque estas tcnicas se utilizan
casi exclusivamente para aplicaciones especiales, tales como en las prcticas de
overclocking.
La medicin del rendimiento de un microprocesador es una tarea compleja, dado que
existen diferentes tipos de "cargas" que pueden ser procesadas con diferente efectividad
por procesadores de la misma gama. Una mtrica del rendimiento es la frecuencia de reloj
que permite comparar procesadores con ncleos de la misma familia, siendo este un
indicador muy limitado dada la gran variedad de diseos con los cuales se comercializan
los procesadores de una misma marca y referencia. Un sistema informtico de alto
rendimiento puede estar equipado con varios microprocesadores trabajando en paralelo, y
un microprocesador puede, a su vez, estar constituido por varios ncleos fsicos o lgicos.
Un ncleo fsico se refiere a una porcin interna del microprocesador cuasi-independiente
que realiza todas las actividades de una CPU solitaria, un ncleo lgico es la simulacin
de un ncleo fsico a fin de repartir de manera ms eficiente el procesamiento. Existe una
tendencia de integrar el mayor nmero de elementos dentro del propio procesador,
aumentando as la eficiencia energtica y la miniaturizacin. Entre los elementos
integrados estn las unidades de punto flotante, controladores de la memoria RAM,
controladores de buses y procesadores dedicados de video.
DESARROLLO
Disear el siguiente circuito: En Quartus II usar el Qsys, construir un procesador y correr
alguna aplicacin.

Se dise un procesador en el cual se implementara una aplicacin en C, la cual se debe
de ejecutar en el procesador que se programara en el FPGA.

Las caractersticas del procesador a disear son las siguientes:

-Se diseara un procesador del NIOS II.
-Se asignaran bloques de memoria del mismo chip, la cual ser de 8 kbit con palabras de
32 bits.
-Dos puertos, uno de salida y otro de entrada, cada uno constara de 8 bits.
-JTAG UART para implementar la comunicacin con la computadora principal.

Procedimiento

Se gener un proyecto nuevo en Quartus II, se selecciona la tarjeta que se usara, que en
este caso es el Cyclone II C35F672C6. Despus se selecciona en el men Tools la opcin
SOPC Builder, el cual es un asistente para construir el procesador NIOS II, se selecciona
el nombre del sistema y el lenguaje en el que se desea describir el sistema.
La seal de reloj que se usara es el reloj de 50MHz que est integrado en la tarjeta. Esto
se selecciona en la parte superior de la ventana.
Luego se selecciona en el lado izquierdo el procesador que se usa, en este caso se
implementara un Nios II Processor, y se selecciona Nios II/e, los dems parmetros por el
momento no sern modificados y se da un clik en finish.

Ahora se debe de seleccionar los bloques de memoria, para hacer esto del lado izquierdo
de la pantalla se debe de seleccionar Memories ans Memory ControllersOn Chip On-
Chip Memory (RAM or ROM) y dar clik en add. Se selecciona Ram, longitud de los datos
de 32 bits, y un tamao total de la memoria de 8192 bytes.


Ahora se debe de seleccionar los puertos de salida y de entrada. Del lado izquierdo se
selecciona Peripherals > Microcontroller Peripherals > PIO (Parallel I/O) se da click en
Add, se configura como input con una longitud de 8 bits, y se da clik en finish, se repiten
estos pasos pero ahora se selecciona output, con la misma longitud de 8 bits.

Ahora se debe de asignar un bloque que permita la comunicacin con la computadora
principal, y se debe de seleccionar del lado izquierdo, Interface Protocols > Serial > JTAG
UART, dentro de esta opcin no se realiza ningn cambio y se deja tal cual se encuentra.
Al final se obtiene:

Se asignan nombres predefinidos, los cuales pueden ser cambiados, los puertos de salida
y entrada se les cambia el nombre y ahora se llaman leds y swith respectivamente, se da
doble clik en el cpu y se asignan las memorias onchip_memory2_0. De esta forma se
tiene completo el procesador, y se puede generar el procesador dando clik en Generate.
Para implementar el procesador debe de instanciarse en un programa, para lo cual se usa
el siguiente cdigo.

module DE2_115_NIOSII(

//////////// CLOCK //////////
CLOCK_50,
CLOCK2_50,
CLOCK3_50,

//////////// LED //////////
LEDG,
LEDR
);

//=======================================================
// PARAMETER declarations
//=======================================================


//=======================================================
// PORT declarations
//=======================================================

//////////// CLOCK //////////
input CLOCK_50;
input CLOCK2_50;
input CLOCK3_50;

//////////// LED //////////
output [8:0] LEDG;
output [17:0] LEDR;


NIOS_II_prueba1 u0(
// 1) global signals:
.clk_0(CLOCK_50),
.reset_n(1'b1),

// the_pio_led
.out_port_from_the_pio_led(LEDG)
);


Endmodule

El programa en C que se implementa en FPGA es el siguiente:

#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include <math.h>

int main()
{
printf("Hola Mundo!\n");

int count = 128;
int delay;

while(1)
{

IOWR_ALTERA_AVALON_PIO_DATA(PIO_LED_BASE, count);

delay = 128;
while(delay < 2000000)
{
delay++;
}
count++;
}
return 0;
}





CONCLUSIONES:
El siguiente programa podemos desarrollar aplicaciones ms precisas y exactas con el
software verilog esto debido a que con las instrucciones correctas se pueden construir por
medio del lenguaje c miles de cosas muy tiles pero ms que nada se puede hacen
ocupar la mayora delos circuitos de la tarjeta de desarrollo y as poder desarrollar miles
de aditamentos tiles ya que este sistema deja miles de posibilidades nuevas para sacarle
el mayor provecho al hardwere de la tarjeta

Das könnte Ihnen auch gefallen