Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Scroll Title
anchorFigure_VHM
title-alignmentcenter

draw.io Diagram
bordertrue
diagramNameTe0717_incoming
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth796
revision12

Figure 1: Module TE0717 with Carrier TEB0717

1 Overview


This guide showcases the important components of the module-carrier combination TE0717 + TEB0717 and introduces the available script-based reference design to get the board up and running.

1.1 Prerequisites

HardwareSoftware
  • TE0717 module
  • TEB0717 carrier
  • Micro-USB cable

1.2 Getting Started with the TE0717

The module TE0717 has a Xilinx Spartan-7 FPGA onboard that allows you to create extensive digital hardware and software designs.

Most of the FPGA IOs are spread arround the carrier. The TE0717 is assembled with HyperRAM(64 Mbit), QSPI non-volatile Flash memory(64 Mbit) and plenty of IOs which enable great hardware expandability. For communication and configuration the carrier offers a JTAG/UART Interface.

This Getting Started Guide shows how to set up the board, attach the jumpers, wire it up and connect it with the software. The TE0717 Test Board description goes into "how to use the provided reference design" and in here we touch the aspect of how to add your own IP to the design. This includes changing the Vivado Block Design, regenerating the bitstream and using the hardware export(.xsa file) in Vitis to develop software that runs on the MicroBlaze.

Page properties
hiddentrue
idComments

Old text: 

The module TE0717 has a Xilinx Spartan-7 FPGA onboard that allows you to create extensive digital hardware and software designs.

Most of the FPGA IOs are spread arround the carrier. The TE0717 is assembled with HyperRAM(64 Mbit), QSPI non-volatile Flash memory(64 Mbit) and plenty of IOs which enable great hardware expandability. For communication and configuration the carrier offers a JTAG/UART Interface.

This Getting Started Guide shows how to set up the board, attach the jumpers, wire it up and connect it with the software. Over the course of this guide we will go into "how to use the provided reference design" and touch several aspects of "how to modify the design according to your needs". This includes changing the Vivado Block Design, regenerating the bitstream and using the hardware export(.xsa file) in Vitis to develop software that runs on the MicroBlaze. Here we will not build the whole project from scratch since that would go beyond the scope of this guide.


1.3 Official Documentation

1.4 TE0717 module + TEB0717 carrier - Hardware Features

  • FPGA
    • Xilinx Spartan-7 - XC7S25-1FTGB196C
  • Clocking
    • 100 MHz clock from clocking chip SiT8008 on TE0717 module
  • Memory
    • 8 MByte DDR HyperRAM
    • 8 MByte Quad-SPI Flash
  • Communication
    • On carrier USB-JTAGProgramming
  • Connectors
    • B2B connector - Module(JM1) to Carrier(JB1)
    • Unpopulated PIN Header on carrier(J3, J4, J5)
  • Configuration and Debug
    • On carrier USB-JTAGinterface
  • Jumper
    • Adjustable BANK34 supply voltage (J2)
    • Power source (J1)
  • General Purpose I/O
    • 2x2 user LEDs (red,green)


Scroll Title
anchorFigure_VHM
title-alignmentcenter

draw.io Diagram
bordertrue
diagramNameTE0717_TEB0717_Hardware
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth732
revision8

Firgure 2: TE0717+TEB0717 Hardware Blockdiagram

Basic IOs<->FPGA connections are as following, Table 1:


ColorSignal

FPGA Pin

Function
LED D1(on carrier)redB14_L24_PP10general purpose
LED D2(on carrier)greenB14_L24_NP11"
LED D1(on module)redLED1D14"
LED D2(on module)greenLED2C14"
Clock --CLK_100MG11singled ended 100MHz clock


Info

Information on IO routing and FPGA pin connections can be found in the schematics.


2 Board Power-Up


2.1 TE0717 Hardware Setup and Power up

  1. Before connecting the Board to the PC, make sure to properly mount the module TE0717 onto the carrier TEB0717 via the B2B connector like in Figure 1.
  2. Check the Jumper setting

    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Figure 3: Jumper setting

    The Voltage set with Jumper J1 determines the source of the input voltage for the voltages regulator chip U1 to the left of J1. Either 5V from the MicroUSB port(VUSB) or 5V from pin header J4.

    With the shown setting of Jumper J2 the voltage VADJ is set to 3.3V that comes from the carriers voltage regulator chip U1. The 1.8V comes from the module. The Voltage VADJ is wired to the module and is used as the BANK34 supply voltage.

  3. Use a MicroUSB cable to connect your board to the PC.cc
  4. All the LEDs are simply routed to the FPGA, hence none of them should be turned on. If the qspi flash on the module is preloaded with a design though, it might be that some LEDs are blinking.

  5. In case the QSPI Flash is loaded with the reference design, you can connect to the board with a program like PuTTY. Just open up a serial session with baud-rate of 9600 and the right COM-port(visible in Device Manager).
    You may need to press the RESET-button.

    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Figure 4: Terminal(MicroBlaze output)

2.2 Reference Design -

Description

Introduction

Page properties
hiddentrue
idComments

