Вы находитесь на странице: 1из 14

Practica 1:

Diseo de un Sistema Basico

Practica 1: Diseo de un Sistema Basico


Introduccion
En esta practica se crea un sistema basico con el procesador microblaze utilizando la herramienta
Xilinx Platform Studio (XPS). Este sistema se implementa en una placa de desarrollos Nexys2

Objetivos

Crear un proyecto en XPS utilizando el Base System Builder (BSB)


Crear un diseo simple utilizando IP disponible en el Embedded Development Kit (EDK)

Procedimiento
El proposito de las practicas es realizar el desarrollo de hardware y software de un sistema basado
en un procesador softcore de 32 bits; a su vez, cada practica contina a partir de la practica anterior.
En el siguiente diagrama se observa el sistema completo (Figura 1-1).

BRAM

LMB
BRAM
CNTLR

LMB
BRAM
CNTLR
MicroBlaze

LEDs

MDM

UART

GPIO

XPS
BRAM
CNTLR

PSB

GPIO

DIP

GPIO

BRAM

INTC
Timer
ICON

7-S

IBA

MYIP
PLB

Figura 1-1. Sistema Completo

1-3

En esta practica, se utilizara la herramienta BSB del entorno XPS para crear un sistema basico con
los siguientes elementos e IP (Figura 1-2):
MicroBlaze (version 7.30.b)
PLB_MDM
LMB BRAM controlador para BRAM
BRAM
UART para comunicacion serie
GPIO para comandar LEDs

BRAM

LMB
BRAM
CNTLR

LMB
BRAM
CNTLR
MicroBlaze

UART

MDM
LEDs

GPIO

MPMC
CNTLR

PLB
Figure 1-2. Sistema Basico
Esta practica se realiza en tres etapas:
1. Crear un proyecto usando la herramienta Base System Builder
2. Analizar el proyecto creado
3. Probar el proyecto en hardware
En cada etapa hay instrucciones generales (indicadas por el simbolo
). Estas instrucciones
generales dan una idea global de la tarea a realizar. A continuacion se indican instrucciones paso
a paso mas detalladas con figuras ilustrativas. De acuerdo al conocimiento y experiencia, pueden
saltarse las instrucciones paso a paso e ir directamente a la siguiente instruccion general.

1-4

Crear el Proyecto utilizando Base System Builder

Etapa 1

Iniciar el entorno Xilinx Platform Studio (XPS) y crear un nuevo proyecto. Usar la
herramienta Base System Builder para generar un sistema basico con MicroBlaze y
una aplicacion que verifica la memoria. Implementar el sistema en la placa de
desarrollos Nexys2.
n Iniciar XPS seleccionando Inicio Todos los Programas Xilinx ISE Design Suite 12.2
EDK Xilinx Platform Studio
o Dejar la opcion por defecto Base System Builder y presionar OK para iniciar el asistente
(Figura 1-3). Si por error se presiona Cancel, en File New Project vuelve a iniciarse el
asistente.

Figura 1-3. Creacion de un nuevo Proyecto usando Base System Builder


p
Con el boton Browse seleccionar la ubicacion del nuevo proyecto, luego presionar Open
para abrir el directorio. Luego presionar el boton Save (Figura 1-4) para guardar el archivo
system.xmp. Copiar el Board Support Package para la placa Nexys2 al subdirectorio Lib del
directorio de proyecto. Luego tildar Set Project Peripheral Repository y con el boton Browse
seleccionar el subdirectorio Lib. Finalmente presionar OK.

1-5

Figura 1-4. Asignacion del directorio de proyecto


