일단 Zynq라는 것은 한줄로 설명하면 xilinx에서 만든 MCU+FPGA 이다. 간단히 개념적인 설명을 하자면 MCU는 절차적인 프로그램으로 특정한 동작을 프로그램하여 진행하는 프로세서고 FPGA는 내부 Gate들을 프로그램하여 어떤 특정한 목적의 소자를 만드는 것으로 왠만한 디지털 IC를 FPGA로 만들어 회로를 함축 시킬 수 있는 기능을 한다.
MCU+기타 디지털 회로 여러개 = MCU+FPGA = Zynq
물론 FPGA에 MCU를 만들어서 구동하는 경우도 있지만 이 경우는 소프트웨어적으로 만들어진 MCU이기 때문에 속도가 느리고 효율적이지 못하게 구성되므로 발열 및 에너지 소비도 심하게 된다. 그래서 간단한 제어용도의 MCU 같은 경우는 FPGA 하나만 사용해서 MCU와 디지털 회로를 만들지만 MCU의 기능이나 속도가 필요한 경우는 사용이 불가하기 때문에 MCU+FPGA를 사용했었고 연산 및 필터, 고속처리가 필요한 경우는 DSP+FPGA를 구성하여 사용했었다.
Zynq는 이런 MCU+FPGA와 DSP+FPGA의 중간쯤 되는 성능을 가진 원칩 솔루션이라고 보면 거의 맞을 것이다. MCU+FPGA, DSP+FPGA의 경우 둘다 프로세서와 FPGA의 PCB에서의 연결이 필요하기 때문에 이에 따른 설계의 난이도 상승과 연결 길이에 따른 속도 감소, 고속 데이터 라인으로 인한 노이즈 발생 등의 영향이 생기지만 Zynq 같은 경우는 이러한 연결이 Zynq 칩 내부에서 이루어지기 때문에 장점이 있다.
다만 Zynq에는 ARM Chip이 내장되어 있기 때문에 DSP만큼의 고속처리나 연산은 불가하다. 그래서 Zynq 같은 경우는 MCU+FPGA 구조를 대처하는 부분에 많이 사용되는데 사실 이 같은 구조에서의 MCU는 프로세서의 역할에서 간단한 컨트롤러의 역할 만을 하기 때문에 FPGA로 구성하여 사용하는 경우가 많고 DSP가 사용될 정도의 고속처리 및 연산이 필요하면 DSP를 무조건 써야하기 때문에 어차피 Zynq는 고려대상이 아니다.
그러다보니 Zynq는 설자리가 애매하다. 사실 MCU+FPGA 또는 FPGA 만으로 구성하는 경우에 Zynq를 사용하는게 기능적으로 효과적인 것은 당연하다. 그런데도 많이 사용하지 않는 이유는 가격에 있다. 가격이 비싼 편인지라 대처가 힘들다. 그래서 특수한 경우인 영상처리가 필요한 카메라 모듈 같은 데이터 량과 속도가 빨라야 하는 곳 이외에는 사용하기 힘들다.
실제 사용을 해 보니 또 다른 아쉬움이 있는데 Zynq는 아직 완성형이라기 보다는 개발 단계로 보이고 꽤 많이 개선되었기는 하지만 사용이 불편한 점도 있다. Vitis라는 체제로 조금 더 편리성과 효율성을 보이게 되었지만 아직 ARM 프로세서의 코딩은 뭔가 힘들고 복잡하다. 실제 ARM 프로세서를 사용하는 것과 거의 같긴 하지만 그래도 ARM을 사용하는 것에는 한참을 못 미친다고 생각한다.
예전에 STM ARM 을 사용할 때 CubeMX와 IDE를 따로 사용했었는데 딱 그 때의 수준이라고 보면 된다. 현재 STM은 STMCubeIDE로 통합되어 편리성이 많이 올라갔는데 조만간 Zynq도 그렇게 되지 않을까 싶다.
또한 Zynq의 불편한 점은 자료 및 교육, 책, 온오프라인 강좌 등이 현격히 부족하다. 해외 자료 조차도 부족한 편인듯하다. 이유인 즉슨 역시 사용처가 한정적이라 사용량이 적어서일 것 같다. 가격도 한몫을 하고 있고....
어째되었든 이번에 Zynq를 사용해야 할 일이 생겼기 때문에 삽질을 엄청나게 해야할 것 같다. 하면서 기록삼아서 포스팅을 할 것이다. 현재 확인 결과 아직은 시장이 좁고 사용량 그리고 사용자가 적지만 앞으로 많이 사용될 가능성이 많은 만큼 투자할 가치가 있다고 본다.
'전자 이야기 > Zynq' 카테고리의 다른 글
[Vitis] Vitis 한글 주석 사용하기 (0) | 2022.09.17 |
---|---|
[Zynq] ZyboZ7-20 Uart Interrupt (0) | 2022.09.15 |
[Zynq] Zybo 보드 플래쉬 프로그램 (0) | 2022.09.08 |
[Zynq] Vivado에 Digilent(디질런트) EV보드 보드파일 등록하기 (0) | 2022.09.05 |
[Vitis] Editor 글자 크기 확대 축소 (0) | 2022.09.05 |