of 12/12
Microblaze MCS Tutorial Microblaze MCS Tutorial para Xilinx ISE 14.6 En este tutorial se muestra cómo agregar un procesador embebido Microblaze MCS a un proyecto que incluye la adición de un sencillo programa C. El diseño fue dirigido a un Spartan 6 FPGA (en un tablero Nexys2) pero los pasos Debe ser lo suficientemente general como para trabajar en otras plataformas. Cree un nuevo proyecto y, a continuación, seleccione Proyecto => Nueva Fuente y seleccione CoreGen, a continuación, seleccione Microblaze MCS bajo procesamiento incorporado: Nota: el nombre del archivo que usted proporcione en el cuadro de diálogo Nueva fuente determinará el nombre del componente. En las capturas de pantalla por debajo de este es 'microblaze_mcs. Más adelante en este tutorial, necesitará el nombre que ha proporcionado.

Microblaze MCS Tutorial

  • View
    78

  • Download
    9

Embed Size (px)

Text of Microblaze MCS Tutorial

Microblaze MCS Tutorial Microblaze MCS Tutorial para Xilinx ISE 14.6En este tutorial se muestra cmo agregar un procesador embebido Microblaze MCS a un proyecto que incluye la adicin de un sencillo programa C. El diseo fue dirigido a un Spartan 6 FPGA (en un tablero Nexys2) pero los pasosDebe ser lo suficientemente general como para trabajar en otras plataformas.Cree un nuevo proyecto y, a continuacin, seleccione Proyecto => Nueva Fuente y seleccione CoreGen, a continuacin, seleccioneMicroblaze MCS bajo procesamiento incorporado:

Nota: el nombre del archivo que usted proporcione en el cuadro de dilogo Nueva fuente determinar el nombre del componente. En las capturas de pantalla por debajo de este es 'microblaze_mcs. Ms adelante en este tutorial, necesitar el nombre que ha proporcionado.

Ajuste la frecuencia de reloj de entrada para que coincida con su tablero Nexys (50 o 100 MHz) Aumentar el tamao de la memoria de 8 KB a 16 KB Tenga en cuenta la instancia jerrquica Diseo Nombre 'mcs_0' (vamos a necesitar esto ms adelante) Seleccione la ficha UART y Enable the receiver y transmitter y seleccione su velocidad de transmisin:

Aade 8 bits en la ficha GPO:

Aade 8 bits en la ficha GPI:

Haga clic en Generate - esperar unos minutos (aproximadamente 5 minutos) para el ncleo que se crear.

Seleccione el ncleo MicroBlaze en la Jerarqua Pane continuacin, expanda el CORE Generator en el panel Procesos y seleccione la opcin View HDL Instantiation Template:

Crear un nuevo nivel con conexiones con el reloj y los perifricos en el tablero Nexys y luegoCrear una instancia del ncleo MicroBlaze mediante la plantilla de instancias prevista.Nota: es posible que aparezca una seal GPI1_Interrupt (si as se puede pasar por alto este puerto)Importante: Utilice el nombre del componente que utiliz y el nombre de instancia 'mcs_0' se mencion anteriormente. En esteEjemplo el nombre del componente es 'microblaze_mcs.

Sintetizar el proyecto y asegurarse de que no hay advertencias o errores.Nota: Si usted est trabajando con la junta Nexys2 (con el Spartan 3E ms) podrs ver tres de alertaMensajes similares a los siguientes:Analyzing top module .WARNING:Xst:2211 - "ipcore_dir/microblaze_mcs.v" line 36: Instantiating blackbox module .Module is correct for synthesis.WARNING:Xst:616 - Invalid property "SYN_BLACK_BOX 1": Did not attach to mcs_0.WARNING:Xst:616 - Invalid property "SYN_NOPRUNE 1": Did not attach to mcs_0.

Puede hacer caso omiso de estas advertencias de notar que an debe administrar para sintetizar con xito:Process "Synthesize - XST" completed successfully

