본문 바로가기
Digital Logic/FPGA

FPGA 설계에 있어 중요한 점은? 큰 줄기를 잡고 가자

by 고뭉나무 2021. 5. 5.

글에 앞서

현재 이 블로그에서 다루고 있는 실습 보드 Zybo z7-20는 Xilinx사의 ZNYQ-7000으로 FPGA 뿐만 아니라 ARM 프로세서도 같이 있는 모델이다. 따라서 위의 실습 내용을 Zybo 보드 하나로 해결할 수 있지만 만약 다른 ARM 프로세서가 없는 FPGA 보드를 구매했다면 별도의 ARM 프로세서 장치가 필요하니 이 점을 유의하면 좋을 것 같다 :)

 

FPGA Design Flows

여기서 중요한 개념은 아래와 같이 정리할 수 있다.

 

FPGA 칩은 Core를 연산하고

CPU 칩은 Core를 사용하여 원하는 App을 실행한다.

 

FPGA 칩을 설계하기 위해서는 IP (@Verilog/VHDL)와 Constraints (@.xdc)를 만들어 Synthesis, Implementation를 거쳐 Bitstream을 생성한다. (@Vivado 툴)

여기서 IP는 FPGA 설계 로직이고 Constraints는 해당 FPGA칩 별로 가지는 HW 핀 정보이다.

그리고 이 FPGA 칩을 이용하여 CPU를 동작시키 위해서는 App Source file (@C/C++)를 만들어 FPGA 보드에 올린다. (@Vitis 툴)

 

위 과정을 거치면 내가 원하는 FPGA 설계 방식에 따라 원하는 Application 동작을 확인할 수 있다.

 

결과에서 만약 구동 소요 시간이나 소모 전력에 이슈가 있다면 FPGA 설계 부분을 디버깅해야 하며,

구동 Sequence에 이슈가 있다면 App source file을 디버깅 하면 된다.

 

 

 

반응형

댓글