HLS Programming with FPGAs 인트로 강의 정리입니다.
Chapter 1. Introduction수업 목표입니다.FPGA의 architecture에 대한 설명HLS 디자인의 성능에 대한 특성화CPU와, FPGA가 하는 computation의 차이에 대한 설명HLS(High-level synthesis) tool?High L
※ 본 포스트는 인하대학교 지능형반도체 연구실의 최영규 교수님의 지원, 허가 하에 작성되었습니다. ※ 교수님의 설명에 해당하는 내용을 제외하고, 제 의견은 노란색 글씨로 작성 하겠습니다. > #### ※ solution에 대한 코드는 절대 제공되지 않으며, 수업진행
3장에 대한 강의영상 링크입니다.1\. host app과, xilinx fpga binary 빌드하기2\. FPGA를 구동시키는 AFI 생성해서 버킷에 담아보기3\. FPGA 가속 어플리케이션을 실행해서 fpga를 실행하기m5 인스턴스 생성하기 f1에서 실행할 afi를
4장에 대한 강의영상 링크입니다.FIR 필터라는 주제에 대한 이해를 바탕으로실제로 동작하는 hls코드를 작성해볼 것입니다.Vitis HLS GUI 툴을 이용하여 C/RTL 시뮬레이션을 합니다.해당 주제에 대한 자세한 내용은, 전자공학과 과목인 '신호 및 시스템'에서 배
5장에 대한 강의영상 링크입니다.이번주에는 코드 리팩터링을 해서, fir filter 코드를 최적화하고 가속화 해봅니다.위 자료는, 코드에 대한 실제 연산(CPU) 수행과정입니다. 반복 연산을 수행하는 과정에서 첫번째 반복이 종료될 때, 두번째 반복이 수행되고 있음을
6장에 대한 강의영상 링크입니다.Vitis와 Vitis HLS는 명확하게 다른 개발 도구입니다.가장 근본적인 차이점은 binary의 생성여부입니다.Vitis HLS에서는 Simulation 영역에서 코드를 다룹니다.그에 반해, Vitis는 simulation을 넘어 실
7장에 대한 강의영상 링크입니다.이번 시간에는 cordic 연산에 대해서 최적화를 진행할 것인데, 알고리즘 자체에 대한 내용에 대한 자세한 설명은 구글링을 통해 알아보시거나 교수님의 강의영상을 참고하시길 바랍니다.보편적으로 고등학교 수학시간이나, 대학 수학시간에 배운
8장에 대한 강의영상 링크입니다.지난 주에 연산가속을 끝내지 못했습니다.이유는 크게 3가지 : 곱셈, 타입, 문법입니다. 타입을 바꾼 경우에서의 연산입니다. 오른쪽의 DSP(Dedicated multiply-and-accoumulate unit, 아래에서 설명) FF
9장에 대한 강의영상 링크입니다.드디어 cordic의 마지막입니다. 가봅시다.앞선 강의들에서 시행착오가 발생하였는데, 이를 해결하고 최적화 목표를 이루어봅시다.1\. 오차 없애기2\. 가장 적은 자원 소비를 기준으로 하겠습니다.동적범위 측정법인데사실 보편적으로 알고 있
10장에 대한 강의영상 링크입니다.오늘은 DRAM 최적화입니다.이전 강의에서 했던 hello, world 프로젝트입니다.이전에 aws F1의 구조를 설명할 때, 인스턴스에 FPGA가 PCIe슬롯을 통해 꽂혀있고, FPGA에는 외부 메모리가 장착이 가능하다 배웠습니다.해
11장에 대한 강의영상 링크입니다.해당 챕터는 저의 이해도가 강의 내용을 제대로 전달할만할 수준이 아니어서, 제가한 결과물만 간단하게 명시한 후 글을 마무리하겠습니다. 이론적인 설명은 반드시 강의를 참고하시길 바랍니다. 이에 대해 공부하신 분은 결과물의 비교만을 참고