Crear Fusionado Herramienta BMM y actualizacin para utilizar BBM: Si la consola Tcl no est visible, seleccione View -> Panels -> Tcl Console en el men. En el tipo Tcl consola el comando de script TCL siguiente:source ipcore_dir/microblaze_mcs_setup.tclUsted debe ver:Command>source ipcore_dir/microblaze_mcs_setup.tclmicroblaze_mcs_setup: Found 1 MicroBlaze MCS core.microblaze_mcs_setup: Added "-bm" option for "microblaze.bmm" to ngdbuildcommand line options.microblaze_mcs_setup: Done.

Ahora Implementar su diseo.Habr 45 advertencias sobre los pines de salida Microblaze inconexos - ignore estas:WARNING:NgdBuild:440 - FF primitive'mcs_0/U0/microblaze_I/MicroBlaze_Core_I/Area.Decode_I/Using_FPGA.Ext_NM_BRK_FDRSE' has unconnected output pin

Los prximos pasos estn relacionados con el desarrollo de software utilizando SDK (Software Development Kit)Comience SDK y seleccione el rea de trabajo para que coincida con la que se almacena el diseo (por ejemplo, el proyecto esUbicada en este ejemplo en C: \ ece3829 \ MCS3):Nota: cuando se agrega el '\ workspace' a tu ruta del proyecto, se crear automticamente esta nueva carpeta.

Haga clic en AceptarSDK Starts:

Seleccione File => New => Xilinx Hardware Platform SpecificationBusque y seleccione el proyecto xml creado por ISE (estar en ipcore_dir):

Haga clic en FinalizarSeleccione File => New => Xilinx Board Support Package to create new Board Support Package (BSP):

Haga clic en Finalizar

Haga clic en AceptarUsted debe ver el tiempo en la ventana de SDK de la consola:"Compiling iomodule""Compiling cpu"Running execs_generate.'Finished building libraries'

Ahora cree un nuevo programa C:File => New => Xilinx C Project y seleccione Hello World

Haga clic en Siguiente y luego Finalizar.Hello_world 0.emf se produce (Formato ejecutable y enlazable):ELF file : hello_world_0.elfelfcheck passed.Finished building: hello_world_0.elf.elfcheck' '

De vuelta en ISE Project Navigator agregar un archivo UCF para que coincida con su tablero Nexys (incluir un perodo de tiempo restriccin).Cree un archivo de bits ejecutando el Generate Programming FileA continuacin tenemos que aadir otro comando TCL:Update Tool to Use Software, Update Bitstream with Software y Generate Simulation Files:Escriba el siguiente comando en la consola Tcl:microblaze_mcs_data2mem workspace/sdk-program/Debug/sdk-program.elfCuando el sdk-program se sustituye por hello_world_0 en este ejemplo (dos lugares). Usted debe ver:Command>microblaze_mcs_data2mem workspace/hello_world_0/debug/hello_world_0.elfmicroblaze_mcs_data2mem: Found 1 MicroBlaze MCS core.microblaze_mcs_data2mem: Using "hello_world_0.elf" for microblaze_mcsmicroblaze_mcs_data2mem: Existing bitgen "-bd" options unchanged.microblaze_mcs_data2mem: Running "data2mem" to create simulation files.microblaze_mcs_data2mem: Running "data2mem" to update bitstream with software.microblaze_mcs_data2mem: Done.

Conecte la tarjeta a un ordenador mediante un cable RS232 (Nexys2) o un cable USB (Nexys3).Con la herramienta Adept Digilent ahora se puede descargar el archivo de bits en el directorio principal del proyecto para su bordo.Usted debe ver "Hello World" aparece en un enlace de comunicaciones:

Extra: Modificacin del Programa de C.En el programa de Xilinx XDK, expanda la carpeta src del proyecto C, y haga doble clic en elArchivo hello_world.c. Usted puede ver las declaraciones de C:

Modifique las declaraciones segn sea necesario (por ejemplo, cambiar el "Hello World" para aadir su nombre) y luegoPulse Guardar. Un nuevo archivo ELF se genera automticamente.De vuelta en ISE, Rerun el Generate Programming File para crear un archivo de poco actualizado con el nuevo C programa de creacin (no es necesario volver a hacer cualquiera de la sntesis anterior o pasos de implementacin).Descargue el nuevo archivo de poco a la tarjeta y verifique los nuevos cambios.