21
Laboratorio 1 - Diseño simple de Hardware Orientado a PowerPC en la XUP Virtex-II Pro

Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Laboratorio 1 - Diseño simple de Hardware

Orientado a PowerPC en la XUP Virtex-II Pro

Page 2: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Simple laboratorio de diseño de Hardware: Procesador PowerPC

Introducción

Este laboratorio es una guía para el proceso de utilización de la Plataforma de estudio Xilinx (XPS) para crear un simple procesador PPC, a través de la tarjeta XUP Virtex-II Pro. Este laboratorio se utilizara como base para el resto de laboratorios.

Objetivos Después de completar este laboratorio, usted será capaz de:

• Crear un proyecto XPS. • Usar el sistema base de construcción (BSB) para crear un sistema de orientación por la tarjeta XUP Virtex-II Pro. • Descargar la aplicación de prueba y verificar la producción de HyperTerminal.

Procedimiento El propósito del laboratorio de ejercicios es hacer un recorrido a través de un completo sistema de diseño del procesador. Cada laboratorio se basará en el anterior laboratorio. El siguiente diagrama representa el diseño terminado.

Figura 1-1. Diseño completo

PPC

PLB

Bus

PLB2OP

B PLB BRAM

Cntlr

OPB

Bus

PLB BRAM

PLB BRAM

Cntlr PLB BRAM

INTC

GPIO

Timer

UART

MY IP LEDs

GPIO Push Buttons

Switches

Page 3: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

En este laboratorio, se utiliza la BSB de la XPS sistema para crear un procesador de sistema de procesador de la siguiente IP: • PPC405 (procesador PowerPC) • Proc_Sys_Reset (reiniciar el sistema de circuitos) • JTAG_PPC (interfaz interna JTAG circuitos FPGA) • DCM (Genera diversas frecuencias de reloj utilizado por el procesador, buses, y periféricos) • PLB bús (de alto rendimiento de bús) • PLB BRAM controller (PLB controlador de memoria que se conecta a la memoria FPGA) • BRAM (FPGA de memoria) • PLB2OPB (PLB puente entre buses y OPB) • OPB bús • OPB UART Lite (versión lite de la UART que es libre con la instalación vr / MIC / cs)

Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción base, -> Analizara el proyecto de creacion y generacion del procesador de sistema de netlists. -> Debajo de cada instrucción general para un determinado procedimiento, usted encontrará que cada instrucción es dada paso a paso y las figuras ilustran con más detalle la ejecución de la instrucción general. Si usted se siente seguro con una instrucción específica, no dude en saltarse las instrucciojes y pasar a la siguiente instrucción general en el procedimiento.

PPC

PLB

Bus

PLB2OP

B PLB BRAM

Cntlr

OPB

Bus

PLB BRAM

PLB BRAM

Cntlr PLB BRAM

INTC

GPIO

Timer

UART

MY IP LEDs

GPIO Push Buttons

Switches

Page 4: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Abrir el proyecto Paso 1

Inicie la plataforma de lanzamiento Xilinx Estudio (XPS) y cree un archivo de proyecto en C:\xup\embedded\xupv2pro\labs\lab1 mediante el uso del Sistema de construccion base. Seleccione el procesador PowerPC ™, con una de frecuencia de reloj de 300 MHz, la frecuencia de reloj de bus de 100 MHz, y FPGA JTAG como la interfaz de depuración. Pegue la carpeta xup_v2pro en el disco local C:/, dentro de la cual se encuentra la capteta lib, la misma que nos permite inicializal la tarjeta, si este archivo no es ubicado en el lugar que se indica el programa no funcionara correctamente.

� Abrir XPS seleccionando Start →→→→ Programs →→→→ Xilinx Platform Studio 9.1i →→→→ Xilinx Platform Studio

Figure 1-3. Selección de la plataforma de estudio X ilinx

No seleccione Platform Studio SDK; este abre el kit de desarrollo de software IDE.