ACHTUNG!!! Hier soll noch entschieden werden, ob hier nur kurz auf das Referenzdesign eingegangen wird und die Inhalte im public doc - test board beschreibung reingenommen werden bzw ... was hier überhaupt noch sinnvoll reingehört ?

We provide a reference design that interacts with most of the peripheral on the module. The provided design "TE0717 test board" shows how to connect the different parts of the module to simplify the development of your own application. You can use it for your own design but keep in mind the overall FPGA resources and power consumption before deployment.

The reference design we use are introducing in this guide is "TE0717 test board". The most important steps to get it up and running are explained on TE0717 Test Board. The Download is available here.

The reference design is only usable with the specified Vivado/Vitis version. Do never use different Versions Always use the same version of Xilinx Software for the same one Project. (please only e.g. use reference design 2021.2 with vitis installation 2021.2)

The components of the reference design are illustrated in the following figure:


Scroll Title
anchorFigure_VHM
title-alignmentcenter

draw.io Diagram
top
bordertrue
diagramNameBlockDiagram_ReferenceDesign
simpleViewerfalse
width
linksauto
tbstylehidden
diagramDisplayName
lboxtrue
diagramWidth1120
revision3

Figure 5: Blockdiagram of the Reference Design

The Cores are connected via the AXI Interface with the MicroBlaze Processor. How they are mapped into the address space can be seen in the address editor:

Scroll Title
anchorFigure_VHM
title-alignmentcenter

Figure 6: Vivado Address Editor - Address Mapping

For example the AXI GPIO IP Core which has a LED1 connected to it, can be controlled with software(C/C++) by raising the bits mapped to the address 0x4000 0000.

The VIO Core enables you to control connected IOs via the Vivado Hardware Manager(like LED2).

2.3 Design Flow

The following Vivado Blockdiagram illustrates the different parts of the reference design and what ports are connected outside the FPGA.

Scroll Title
anchorFigure_BD
title-alignmentcenter
titleBlock Design

Image Removed

Figure 7: Blockdesign of the provided reference design

2.3.1 Add IP to the Design

In this section we are going to add a AXI GPIO IP to the Blockdesign and connect the Carrier LEDs to the IP. After generating the Bitstream we export the design to Vitis and control the LEDs with software running on the MicroBlaze.

Necessary steps:

Expand
titleshow
  • First open the prebuilt reference design with the "_create_win_setup.cmd" script and open the block design.
  • Add a second "AXI GPIO IP" from the IP catalog to the block design.
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 8: Adding AXI GPIO IP
    Configure the IP by double-clicking on the IP. Make the changes according to figure 9 and click "ok".
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 9: AXI GPIO Configuration

    Right click on the port and choose "Make external" in the context menu

    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 10: Make the AXI GPIO Ports external for the Carrier LEDs
    Next step is to run the connection automation
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 11: Run Connection Automation
    Now the address mapping in the address editor should be set like:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 12: Address Editor - AXI GPIO 1
    Next, the constraints for the two leds have to be set

    .

    Just copy the constraints from the other two onboard LEDs in the "_i_io.xdc" and apply the changes:

    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 13: on carrier LEDs constraints
    Now you are all set in Vivado and you can build the bitstream + export the project to Vitis with the following command in the TCL-console:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 14: Build bitstream and export project

    After that was successful you can test the functionality of the VIO Core by programming the FPGA and controlling the onBoard LED2:

    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 15: Program FPGA and control onboard LED through the VIO IP Core.
    If that works correctly you can build the Vitis project with the provided C-Applications with the following command:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 16: Build Vitis project with built vivado design
    In Vitis open the hello_te0717 application:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image RemovedImage Removed

    Figure 17: Vitis hello_te0717
    Add the following lines of code to also make both of the carrier LEDs blink:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 18: hello_te0717 adding code for controlling carrier LEDs'
  • Save and Build project
  • Right-Click on the application and choose "Run Configuration"
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 19: Run Configuration
    Since we already programmed the FPGA, uncheck the following:
    Scroll Title
    anchorFigure_VHM
    title-alignmentcenter

    Image Removed

    Figure 20: Run Configuration - Uncheck
  • Click on Apply and Run to execute the program on the MicroBlaze. You Should now see the LEDs of the module and carrier blinking in sequence.
    Also if you open up a serial connection to the board with a program like PuTTY, you should see output like described in section 2.1
  • 3 Notes



    Document Revision History

    Expand
    titleshow


    Scroll Title
    anchorTable_DRH
    titleDesign Revision History

    Scroll Table Layout
    orientationportrait
    sortDirectionASC
    repeatTableHeadersdefault
    sortByColumn1
    sortEnabledfalse
    cellHighlightingtrue


    Version

    DateVivado

    Description

    Reference Design Files

    Author

    1.02022-XX07-XX202021.2initial release.zipWaldemar HanemannWH



    Custom_table_size_100







    Scroll Only


    HTML
    <style>
    .wiki-content .columnLayout .cell.aside {
    width: 0%;
    }</style>
    



    Scroll pdf ignore


    Custom_fix_page_content

    Table of contents

    Table of Contents
    outlinetrue