q Seleccionar la opcion I would like to create a new design option en el dialogo Welcome to
Base System Builder y presionar Next.
r En el dialogo Board Selection, especificar la siguiente configuracion (Figura1-5) y presionar
Next.
{

Board Vendor: Digilent

Board Name: Nexys 2-500 Board

Board Revision (Verify on board): C

Figura 1-5. Dialogo para la seleccion de placa de desarrllos


s En el dialogo System Configuration, dejar la opcion por defecto Single-Processor System
(Figura 1-6) y presionar Next.

Figura 1-6. System Configuration Dialog Box

1-6

t En el dialogo Processor Configuration (Figura 1-7), dejar la configuracion por defecto (ver
mas abajo) y presionar Next.
{

Reference Clock Frequency: 50 MHz


o

Este es el oscilador externo de la placa de desarrollos; se utilizara para generar la


temporizacion del procesador y los buses.

Processor type: MicroBlaze

System Clock Frequencybus Clock Frequency: 50 MHz

Local Memory: 8 KB
Debug Interface: On-Chip H/W debug module

Figura 1-7. Dialogo para la configuracion del procesador

Seleccionar y configurar a LEDs_8Bit y RS232_DCE como dispositivos externos, a


los controladores dlmb y ilmb como controladores internos. Generar las
aplicaciones de testeo de memoria y testeo de perifericos mediante el script de
enlazado(linker script).
n En el dialogo Peripheral Configuration, seleccionar y configurar RS232_PORT, y LEDs_8Bit
como perifericos externos, segun se muestra a continuacion, quitar los perifericos
Push_Buttons, SSG_Decoder y Switches de Processor 1 (MicroBlaze). Los controladores
dlmb y ilmb no se pueden quitar porque son de uso interno del procesador.
{

RS232_PORT: XPS UARTLITE, 9600 baud rate, 8 Data bits, no interrupt, no parity (Figura
1-8)

LEDs_8Bit: XPS GPIO. No interrupt (Figura 1-9)

Los perifericos a quitar sonSwitches_8Bit, Push_Buttons_3Bit y Ssg_Decoder_0

En este punto se podria utilizar Add para agregar perifericos. En la siguiente practica se vera
otro metodo para agregar perifericos al sistema.
!

Obs: la cantidad de perifericos que aparecen en las ventanas depende de la resolucion del
monitor.

1-7

Figura 1-8. Configuracion RS-232 DCE

Figura 1-9. Configuracion XPS GPIO


o Presionar Next para pasar al dialogo Cache Configuration, no seleccionar nada y
presionar Next.
p
En el dialogo Application Configuration, dejar la configuracio por defecto (Figura 1-10) y
presionar Next.

Figure 1-10. Dialogo Application Configuration


q Verificar la configuracion en el dialogo Summary (Figura 1-11) y presionar Finish.

Figura 1-11. Dialogo System Summary

1-8

r En el dialogo Next Step,seleccionar Start Using Platform Studio y presionar OK.


s Aparece una vista del sistema (Figura 1-12), mostrando los perifericos y buses que se utilizan y
su conexionado. Presionar Finish cuando el dialogo congratulations aparezca indicando que
los archivos que la herramienta BSB ha creado.

Figure 1-12. Vista del Systema

1-9

Analisis del Hardware

Etapa 2

Generar un diagrama en bloques del sistema y estudiar sus componentes e


interconexiones. Ver y analizar en la vista System Assembly las conexiones de bus
y puertos de los perifericos. Utilizar la herramienta PlatGen para generara las netlist
del sistema (archivos .NGC). Revisar los archivos generados.
n Seleccionar Block Diagram tab para abrir una vista del diagrama en bloques (Figura 1-13)
observando los distintos componentes usados en el sistema.

Figura 1-13. Vista de diagrama de bloques del proyecto


Se puede acercar y alejar la vista, y usar las barras de desplazamiento para navegar el
diagrama. Se puede ver el procesador MicroBlaze, los controladores LMB, el bus PLB
conectando el procesador con los perifercos, etc.
o En la vista System Assembly View, presionar el boton + y observar el detalle de las
conexiones del bus del sistema (Figura 1-14)

1-10

Figura 1-14. Conexiones del Bus

1. Escribir el nombre de la conexion de bus de los siguientes perifericos:


mdm_0:
dlmb_cntlr:
RS232_DCE:

p
Seleccionar Ports, aparecera una vista como la Figura 1-15. Aqui es donde se pueden
hacer las conexiones de los perifericos. Se observara que los buses de datos de las memorias RAM
y FLASH no estan conectados al bus de datos del multiplexor de memoria mem_bus_mux_0. Pare
ello se realizaran las siguientes conexiones:

Micron_RAM
Mem_DQ_I
Mem_DQ_O
Mem_DQ_T
INTEL_FLASH
Mem_DQ_I
Mem_DQ_O
Mem_DQ_T

net_bsbassign35
net_bsbassign51
net_bsbassign67
net_bsbassign117
net_bsbassign133
net_bsbassign149

1-11

Figura 1-15. Ports


?

2. Nombrar las nets a las que estan conectados los siguientes puertos::
RS232_DCE RX:
RS232_DCE TX:
LEDs_8Bit GPIO_IO_O:

q Seleccionar Addresses, aparecera una vista como la de la Figura 1-16. Aqui se puede
asignar el rango de direcciones de los componentes del sistema.

Figura 1-16. Asignacion de direcciones


?

3. Listar las direcciones de los siguientes perifericos:


RS232_PORT Base address:
RS232_PORT High address:
LEDs_8Bit Base address:
LEDs_8Bit High address:
dlmb_cntlr Base address:

1-12

dlmb_cntlr High address:


ilmb_cntlr Base address:
ilmb_cntlr High address:
r Ejecutar la herramienta PlatGen seleccionando Hardware Generate Netlist o presionando el
boton

en la barra de herramientas

s Seleccionar Design Summary. Aqui hay un resumen de la informacion de implementacion del


diseo, reportes y mensajes. Hay informacion especifica respecto a la FPGA usada y mensajes
de las distintas herramientas de software utilizadas. Los paneles del lado izquierdo permiten
controlar la informacion que se muestra en el panel derecho.
t Utilizando un explorador de archivos, ir al directorio de proyecto.
Se han creado distintos directorios conteniendo archivos en VHDL y netlists.
?

4.

Listar los directorios creados y comentar el contenido de cada uno de ellos.

1-13

Prueba en Hardware

Etapa 3

Generar el bitstream y programarlo en la placa de desarrollos. La memoria de


instrucciones (FPGA Block RAM) se inicializara con el ejecutable generado
utilizando las herramientas GNU compiler. Para ello el bitstream se actualizara con
la imagen ejecutable
n Conectar la placa de desarrollos Nexys2
o Inicia una sesion en hyperterminal y configurarla con los siguientes parametros (Figura 1-17)
(cambiar la velocidad a 9600 baudios)

Figure 1-17. Configuracion del HyperTerminal

p En XPS, seleccionar Device Configuration J Download Bitstream. Aparecera un mensaje de


fallo debido a que esta version de ISE no reconoce el PlugIn de Digilent para grabar la FPGA,
por lo que se utilizara la herramienta Digilent Adept
q Con la herramienta Digilent Adept, seleccionar el archivo download.bit, que se encuentra en
el directorio Implementation del proyecto y programar la FPGA.
r Una vez programada la FPGA, en la pantalla del hyperterminal debera verse el siguiente
mensaje (con Micron_RAM):

Figure 1-18. Salida del programa HyperTerminal

1-14

Conclusiones
La herramienta Base System Builder se usa en XPS para generar un sistema
basado en MicroBlaze junto con una aplicacion de software para prueba. Se crean
distintos archivos utilizados por las diferentes herramientas de software necesarias
para implementar el sistema en FPGA. Se utilizan distintas vistas para acceder a la
configuracion del sistema. Una vez configurado el sistema, se crean las netlist
necesarias para la implementacion. Una vez implementado el sistema, se agrega al
bitstream la informacion necesaria para inicializar la memoria de codigo del
procesador con la aplicacion de software.

1-15

Вам также может понравиться