� Seleccione Base System Builder Wizard y haga clik en Ok

Paso 1:

Abrir un proyecto

Paso 2: Analizar la creación del proyecto

Paso 3: Generar el Hardware Netlists

Paso 4: Descargar el TestApp

!

Page 5: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figure 1-4. Nueva base de sistemas basados en proye cto la creación.

Clic en Use Repository paths, y busque la carpeta xup_v2pro, que antes coloco en el disco C:/

Abrir la carpeta creada anteriormente usando el sistema base de construcción, en el cuadro de dialogo.

Figure 1-5. Creacion de un Nuevo proyecto

� Especifique el nuevo proyecto como: Project File as C:\xup\embedded\ppc\labs\lab1\system.xmp and click <OK>

� Seleccione la opción: I would like to create a new design

� Click en Next y se mostrará el cuadro de dialogo Select Board. Especifique la configuración de tal manera que coincida con el siguiente texto:

Page 6: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

� Board Vendor: Xilinx

� Board Name: XUP Virtex-II Pro Development System

� Board Revision: C

Figure 1-6. Seleccion de la tarjeta en el cuadro de dialogo

� Click en Next para mostrar el cuadro de dialogo Select Processor

Page 7: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figure 1-7. Cuadro de dialogo para seleccionar el p roscesador.

� Seleccione PowerPC como el procesador y haga clik en Next.

Page 8: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Especifique laconfiguracion en Configure Processor de tal manera que coincida con los datos siguientes:

� Processor Clock Frequency: 300 MHz (frecuencia del procesador)

� Bus Clock Frequency: 100 MHz (frecuencia del reloj del bus)

� JTAG Debug Interface: FPGA JTAG

� On-Chip Memory (OCM) – Data: NONE

� On-Chip Memory (OCM) – Instruction: NONE

� Cache: Disabled

Figure 1-8. Cuadro de diálogo de configuración del procesador.

Seleccione RS232_Uart_1 como dispositivo externo. Seleccione la 64-kb PLB como controlador y generador de la secuencia de comandos del enlazador.

Page 9: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

� Haga clic en Next para mostrar el cuadro de dialogo Configure IO Interfaces. Seleccionar la opcion RS232_Uart_1. Seleccione OPB UARTLITE en Peripheral, 115200 en Baudrate y NONE en Parity, dejando el resto de dispositivos con la configuración predeterminada.

Vea la Figura 1-9. Tenga en cuenta que el número de periféricos que aparecen en cada ventana dependerá de la resolución de su monitor

Figura 1-9.Cuadro de dialogo para la configuración de Interfaces IO

� Seleccione <next>, y verifique que ningún otro visto se encuentre seleccionadohasta llegar al cuadro donde aparezca la opción Add Internal Peripherals, es decir añadir periféricos internos.

Un PLB block RAM va a ser añadido por defecto. En este punto de la practica usted podría agregar periféricos internos haciendo clic en Add Peripheral, sin embargo en la siguiente practica se enseñara un método alternativo para agregar periféricos en un proyecto ya existente.

� Selecione 64 KB para el tamaño de la memoria en memory size y clic en <Next> para abrir la pantalla de Software Setup.

Page 10: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figura 1-10. Cuadro de dialogo para añadir periféri cos internos

Figura 1-11. Cuadro de dialogo para la configuració n del Software.

� Click <Next>, verifique que las dos opciones se encuentren seleccionadas.

Page 11: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figura1-12. Configuración de la Memoria.

� Clic en Next para mostrar la pantalla System Created, que resume que es lo que el sistema está creando. Tenga en cuenta que la dirección de ruta para el periférico puede ser diferente.

Page 12: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figura 1-13. Cuadro de dialogo para el sistema crea do.

Click en Generate

A continuación le aparece un cuadro de dialogo en el que lo felicita, y le indica una lista de los archivos que ha creado BSB.

� Clic en Finish para finalizar la creación del proyecto.

