Zynq SSE for Network-Attached Storage for the Xilinx ZC706

This Technical Brief shows how to setup the Zynq SSE to demonstrate NAS functionality. After going through the steps described herein, you will have a working Linux System running on theZynq with an attached SATA HDD or SSD, making files stored on the attached disk available to other networked clients.

Copyright © 2013 Missing Link Electronics. All rights reserved. Missing Link Electronics, the stylized Missing Link Electronics MLE logo are the service mark and/or trademark of Missing Link Electronics, Inc. All other product or service names and trademarks are the property of their respective owners.

Block Diagram

The block diagram shown below gives an overview over the Zynq SSE reference design: Within the Zynq Programmable Logic (PL) the MLE storage micro-architecture instantiates the DMA and the SATA Host Controller IP blocks. The storage micro-architecture itself interfaces with the Zynq Processing System (PS) via the high-performance AXI HP0 slave port. The ARM A9 in the PS runs Xilinx PetaLinux and the SATA Linux kernel driver.

PIC


Implementation

 

Implementation Details
Design Type PS + PL
SW Type Linux (Petalinux)
CPUs 2 CPUs 700 MHz
PS Features DDR, USB, UART, ETHERNET
PL Cores ASICS.WS SATA IP
Boards/Tools ZC706, XM104
Xilinx Tools Version Vivado 2014.1, PETALINUX 2013-2
Other Details Samsung 840 SSD(including Cable and Power Supply), SD-Card

 

Adress Map
  Base Address Size Interface
SATA IP 0x41000000 4K S AXI
DMA IP 0x41010000 4K S AXI, M AXI

 

Files Provided
BOOT.bin Compilation of Bitstream, FSBL and U-Boot
Image.ub Linux Ramdisk Image

 


Step by Step Instructions

 

PIC

Hardware needed:

  • ZC706 Board (including Power supply)
  • XM104 FMC Board
    The XM104 Adapter Card is available from Avnet:
    http://www.em.avnet.com/en-us/design/drc/Pages/Xilinx-FMC-XM104-Connectivity-Card.aspx
  • Mini USB Cable for USB Console
  • Supported SSD (for Example Samsung 840) WARNING, the SSD will be formatted, so save the data on it.
  • Power Supply for SSD
  • Ethernet Cable to connect Host PC and ZC706
  • SD Card (2 GB or bigger)
  • PC for UART console and Ethernet

Software Assembly:

  1. Format the SD Card using FAT32 File system
  2. Put image.ub and BOOT.bin into the root directory of the SD Card

Hardware Assembly:

  1. Insert the SD Card into the ZC706 SD Slot
  2. Connect the XM104 card to the HPC Port of the ZC706
  3. Connect the mini USB cable to the UART port of the ZC706 and the USB Port of your PC
  4. Connect the Ethernet port of the host pc to the ethernet port of the ZC706
  5. Connect the SSD to the XM104 SATA 1 port using the SATA Cable.
  6. Connect the SSD to power
  7. Switch the ZC706’s SW11 to SD Boot mode (as shown in picture)
  8. Connect the ZC706 to the Power Supply

The system should now look like in the supplied image

Startup:

  1. Switch on the ZC706
  2. On the PC open a Serial Terminal on the new serial port using the settings 115200 Baud 8N1
  3. Observe the Linux System booting
  4. After some time you should see a screen similar to the screenshot in the Expected Results.
  5. Login using
    • Login:root
    • Password: root
  6. configure the ethernet port on the host PC to have an IP address of 192.168.0.1 and a subnet mask of 255.255.255.0
  7. The ZYNQ-board has an pre-supplied IP of 192.168.0.2
  8. now connect to the ZYNQ-board using an FTP program and start transferring data to it

 


LED Description

 

Status LEDs can be found in the upper right corner of the board, next to the power switch. The associated meainings can be seen in the following table and in the Image below.

GPIO LED LEFT Timeout LED, indicates the Timeout of the IP core.
GPIO LED CENTER Gen3 Link, indicates 6 GBit/s connection
GPIO LED RIGHT GEN2 Link, indicate 3 GBit/s connection
GPIO LED 0 Linkup and Activity

PIC


Expected Results

 

As a result you should be having a running Linux system on the Zynq board. The UART Console output should be similar to the screenshot below.
Also you will have file-system access to the attached SSD using FTP, and by this evaluate and test the Zynq Sata Storage extension.

The Evaluation Reference Design (ERD) of the Zynq SSE comprises a hardware license management which allows to run full SATA functionality for up to 12 hours after power-up. After approximately 12 hours the evaluation expires, which is indicated by illuminating the LED ’timeout’. You will also notice that the Linux kernel driver informs you of having lost the SATA link to the SSD/HDD.

PIC