AVNET MiniZed Dev Board - Review

Table of contents

RoadTest: AVNET MiniZed

Author: weiwei2

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?: Arrow SoCKit

What were the biggest problems encountered?: installation of necessary Vivado tool that is version specific (2017.1 and 2017.2) for use with MATLAB on windows 10. both the Vivado version has known bugs that it will not run with windows 10. Eventually i revert to using it with Windows 7

Detailed Review:

General Overview

comparing to most other available Xilinx or Intel (acquired Altera), this one of the cheapest eval board and it comes with Arduino connector. This makes the board easier to be used compared to many of its siblings and cousins as we can connect many Arduino shields to it. It is also the first zynq board below $100 price tag and comes with a useful arduino compatible connector. All of these I/O are 3.3V

 

The board also comes with SDSOC voucher

 

Software

 

The conventional way is to use Vivado with the development. I have chosen to use MATLAB along with Vivado for this roadtest. I have only tested it on windows os.

 

Required

Vivado 2017.1* or 2017.2*

MATLAB R2017a or R2017b

Simulink

HDL coder and its prerequisite

 

*There is known bugs that these 2 versions of Vivado cannot run on Windows 10. To resolve it, do this

The work-around is to directly modify the Vivado 2017.2 installation folder using the vivado-vg.exe from the same installation folder:

  1. Navigate to (Vivado Installed Directory)\2017.2\bin\unwrapped\win64.o
  2. Backup 'vivado.exe' by renaming it to 'vivado.exe.backup'
  3. Copy 'vivado-vg.exe' and paste it into the same folder.
  4. Rename 'vivado-vg - Copy.exe' to 'vivado.exe'

 

Installation

Avnet provides a support package to enable using MiniZed as target in Simulink.

 

steps are documented clearly in the getting started guide that comes along with the support package, but i stress on 2 of the steps which are important.

1) run setup_minized after installation of the support package (step #3 under "Set Up MATLAB"), as this removes the version limit of 2016.4 for SDK requirement

2) h=zynq('linux', '192.168.0.15', 'root', 'root', '/tmp')  which is step #11 under "Set Up MATLAB". user may need to rerun this step after a few times and encountered errors connecting the board to MATLAB. take note 192.168.0.15 is just for illustration and needs to be replaced by user's actual IP address

 

General Usage Notes with HDL Workflow in MATLAB

User should follow the getting started guide that comes with the Avnet MiniZed support package to familiarize with the HDL workflow with Simulink.

Not all I/O are populated for usage via the HDL Workflow Advisor in Simulink, however, user can modify the support package to provide extra I/O.

 

To do that user can refer to guide from Mathworks. For example, to add this digital input PIN as a named interface in HDL Workflow Advisor, you can modify the shipping ZC702 board definition file, or create a new one.

Here is an example which shows how to create a custom board and reference design definition:

url

Also the documentation:

https://www.mathworks.com/help/hdlcoder/ug/register-a-custom-board.html

 

for the MiniZed support package, we need to modify the file plugin_board.m in C:\Users\xxx\Documents\MATLAB\Add-Ons\Toolboxes\Avnet MiniZed Support Package for Simulink\code\hdlcoder\MiniZed\+MiniZedRegistration, where xxx is your user name on Windows. We add a supported I/O using the code below

hB.addExternalIOInterface( ...

   'InterfaceID',    'PMOD Input', ...

   'InterfaceType''IN', ...

   'PortName',       'PMODIN', ...

   'PortWidth',      1, ...

   'FPGAPin',        {'E15'}, ...

   'IOPadConstraint', {'IOSTANDARD = LVCMOS33'});

 

Test Drive

 

The 'hello world' of hardware seems to be always LED blinking, hence the first thing to do is to follow the getting started guide of the Avnet MiniZed support package to do LED blinking.

the important step here is to find out the wlan0 ip address of the MiniZed. For my setup, i have connected my board and development laptop to the same WiFi. to find out the ip address of the MiniZed, we can SSH into the board using Putty, and execute the ifconfig command.

In MATLAB, we can then try to ping the board to make sure that they are connected

In MATLAB command prompt, run the command h=zynq('linux', '172.20.10.4', 'root', 'root', '/tmp'), where it is the ip address of the wlan0

if successful you will see the screenshot below

 

in the screenshots above, i am following the getting started guide of the Avnet support package to open the built in example hdlcoder_led_blinking_4bit

and make the necessary changes, save it with a new file name.

i then use the HDL workflow advisor and set it to MiniZed as below. It provides a guided interface to deploy the

LED blinking example to the board. It is easy to map the I/O in workflow advisor.

as i progress through the workflow advisor, a file with prefix gm as below is created. this is the file that let me able to connect my simulation model

to MiniZed as i run it. In this case we can change the blinking frequency.

under the mask of the led_counter subsystem, signal is driven to the board and read back through the AXI4Lite which we have mapped

earlier in worflow advisor. To run this model, set the run time to 'inf', set to external mode, click the play button

MATLAB will then generate c code and target the P/S with embedded coder. Once the board runs, we can control the blinking frequency

but using the slider in Simulink as shown in the video below

 

 

 

By I/O connectivity

The picture below shows the major components and all the I/O for DIYer to connect to

The zync is 1.8V, but level translators have been utilized to bring all 54 of the PL I/O interfaces to 3.3V level. Note: 5V is not supported

I am tempted to try out most if not all of the IO connectivity provided but i do face time limitation. Listed below are those that i have really tested

 

Pmod

MiniZed provides 2 Pmod and the I/Os are 3.3V

I have planned to test this with Avnet TDNext 1.26Mpixel Pmod Camera Kit, with a Rev 1-01-00 module.

 

 

Arduino

MiniZed has the arduino compatible connector making it easy to interface with some arduino shields.

 

USB

 

 

 

Conclusion

the main purpose of MiniZed are stated as below and it has well served the purposes

  • Be a low-cost starter kit for Zynq SoC developers
  • Showcase the Zynq 7000S single-core family
  • Incorporate the Murata 1DX Bluetooth and Wireless solution
  • Demonstrate Bluetooth for peripherals or phone/tablet user interfaces
  • Use an on-board microphone as input for PL-PS signal processing reference designs
  • Allow for the use of Arduino-compatible, PmodTM-compatible and USB peripherals
  • Showcase hardware acceleration for software bottlenecks

 

Reference

[1] MiniZed hardware user guide

[2] TDNext 1.26Mpixel Pmod Camera Kit - a camera kit that can be used with MiniZed vi Pmod

Anonymous