� Clic en <OK> para iniciar el uso de la plataforma de estudio.

Page 13: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Analizar el proyecto creado Paso 2

En la pantalla se muestra los archivos creados por el programa y su vista en diagrama de bloques.

� Observe el ensamblaje del programa y los distintos componentes para el diseño que se crearon.

Paso 1:

Abrir un proyecto

Paso 2: Analizar la creación del proyecto

Paso 3: Generar el Hardware Netlists

Paso 4: Descargar el TestApp

Page 14: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Figura 1-14. Sistema de ensamblaje para la creación del proyecto.

Podra observar el procesador PowerPC, el controlador JTAG ,el Puente plb2opb , y plb_bram_if_cntlr conectado al procesador. Observe que el opb_uartlite está conectado al bus OPB.

1. Haga doble clic en el bloque opb_uartlite, vaya a través de los distintos ámbitos, y complete el texto siguiente

Base address: High address: Explicit parameter value for C_BAUDRATE:

2. ¿Por qué crees que el DCM_module y proc_sys_reset casos no tienen conexiones con cualquiera de los otros bloques en el diseño?

________________________________________________________________

________________________________________________________________

________________________________________________________________

Observe que puede cambiar los parámetros (tales como dirección base, rango de direcciones, o C_BAUDRATE) a fin de reflejar aquí las especificaciones de diseño.

� Cierre el cuadro de dialogo sin guardar cambios.

El sistema de ensamblaje es útil para la visualización global del sistema de conexión de los buses y la conectividad. Para más detalles utilizaremos otras herramientas.

?

Page 15: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Generacion del Hardware Netlists Paso 3

Uso del PlatGen, para generar el hardware netlist

� En XPS, seleccione Hardware →→→→ Generate Netlist o haga clic en el icono ubicado en la barra de herramientas en la parte superior.

� Observe en la parte inferior de la pantalla como la generacion avanza.

� Abra la ventana de exploracion en: Start →→→→ Programs →→→→ Accessories →→→→ Windows Explorer

� Busque el proyecto Lab1 en el directorio.

Se han creado varios directorios de VHDL y la aplicación netlists.

3. Lista los directorios que se crearon.

________________________________________________________________

________________________________________________________________

Descargar la aplicacion Paso 4

� En la ficha de Aplicaciones, Applications, haga clic derecho en TestApp_Peripheral y seleccione “Mark to Initialize BRAM”.

� Clic derecho en TestApp_Memory y quita el visto a “Mark to initialize BRAMs”.

Paso 1:

Abrir un proyecto

Paso 2: Analizar la creación del proyecto

Paso 3: Generar el Hardware Netlists

Paso 4: Descargar el TestApp

Paso 1:

Abrir un proyecto

Paso 2: Analizar la creación del proyecto

Paso 3: Generar el Hardware Netlists

Paso 4: Descargar el TestApp

?

Page 16: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

� Selecciona en Device Configuration ���� Update Bitstream

Note que se van a realizar las siguientes acciones: correr el generador de la plataforma � Generar el bitstream � genera las librerías � compila el código SW � Fusiona el ejecutable con el bitstream

� Conecte la tarjeta XUP a la fuente de alimentación, el cable para descargar, y el cable serial.

� Abra el hyperterminal y realice las siguientes configuraciones.

El cuadro del hyperterminal se encuentra en Inicio�Todos los programas� Accesorios���� Comunicaciones����hyperterminal

� En el programa seleccione Device Configuration ���� Download bitstream

En la pantalla del hyperterminal debe ver la siguiente salida.

Page 17: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Conclusiones

o El sistema de construcción base (Base System Builder) puede ser utilizado en XPS para crear un proyecto.

o Se crean varios archivos, incluyendo el archivo del procesador y un sistema de archivo PBD para la visión esquemática.

o Después de que el sistema ha sido definido, el netlist del procesador del sistema puede ser creado.

o En un futuro laboratorio, usted aprenderá cómo agregar otros núcleos y simular el diseño.

