Vivado HLS를 이용하여 Zynq-7000 All Programmable SoC 상에서 OpenCV application을 HW acceleration 을 이용하여 구현하는 방법

2013-12-19 10:30~13:00

XILINX / 정 웅 부장

  • 무명2013-12-19 오전 11:14:20

    지금 설명데로라면, opencv의 라이브러리 내부를 수정한 후 동작되는 코드는 hls에서의 변환이 어려울수도 있다는 말씀인가요?
  • xilinx12013.12.19

    아닙니다. syntesizable한 c-code라면 hls로 모두 변환이 가능합니다.
  • 임*준2013-12-19 오전 11:14:11

    HLS를 사용 하려면 결국 VIVADO의 모든 기능을 다 사용할 줄 알아야 하는 거네요.
  • xilinx12013.12.19

    네, Vivado는 기존의 ISE를 대체하는 FPGA를 사용하려면 사용해야 하는 툴이기 때문입니다. 이렇게 이해하시면 좋겠습니다. 기존에 processor와 FPGA로 된 시스템을 원칩으로 구현하고 분리되어 있던 툴이 vivado design suite로 통합되었다고 생각하시면 됩니다.
  • sang***2013-12-19 오전 11:12:56

    데모키트 추천해 주세요 ?
  • xilinx22013.12.19

    Xilinx사의 ZC702 가 가장 보편적이며 Avnet사의 Zed 보드/Micro Zed 보드 등이 있습니다.
  • 계*형2013-12-19 오전 11:12:42

    어떤 코드가 PS에서 실행될지, 또는 PL에서 실행될지 일일이 다 지정해주는 건가요? 아님 HLS가 알아서 해주는 건가요?
  • xilinx12013.12.19

    사용자가 지정해 주셔야 합니다. HLS는 C를 RTL로 만들어 주는 기능을 담당합니다.
  • 장*상2013-12-19 오전 11:11:31

    license 비용은 얼마 인가요...Zynq-7000의 가격도
  • xilinx22013.12.19

    license는 sytem edition기준 5000$ 가량 되며 디바이스 가격은 Zynq chip 종류와 수량에 따라 달라지기 때문에 Avnet/Makus 대리점을 통해 확인하시는 것이 좋을 것 같습니다.
  • 이*우2013-12-19 오전 11:10:48

    혹시 MIPI 파이 적용한 칩이 있나요?
  • xilinx22013.12.19

    MIPI 파이를 Xilinx chip에서 직접 pin을 통해 directly 구현하실 수는 없습니다. 외부 파이 칩이나 FPGA를 포함한 작은 보드를 꾸미셔야 합니다.
  • 이*철2013-12-19 오전 11:06:50

    세미나 내용으로는 제공되는 library를 이용하면 RTL 코드가 나온다고 하셨는데 즉, 각 function에 대한 IP형태로 c 코드가 RTL로 매핑 된다고 생각하면 되는 것인가요?
  • xilinx12013.12.19

    네 맞습니다.
  • 무명2013-12-19 오전 11:06:42

    어쨌든, OpenCV 사용자를 끌어들일 수 있다면 마켓도 넓어지고, 영업적으로 좋은 시도인것 같습니다.
  • xilinx12013.12.19

    네... 감사합니다. 대부분의 툴의 개발 방향은 생산성 향상을 목표로 하고 있습니다.
  • 고*2013-12-19 오전 11:06:20

    OpenCV Function을 Zynq를 제외하고 Kintex나 Vertex 칩에서 적용가능한가요?
  • xilinx22013.12.19

    네 맞습니다.
  • 이*철2013-12-19 오전 11:05:47

    제 질문은 일반적인 C 코드에서는 하드웨어의 병렬성, 혹은 구현할 하드웨어의 파이프라인, 메모리 형태 등등.... 마이크로 아키텍쳐가 기술아 안됩니다. 이부분이 어떻게 자동화 되어 RTL로 변경이 되는지에 대한 질문입니다.
  • xilinx12013.12.19

    네 그 부분은 HLS tool 내의 directive로 설정하게 됩니다. 기본적으로 tool이 c코드에서 입출력,array, for loop틍 HW를 소모하는 구성요소를 파악하고 사용자는 GUI를 통해 이러한 구성 요소들에 옵션을 줄 수 있습니다.