We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 

Adam Taylor’s MicroZed Chronicles, Part 131: Introduction NI’s Zynq-based RIO Evaluation Kit, Part 2

Xilinx Employee
Xilinx Employee
0 0 42.3K


By Adam Taylor



Once we have installed the software for NI’s LabVIEW RIO Evaluation Kit, the next step is to turn on and configure the board for first use. We also need to set up the software environment so that we can play with the hardware and run the first example.


The first thing we have to do is connect the RIO hardware to our PC. Then the software can detect the RIO board and configure it correctly so that we can communicate with it. We have two options: we can either use an Ethernet or USB connection. To make is nice and simple, I decided to use the USB point-to-point connection cable supplied. The only real difference to using this is the static IP address of (see below).


With the USB cable connected and power applied, we can complete the RIO Evaluation Kit setup and simply step through the stages to detection. Configure the IP settings and then transfer the software files required. Once this is completed, you should see the LCD screen on top of the RIO Eval board display the classical hello world message.





RIO board has been found







Configuring the setup - Click Apply Static IP







Final Configuration Step – Check the LCD




With the board detected, the next things we need to do are:


  • Use NI Max to connect to and update the software on the RIO board. We want to update the following:
    1. NI System Configuration
    2. Network Streaming
    3. Network Variable Engine
    4. Variable Client Support for LabVIEW RT
  • Use NI Max to configure the SSH
  • Open and configure the Eclipse environment






Configuring the RIO using NI Max




Full and detailed instructions of how to achieve this are contained within the NI Build Your Own Embedded System.


Once we have done all of this, we are ready to download the first example, which uses a pre-generated FPGA bit file for the PL (programmable logic) side of the on-board Zynq-7000 SoC. Once we have understood the example design’s basic framework, we can customize the PL configuration.


For those unfamiliar with LabVIEW, each design element consists of User Interface and a block diagram below it where the design is actually implemented. These design elements can be used hierarchically within a LabVIEW project.


Opening LabVIEW example 1, we will see the LED Intensity Picker user interface design. We open this example and click on the run arrow. The application will be downloaded to the RIO board and we can then control the LEDs. 






User Interface for the LED control application



Being able to run the application is one thing. However, we want to understand how the different elements of the design come together so that we can create our own designs.


From within the LED Picker example, we can open the block diagram below it by using the window -> show block diagram option:







Block Diagram of the top level design for the first example



The design above uses a pre-compiled FPGA bit file for the PWM control, which is contained within the read/write control and comes with its own VI (LabVIEW Virtual Instrument) design.


Opening this up will show you a simple UI that contains two registers. These registers are the interfaces to the Zynq SoC’s PL for this design. These are the actual register interfaces used in the FPGA configuration. In other words, they’re real hardware registers, not virtual ones. (They are not values held in RAM somewhere.)






Zynq SoC’s PL register definition for the LED Picker Example



We can then open the FPGA design which also contains a further design for the PWM light-intensity modulator. Again, this comes with a UI that defines the interfaces to control the PWM in the block diagram.






FPGA design of the PWM Light-intensity modulator for the LED Picker example






Center-Aligned PWM



We’ve simply explored the organization and use of this example by downloading it to the RIO board within the LabVIEW framework. However, there is another way we can do this, which we will look at next time.



The code is available on Github as always.


If you want E book or hardback versions of previous MicroZed chronicle blogs, you can get them below.




  • First Year E Book here
  • First Year Hardback here.



 MicroZed Chronicles hardcopy.jpg




  • Second Year E Book here
  • Second Year Hardback here



 MicroZed Chronicles Second Year.jpg




You also can find links to all the previous MicroZed Chronicles blogs on my own Web site, here.




Tags (2)