Page 18: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Respuestas

1. Haga doble clic en el bloque opb_uartlite, vaya a través de los distintos ámbitos, y complete el texto siguiente

Base address: 0x40600000 High address: 0x4060ffff Explicit parameter value for C_BAUDRATE: 115200 _______________

2. Por qué crees que el DCM_module y proc_sys_reset casos no tienen conexiones con cualquiera de los otros bloques en el diseño?

Ambos módulos generan señales que están conectadas a algún módulo en el diseño. Por ejemplo, la señal de reloj generada por DCM_module está conectada al procesador, el puente plb2opb y el controlador PLB.

3. Lista los directorios que se han credo:

� data (contiene el archivo UCF que almacena la ubicación y reloj de los pines)

�etc (contiene fichero de opciones para el control de las herramientas ISE y el archivo de comandos para el control de la configuración de la FPGA)

� HDL (envoltura de sistema de archivos, procesador y periféricos)

�implementation (archivos netlist para periféricos)

�pcores (repositorio para periféricos)

���� ppc405_0 (relacionado con el software de archivos)

�TestApp_Memory (software de aplicación para la memoria)

����TestApp_Peripheral (software de aplicación para periféricos)

� __xps (opciones de archivos para varios puntos de las herramientas EDK)

?

Page 19: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

Archivos MHS completados

# ############################################################################## # Created by Base System Builder Wizard for Xilinx EDK 8.2 Build EDK_Im.14 # Tue Aug 29 14:15:28 2006 # Target Board: Xilinx XUP Virtex-II Pro Development System Rev C # Family: virtex2p # Device: xc2vp30 # Package: ff896 # Speed Grade: -7 # Processor: PPC 405 # Processor clock frequency: 300.000000 MHz # Bus clock frequency: 100.000000 MHz # Debug interface: FPGA JTAG # On Chip Memory : 64 KB # ############################################################################## PARAMETER VERSION = 2.1.0 PORT fpga_0_RS232_Uart_1_RX_pin = fpga_0_RS232_Uart_1_RX, DIR = I PORT fpga_0_RS232_Uart_1_TX_pin = fpga_0_RS232_Uart_1_TX, DIR = O PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000 PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST BEGIN ppc405 PARAMETER INSTANCE = ppc405_0 PARAMETER HW_VER = 2.00.c BUS_INTERFACE JTAGPPC = jtagppc_0_0 BUS_INTERFACE IPLB = plb BUS_INTERFACE DPLB = plb PORT PLBCLK = sys_clk_s PORT C405RSTCHIPRESETREQ = C405RSTCHIPRESETREQ PORT C405RSTCORERESETREQ = C405RSTCORERESETREQ PORT C405RSTSYSRESETREQ = C405RSTSYSRESETREQ PORT RSTC405RESETCHIP = RSTC405RESETCHIP PORT RSTC405RESETCORE = RSTC405RESETCORE PORT RSTC405RESETSYS = RSTC405RESETSYS PORT CPMC405CLOCK = proc_clk_s END BEGIN ppc405 PARAMETER INSTANCE = ppc405_1 PARAMETER HW_VER = 2.00.c BUS_INTERFACE JTAGPPC = jtagppc_0_1 END BEGIN jtagppc_cntlr PARAMETER INSTANCE = jtagppc_0 PARAMETER HW_VER = 2.00.a BUS_INTERFACE JTAGPPC0 = jtagppc_0_0 BUS_INTERFACE JTAGPPC1 = jtagppc_0_1 END

A

Page 20: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

