RoadTest: Digilent ARTY S7 Dev Board (Xilinx Spartan 7)
Author: dixonselvan
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: Arty Artix-7 FPGA ($99) - this has an additional 10/100Mbps Ethernet.
What were the biggest problems encountered?: 1) Unboxing without damaging the white paper box. Check out the unboxing video from time 1:30 to 1:50 (20 secs) for witnessing the struggle! Alas, I tore it slightly in spite of being careful not to. 2) Vivado Design suite is considerably a large file (~16GB) to be downloaded and requires more space (~33GB) in the disk to be installed. This results in longer wait time to get started with the Arty S7 board. 3) The time to compile (6 min approx. with Run Synthesis, Run Implementation, Generate Bitstream - sub-steps consuming 2 min each) and program the device is a short tea break! And if you need to change a single word in your code, you have to go for another break before it is complete. This sample time (6 min) has been taken with only Vivado Design Suite running in a 4GB RAM Windows 10 laptop with Intel-i5 4th generation processor clocking @1.70 GHz. Though this is a board review, the software (IDE) plays an integral role in the development cycle. Hence it requires a mention here.
Detailed Review:
Last Modified Date & Purpose - May 1, 2018 - Added an Useful Link
History:
April 16, 2018 - Road Test Review Creation
Introduction
Digilent Arty S7 is a white elegant FPGA board featuring the new Xilinx Spartan 7 technology for makers and hobbyists. The Arty S7 comes in two variants the S7-25 and S7-50. The road test board is an S7-50 variant with Xilinx XC7S50-CSGA324 FPGA Rev B. This board costs around $119 without the micro-USB cable which will cost you an additional $4. The board is bigger than the Arduino Uno and Raspberry Pi. But fits nicely in your hands making it easy to handle. The components in the board are of premium quality, giving you a nice feel while working with it. It also has a small rubber stand at the bottom to keep it separated from your workbench or desk and providing grip so that the board would not fall right away.
To grab some basic knowledge about FPGA check out this Element14 essential - Getting Started with FPGAs and to get started with Arty S7 board check out this documentation from Digilent. This will be my road test review of the Digilent Arty S7 board. Click here if would like to know About me.
Table of Contents
The below is the plan I had proposed in my road test application. This has been completed way ahead of the schedule with the help of to getting started document by Digilent.
1. Get familiarized with the coding part - 3 weeks - This is to download and install Vivado. Then to get started with the programming part.
2. Build a Home automation application - 5 weeks - This is a project to be made with the Arty S7 board.
Arty S7 is packed nicely in a paper box and kept inside pink foams which looks like a 3D-printed enclosure. This gives you a secured feel instead of just having the outer paper box alone. You have only the board in the package. The board has been received undamaged thanks to the cardboard box from Element14 and UPS delivery service.
Below is the unboxing video of Digilent Arty S7.
You are given the privilege to test all the LEDs, RGB LEDs, Slide switches and Push buttons of Arty S7 right out of the box with almost no effort other than plugging it into a power source. This makes the life of the developer easy. The code for the out of the box demo program is also available here.
I am a big fan of LEDs and the joy that comes with all LEDs sparkling is immense. Have a look for yourself in the video below.
I have tried to consolidate all the specification of the Arty S7 board in the table below.
Description | Value |
---|---|
Product Name & Variant | Arty Spartan-7 50 |
Part Number | XC7S50-CSGA324 |
Logic Slices | 8150 (6-Input LUTs : 32,600 & Filp-Flops : 65,200) |
Block RAM | 337.5KB |
Memory | 256 MB DDR3L |
Quad-SPI Flash | 16MB |
DSP Slices | 120 |
Clock | 100 MHZ & 12 MHZ external clocks 5 PLL |
USB | USB-UART & USB-JTAG Programmer |
Analog-to-Digital Converter (XADC) | Yes, On-Chip |
Pmod Connectors | 4 |
FPGA I/O | 32 (16 shared with shield connector) |
Arduino/ ChipKIT Shield connector | 1 each |
FPGA I/O | 45 (16 shared with Pmod connectors) |
Slide Switches | 4 |
Push Buttons | 4 |
LEDs | 4 LEDs, 2 RGB LEDs, 2 Power LEDs, 2 TX & RX LEDs |
Power | USB / 7-15v |
Logic Level | 3.3v |
Dimensions | 3.46 x 4.3 in ( 88 x 109.2 mm) |
Vivado Design Suite is a bulky but powerful package that allows you to play with the Arty S7 board. It looks complex to program in there but once you get started it is really simple. To help you also get started, I have documented the steps in a tab format below. The first tab provides you some useful links, the next three tabs gives steps for downloading, installing and licensing Vivado Design Suite 2017.4 and the last tab explains the errors I faced and proposed resolutions for the same.
{tabbedtable} Tab Label | Tab Content | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Useful Links | The below links have instructions for Vivado version 2017.4.
| ||||||||||
Download | Vivado Design Suite Download Instructions:
1. Go to Vivado Design Suite download page - Click here.
2. Scroll down the page to Full Product Installation (or) Click here for Windows or here for Linux. For a lighter version which is called "Lab Edition" download from here for Windows or here for Linux. Note: Links provided are for Vivado version "2017.4" for other versions please visit the downloads page - Click here. 3. On Clicking the download URL, you will be redirected to Xilinx Sign In page. Log in with your credentials, else Create an account if you don't have an account to continue.
4. After login, you will be requested for details such as first name, last name, company name, and shipping address in order to comply with US Export regulations and also additional details like job function and primary market.
5. Click Next and the download will begin (~51 MB for Windows and ~100 MB for Linux).
6. Go to the download path and double-click the file "Xilinx_Vivado_SDK_Web_2017.4_1216_1_Win64.exe". This part of the file name is the version 2017.4_1216_1 and this will vary based on the version you have downloaded.
7. If prompted with confirmation to install, Click "Yes". Also if your firewall blocks any Java component while installation, click "Allow access" button.
8. The below window will appear. Click "Next" to continue.
9. Enter your User ID and Password and click "Next". You can select either "Download and Install Now" or "Download Full Image". Note: Both will download the installation files and save it to your local directory. But the later is free of any selections you have made while downloading.
10. On Selection of the second option "Download Full Image" and clicking "Next" the below appears. Click "Download" to start the download of the installation file with Size ~16 GB. Note: There is no option to directly pause and resume the download progress. You can click "Cancel" and then select "No" in the below screen to save the progress.
The next time when you launch the installer, select the same path selected in step number 9 [Screenshot #2] to resume the download from the last saved point. 11. After the full download, a complete dialog box will appear saying the image has been saved to the path we had selected.
Size of the downloaded image file (installation file) will be ~16 GB and you can find it in the path selected in step number 9 [Screenshot #2]. | ||||||||||
Installation | Vivado Design Suite Installation Instructions:
1. Double click "xsetup.exe" or "xsetup" in the path where you have downloaded the Xilinx installation image file.
3.The below welcome screen appears, Click Next to continue.
4. Read the terms of the license agreements and check "I Agree" checkboxes and click "Next".
5. Select the Edition of your choice from the listed options and click "Next". I will proceed to install the Vivado HL Design Edition.
For Vivado HL WebPACK installation process, find instructions here.
6. The below screen will appear. You can modify the pre-selected options (not recommended though) and click "Next".
7. In the next page, Select the installation directory and Click "Next". You can also enable/ disable shortcut file creation and select for which user(s) the installation should be.
#1 - Not enough disk space: Select another directory with free space greater than 33 GB.
#2 - Invalid Character: Select a directory without empty space(blank).
Although I had more than the required space in the Directory Install Extended, I was not able to perform installation because of the rule that there should be no space between words in the path.
8. Click "Install" for the installation to begin. Below is the installation summary window.
9. Click "Install" again in the windows security dialog box to continue installation if prompted. Also "Allow access" for any Java component firewall blocks.
10. Click OK in the Installation Complete dialog box. It has taken 49 minutes in my computer to install files. | ||||||||||
Licensing | Vivado Design Suite Licensing Instructions:
1. After the installation process is complete, you may be prompted to complete the licensing process in the Vivado License Manager (or) you can open the license manager using the below icon in the start menu. 2. Allow access to any firewall block like shown below. 3. Choose your License from the listed options. When you select an option you get a description of the option as shown below. 4. I have selected the free ISE WebPACK license. Click Connect Now after selecting the desired option. 5. You will be directed to the below page. Fill in the request details and click Next. 6. You will now be directed to a page as shown below. 7. Again make a selection of the license you wish to obtain. I have selected the free ISE WebPACK license 8. Click Next unless you have any mandatory field to be filled. If you have any, please fill and click Next. 9. Review your license request and click Next . 10. Under Manage Licenses tab you will have your selected license displayed and also you will receive a mail to the mail ID which you have provided in Step number 5. 11. Click the Download button [circled in red] to download this license to your local. Please remember this path as we have to provide this later. 12. Return to the Vivado License Manager. Select Load License and then click Copy License. 12. A dialog box will appear prompting you to select the license file. Navigate to the path you have saved the license file in step number 11. Select the Xilinx.lic file and click Open. 13. You will receive the below License installation successful message. Click OK to exit the message. 14. Select View License Status to view the status of the license you have installed. | ||||||||||
Errors and resolutions | Issue #1: Could Not locate xic.bat file Resolution: I navigated to the below path and could not find the xic.bat file which is also the below dialog box says. Hence as a workaround to prevent this from popping up each time I start my computer, I disabled it in the startup.
Steps: Go to Task Manager and navigate to Startup tab, locate xic and click Disable.
Informative Links: 1. https://www.xilinx.com/support/answers/59508.html
Issue #2: Error while generating bitstream for my first blinky program. Resolution: The below error recommends to set a default value for the variables declared in the program 'clk' and 'led' Actually, it was because I did not properly follow step number 6.5 in this link - Vivado Getting Started. Where it had said to uncomment the lines where 'clk' and 'led' are declared in the Digilent's XDC constraints file. This actually sets the default value for the variables.
A lesson learned after few hours of head hitting, thinking which could have gone wrong!
Issue #3: Error When launching Vivado 2017.4. Resolution: Click OK or wait for some time, Vivado opens normally! Not really sure what is causing this issue. Once I find out will update it here. |
A good demo program is the best starter and motivator to get you started with development boards. As this gives you the confidence to move on! Digilent has did a wonderful task in documenting the getting started with Vivado via Blinky LED Demo. Though there were few ups and downs before I could get my Arty S7 up and running with this example program, once completed it felt great!
{tabbedtable} Tab Label | Tab Content |
---|---|
Blinky LED | The Hello world program of Embedded is Blinky LED. The below video is a tutorial or walk through in getting started with Vivado Design Suite to program the blinky LED program into Arty S7. For verilog source code of the blinky LED project in GitHub - Click here and for constraints file - Click here
|
Please do not attempt this project without proper electrical knowledge or guidance
At the first sight of the switches in Arty S7, I had the thought of creating a handy control to turn ON and OFF power of AC appliances. This actually made me apply for this road test. Once I received the board when I moved the slide switches they flowed like butter! Then I bought a 4 relay board to hack a junction/ extension box at my home. After this I bought two Bluetooth transceivers to make a wireless connection between Arty S7 and the relay. At later point of time did I came to know that, the serial TX and RX is only available via USB-UART and not accessible otherwise. So I had to add another Arduino UNO to transfer the state of the switches via Bluetooth to the Relay board which in turn connected to another Arduino UNO.
Chekout this home automation project in the video below.
I started with a little theoretical and practical knowledge of FPGAs. Arty S7 gave the platform to explore deeper into FPGAs. Below are some of the pros and cons from my perspective and experience I had with Arty S7 for almost one and a half month.
Pros
1. Flexible and easy I/O configuration of FPGA.
2. Has Arduino/ChipKIT compatibility plus Pmod connectors which opens the gateway for multiple different shields and sensors.
3. Out of the Box Demo allows quicker verification of the board.
4. Getting started documentation helps you to get started really quickly.
5. MicroBlaze opens creativity to the next level by allowing you to customize everything on the board.
Cons
1. Without Serial communication, as it would be in Arduino and with the restriction of 3.3VDC input logic level, the usage of many Arduino Shields becomes impossible.
2. The process of compiling and programming the board in Vivado takes more time.
3. Cost is quite high comparatively of the features offered.
4. FPGA heats up quickly.
With this ends my very first road test review in Element14!
I have tried to summon some useful quick reference links in the table below.
Top Comments
Good explanation, Dixon.
I like both sides of this road test, the evaluation, and the real world project application. Great1
Enrico
Thanks Mark (mcb1 )
The software part consumed most of my time. I included it so that others' could be saved.
dixonselvan excellent road test review of the board. Appreciate the time you have spent on it.
I have seen the tabbed approach now a few times and it looks to be a useful feature and does give more structure…