Translate

Wednesday, 10 October 2018

Setup the design environnement



Hi !


Ok, now it's time to start this project.

In this post we will start by the begining and take a closer look to what we need !

As this a Xilinx FPGA development we will focus on the associated tools.


Here is the list :

Let's see in more details each point.


1 - The developement board : AVNET MiniZed


There are many development boards available and most of them cost a larg amount of money.

However, there are several low cost boards with limited functionnalities but enougth to get started !

One of the most interesting provider for low cost boards is AVNET, everybody in the FPGA industry knows their famous ZEDBOARD !!

You can have a look there :
http://zedboard.org/

I had the opportunity to buy a Minized board, so this is the one I will use:
http://zedboard.org/product/minized




This specific post will give a presentation of the MiniZed board:
TBD

For now the important point is that the FPGA device on that board has the following items:

- Xilinx Device
- Zynq SoC Family
- Device ref : XC7Z007S-1CLG225C version

This Zynq device provides us :

- For the CPU side (PL) : a full ARM Cortex A9 cores with the associated peripherals.
- For the FPGA side (PS) : a FPGA matrix based on Xilinx's Artix7 family

The S extension tells that the device embeds only one Cortex A9 APU (Application Processor Unit).

For a global overview of the caracteristics of this device, have a look at :
Zynq Data sheet Overview


2 - The Xilinx VIVADO FPGA design flow tool


VIVADO is the tool that will let us :

- Edit constraint files (IOs, Timings, ...),
- Create customs IPs,
- Edit Block Design for graphical design assembly with customisable IP blocks,
- Synthesis the design,
- Place and route the design,
- Generate the bitstream,
- Run Simulations using the integrated HDL Simulator XSIM,
- Configure, debug the FPGA design using integrated Hardware JTAG Debugger,
- Many others tasks.....

We will use the current version available which is the 2018.2 version.

A most important we will use the free Vivado WebPACK edition.

Have a look there:
VIVADO Design Suite Overview

Refer to this post for a VIVADO installation tutorial:
1.5 - How to install Xilinx Vivado and SDK


3 - The Xilinx SDK Software tool


SDK is the tool that will let us:

- Generate BSP,
- Generate FSBL,
- Generate Flash programming files,
- Generate Applications for Bare Metal and Linux,
- Debug executables using JTAG/Ethernet Debugger,
- Use integrated consoles,
- Many others tasks.....

We will use the SDK version provided with the VIVADO version used.

The SDK installation is part of the SDK installation process, so refer to the VIVADO's installation tutorial.

Refer to this post for a VIVADO installation tutorial:
1.5 - How to install Xilinx Vivado and SDK


4 - A text editor


The Xilinx Tools provide integrated text editors, still, I'm used to my NotePad++ editor !

Take a look over there:
https://notepad-plus-plus.org/

The column edition mode is very usefull for VHDL edition, as you can apply the same modifications simultaneously to several lines !!


5 - Tools for Linux development


The SDK tool provided by Xilinx will let you develop software for Linux platforms.

Just report to the SDK section of this post.

The PetaLinux tool provided by Xilinx will let you have a total control to handle a project for Linux application developpement.

Refer to these posts for a PetaLinux installation tutorial:
1.6 - How to install PetaLinux


6 - Secondary tools


One of my favorite tool is WINMERGE. It allows you to compare 2 files or repositories, to easily identify differences and to merge sections of files.

Have a look here:
http://winmerge.org


7 - A computer


Let see here what parameters can constraint the choice of the computer.
Each version of the VIVADO tools provides a Release Notes document UG973 (v2018.2) which provides important informations:

- Which Operating Systems are compatible with the version tool (Page 11)
- Which devices are available in which release (Page 12)
- Downloading and installation procedures
- Many other things....

Xilinx also provides Memory Usage with VIVADO for a target device:
Computer Memory Recommandations

And the final constraint is that we will develop for Linux platforms, so tools should be used under a Linux Operating system. Moreover, tools like PetaLinux or QEMU only run on Linux platforms !

BUT !

As I use my conputer for other task I have it running under Windows, so to have the Linux available I will use a virtual machine.





Post Conclusion

So as conclusion here is a summary of my development environment:

- Operating System : Ubuntu Linux 16.04.3 running on a virtual machine (Windows Host)
- Xilinx VIVADO tool chain is 2018.2 WebPACK edition
- Processor Intel Core i7-4790K at 4.00Ghz
- 8Go of RAM
- HDD 250GB, SATA, 5400 rpm
- Motherboard ASUS ZB7-A

I have a brand new HDD with two partitions:
- C: 100Go for Windows and programs installation, I called it PROG_W10.
- D: 150Go for all the Linux developement stuffs, I called it DEV_LINUX.

No comments:

Post a Comment