BEGIN proc_sys_reset PARAMETER INSTANCE = reset_block PARAMETER HW_VER = 1.00.a PARAMETER C_EXT_RESET_HIGH = 0 PORT Ext_Reset_In = sys_rst_s PORT Slowest_sync_clk = sys_clk_s PORT Chip_Reset_Req = C405RSTCHIPRESETREQ PORT Core_Reset_Req = C405RSTCORERESETREQ PORT System_Reset_Req = C405RSTSYSRESETREQ PORT Rstc405resetchip = RSTC405RESETCHIP PORT Rstc405resetcore = RSTC405RESETCORE PORT Rstc405resetsys = RSTC405RESETSYS PORT Bus_Struct_Reset = sys_bus_reset PORT Dcm_locked = dcm_0_lock END BEGIN plb_v34 PARAMETER INSTANCE = plb PARAMETER HW_VER = 1.02.a PARAMETER C_DCR_INTFCE = 0 PARAMETER C_EXT_RESET_HIGH = 1 PORT SYS_Rst = sys_bus_reset PORT PLB_Clk = sys_clk_s END BEGIN opb_v20 PARAMETER INSTANCE = opb PARAMETER HW_VER = 1.10.c PARAMETER C_EXT_RESET_HIGH = 1 PORT SYS_Rst = sys_bus_reset PORT OPB_Clk = sys_clk_s END BEGIN plb2opb_bridge PARAMETER INSTANCE = plb2opb PARAMETER HW_VER = 1.01.a PARAMETER C_DCR_INTFCE = 0 PARAMETER C_NUM_ADDR_RNG = 1 PARAMETER C_RNG0_BASEADDR = 0x40600000 PARAMETER C_RNG0_HIGHADDR = 0x4060ffff BUS_INTERFACE SPLB = plb BUS_INTERFACE MOPB = opb END BEGIN opb_uartlite PARAMETER INSTANCE = RS232_Uart_1 PARAMETER HW_VER = 1.00.b PARAMETER C_BAUDRATE = 115200 PARAMETER C_DATA_BITS = 8 PARAMETER C_ODD_PARITY = 0 PARAMETER C_USE_PARITY = 0 PARAMETER C_CLK_FREQ = 100000000 PARAMETER C_BASEADDR = 0x40600000 PARAMETER C_HIGHADDR = 0x4060ffff BUS_INTERFACE SOPB = opb

Page 21: Laboratorio 1 - Diseño simple de Hardware€¦ · Figure 1-2. Procesador IP Este laboratorio se compone de tres pasos principales: -> Usted creará un proyecto con sistema de construcción

PORT RX = fpga_0_RS232_Uart_1_RX PORT TX = fpga_0_RS232_Uart_1_TX END BEGIN plb_bram_if_cntlr PARAMETER INSTANCE = plb_bram_if_cntlr_1 PARAMETER HW_VER = 1.00.b PARAMETER c_plb_clk_period_ps = 10000 PARAMETER c_baseaddr = 0xffff0000 PARAMETER c_highaddr = 0xffffffff BUS_INTERFACE SPLB = plb BUS_INTERFACE PORTA = plb_bram_if_cntlr_1_port END BEGIN bram_block PARAMETER INSTANCE = plb_bram_if_cntlr_1_bram PARAMETER HW_VER = 1.00.a BUS_INTERFACE PORTA = plb_bram_if_cntlr_1_port END BEGIN dcm_module PARAMETER INSTANCE = dcm_0 PARAMETER HW_VER = 1.00.a PARAMETER C_CLK0_BUF = TRUE PARAMETER C_CLKFX_BUF = TRUE PARAMETER C_CLKFX_DIVIDE = 1 PARAMETER C_CLKFX_MULTIPLY = 3 PARAMETER C_CLKIN_PERIOD = 10.000000 PARAMETER C_CLK_FEEDBACK = 1X PARAMETER C_DFS_FREQUENCY_MODE = HIGH PARAMETER C_DLL_FREQUENCY_MODE = LOW PARAMETER C_EXT_RESET_HIGH = 1 PORT CLKIN = dcm_clk_s PORT CLK0 = sys_clk_s PORT CLKFX = proc_clk_s PORT CLKFB = sys_clk_s PORT RST = net_gnd PORT LOCKED = dcm_0_lock END