UPGRADE YOUR BROWSER

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!

C-based HLS Coding for Software Designers

Release Date:
October 2012
Level:
DSP 3
Duration:
1 Day

Quick Links

Key Documentation

Audience

Software engineers looking to utilize high-level synthesis.

Prerequisites

  • C, C++, or SystemC knowledge
  • Software design experience

Register

For class schedules as well as tuition and registration information, please contact one of our Authorized Training Providers.

Course Description

C-based coding is increasingly used for the modeling and high-level synthesis of hardware components. This course provides software engineers with sufficient knowledge of FPGA hardware to efficiently code for high-level synthesis. Learn the high-level synthesis best practices, methodology, and subtleties of C-based coding for hardware modeling, synthesis, and verification.

Software Tools

Vivado® System Edition 2012.2

Hardware

  • Architecture: Zynq®-7000 All Programmable SoC and 7 series FPGAs*
  • Demo board: None

* This course focuses on the Zynq-7000 All Programmable SoC and 7 series FPGA architectures. Check with your local Authorized Training Provider for the specifics of the in-class lab board or other customizations.

Skills Gained

After completing this comprehensive training, you will know how to:

  • Describe the difference between software programming and hardware design
  • Identify the fundamental principles of hardware design
  • Model and simulate hardware components using C
  • Code hardware components in C for high-level synthesis

Course Outline

Lab Lecture Demo

Day 1

  1. 1.1
    Introduction to Hardware Design for Software Designers
  2. 1.2
    Lab 1: Analyze a Simple Top-Level Hardware Design Analyze a top-level, two-frequency pulse width modulator (PWM) hardware system. Identify and analyze hardware design components, parallel flow, and control.
  3. 1.3
    C-based Algorithmic Coding for Hardware
  4. 1.4
    Lab 2: High-Level Synthesis of a C Model Use various techniques and directives in Vivado HLS to improve design performance. The design under consideration accepts an image in a (custom) RGB format, converts it to the Y’UV color space, and applies a filter to the Y’UV image and converts it back to RGB.
  5. 1.5
    C-based Test Bench Coding
  6. 1.6
    Lab 3: Creating a C-based Test Bench Develop a verification environment used for testing a C-based design and verification in Vivado HLS. The design under consideration is the same design used in the previous lab, a Y’UV filter.
Page Bookmarked