[tools]

Vitis HLS ERROR: [IMPL 213-28] 해결법

Vitis HLS Window Version의 경우 ERROR: [IMPL 213-28]를 Tool 공부를 시작하자마자 보게 될 것이다.

[tools]

Window 에서 사용 가능한 System Verilog 컴파일러와 시뮬레이터2

일전에 Window에서 사용 가능한 System Verilog Compiler로 Vivado를 사용하는 방법을 소개하였다. 그러나, 계속 사용을 하다보니 Vivado는 새로운 버젼이 나올 때마다 버그가 계속 존재하고 있는 것이 확인되었다. 그래서, modelsim/questasim으로 갈아타게 되었다. 이번 포스트에서는 modelsim에서 CLI를 사용하는 방법을 소개하고자 한다.

[ISP]

Canny edge detection을 Python으로 구현해보자

학교 영상신호처리 과목에서 canny edge detection을 배웠다. non-maximum suppresion이라고 해서 직역하면 극대가 아닌 점을 죽이는 방법이다. 즉, 전처리 과정을 통해서 edge를 극댓값으로 만드는 방법이다. 구글링을 통해 쉽게 참조할만한 게시글을 찾았는데 코드가 안 돌아간다. 에러를 찾아서 수정한 코드를 다음 링크에 첨부한다.

[tools]

Synthesizable SystemVerilog Design 을 위한 이야기

SystemVerilog 는 흔히 Verification 을 위한 언어로 취급되어 오고 있지만, 링크 에 따르면 합성에서도 여러가지 이점을 가지고 있다. Verilog 는 2005 년을 기점으로 새로운 IEEE 규약이 갱신되고 있지 않다. 즉, 2005 년부터 Verilog 는 SystemVerilog 에 통합되었다고 이해하는 것이 좋다. SystemVerilog 는 Verilog 에 비해 Functional Coding 에 있어 코드의 길이를 크게 줄일 수 있다. 또한, Package 와 Interface 등을 Generate 과 함께 사용하여 설계의 자동화에 큰 기여를 할 수 있다. Verilog 에서는 버그로 판별하던 것들을 에러로 인식하게 함으로써 Synthesis/Simulation 의 차이를 줄이는 것에도 큰 기여를 할 수 있다. 이 포스트에서는 설계시 Verilog 에 비해 유리하게 사용될 수 있는 SystemVerilog 의 특징들을 공부해 보도록 할 것이다.

[tools]

Window 에서 사용 가능한 System Verilog 컴파일러와 시뮬레이터

이제껏 HDL 로는 verilog 만을 사용해 오다가 HDL 과 HVL 기능을 모두 가지고 있는 sytem verilog 로 넘어 오게 되었다. 그런데, system verilog 의 경우 compile 과 simulation 을 진행할 수 있는 tool 에 대한 소개가 별로 없는 것 같아 포스팅을 작성한다.

[Review]

A Pipelined FFT Architecture for Real-Valed Signals

기존의 FFT Architecture 에 대한 연구는 complex fourier fast transform (CFFT) 에 대하여 주로 이루어 졌다. Phari 교수의 연구진은 실제로 FFT 에 사용되는 입력이 대부분 Real Value 라는데 주목하여 RFFT 의 flow chart 를 제안하였으며, Pipelined RFFT Architecture 와 In-place RFFT Architecture 를 모두 제안하였다. 이번 논문은 Pipelined RFFT Architecture 를 다루고 있으며, 논문의 핵심 쟁점인 Conjugate symmetry, RFFT flow chart, Pipelined RFFT Architecture 에 대하여 정리하고자 한다.

[CNN]

CNN Backpropagation

CNN은 일반적으로 Convolution Layer와 Fully-Connected Layer로 이루어진 형태를 기본 구조로 하고 있다. FC Layer의 경우 여러 매체에서 Back-Propagation을 자세히 설명하고 있다. 이번 포스팅에서는 Convolution Layer의 Back-Propagation을 FC Layer와 동일한 방식으로 설명하고자 한다.

[CNN]

Convolution layer의 kernel 개수

CNN 구조에서 사용되는 Convolution layer의 filter 개수에 대해서 알아보고자 한다. 구글링을 하다 보면 잘못된 정보로 전달되고 있는 경우가 많다. 요점부터 말하면 # kernel = # feature map 이라고 하는 글들이 꽤나 많이 보이는데 잘못된 내용이므로 이를 인지하도록 하자.

[Project]

Implementation In-Place FFT Architecture

이번 프로젝트에서는 In-Place FFT Architecture를 Verilog HDL을 이용해 FPGA에 포팅하고, GUI프로그램을 만들어 FPGA와 PC간 UART 통신을 이용해 FPGA에서 FFT를 수행하고, PC는 FPGA에서 데이터를 받아 Spectrogram으로 출력하였다.