High-Level Synthesis Flow on Zynq

2019. 8. 13. 13:51Xilinx/HLS

작년 Zynq2기 스터디 모임에 진행했던 High-Level Synthesis Flow on Zynq 워크샵을 다시 복습해보겠습니다.

 

Xilinx에서 제공하는 자료들은 Vivado 2017.4로 진행했으나, 이번에 저는 2018.3으로 진행해볼까 합니다.

 

코스 목표

  • Describe the high level synthesis flow
  • Understand the control and datapath extraction 
  • Describe scheduling and binding phases of the HLS flow
  • Identify steps involved in validation and verification flows
  • State various directives which can be helpful in improving performance and resource utilization
  • Describe how to use OpenCV functions in the Vivado HLS tool
  • Perform system-level integration of blocks generated by the Vivado HLS tool

코스 목표는 한글로 번역할 경우 정확한 의미 전달이 힘들어 영어로 표기했습니다.

 

선행 조건

  • Xilinx Vivado Design Suite tool에 익숙함
  • 기본 C 프로그래밍
  • 프로세서 기반 시스템에 대한 기본적인 이해

플랫폼 지원

  • Vivado Design Suite: System Edition HLS 2017.4
  • Xilinx University board(ZedBoard, Zybo)

※ 이번에는 Vivado 2018.3 플랫폼과 Ultra96 v2를 사용하여 진행할까합니다. 아무래도 새로 산 기자재를 활용해 줘야죠..

 

지원되는 운영 체제

  • Windows 7 SP1 Professional (64 Bit)
  • Windows 10 Professional (64 Bit)
  • Red Hat Enterprise Linux 6.6 – 6.9 (64 Bit)
  • Red Hat Enterprise Linux 7.2 and 7.3 (64 Bit)
  • SUSE Linux Enterprise 11.4 and 12.2 (64 Bit)
  • Cent OS 7.2 and 7.3 (64 Bit)
  • Cent OS 6.7, 6.8, and 6.9 (64 Bit)
  • Ubuntu Linux 16.04.2 LTS (64 Bit)

윈도우와 리눅스 여러 운영체제를 지원하네요. 저는 Ubuntu LInux 16.04를 설치했습니다.

 

Xilinx에서 제공하는 lab 뿐만 아니라 이론 자료들도 공부 후 정리해보겠습니다.

아래는 공부 순서입니다. 위에서부터 아래로 순차적으로 스터디 해보겠습니다.

 

순서
Introduction to High-Level Synthesis (HLS)
Using Vivado HLS
Lab 1: Creating Project and Understanding Reports
Improving Performance
Lab 2: Optimizing Performance through Pipelining
Data Types
Improving Area and Resources Utilization
Lab 3: Improving Area and Resources Utilization
Handling Block- and Ports- Level Protocols
Coding Considerations
Creating a Processor System
Lab 4: Creating a Processor System to filter Audio Signal