본문 바로가기

Digital Logic/FPGA7

FPGA Acceleration(가속화), 꼭 알아두어야 할 그것. FPGA의 특징 FPGA는 단가 측면에서 ASIC에 밀리고 그렇다고 CPU(SW)처럼 개발이 쉬운 것도 아니여서 이를 이용한 Computing power가 주목받지 못했다. 하지만 장점 또한 명확하다. ASIC이 갖지 못하는 'Re-Programmable' 특성과 CPU(SW)가 갖고 있지 못한 월등한 'Computing power'를 가지고 있다. 그리고 이 매력으로 FPGA는 여러 전자 제품(5G, 자율 주행, Cloud, 카메라, 항공 등) 안의 코어 역할로 사용되고 있다. 그래서 이번 포스팅에서는 두 가지 장점 중 Computing power에 대해 알아보겠습니다. FPGA가 갖고 있는 Computing Power를 구현할 수 있는 기술 HW 가속화 구동 방식은 다음과 같다. 1) CPU(SW)에.. 2021. 7. 12.
[FPGA/Digital 회로 설계] 'WaveDrom'으로 Timing diagram 쉽게 그리기 FPGA/Digital 회로 설계를 할 때, Timing diagram을 참 많이 그립니다. 모든 신호가 clk를 기반으로 이루어지죠. 그래서 이번 시간에는 Timing diagram을 쉽게 구현할 수 있는 프로그램 'WaveDrom'에 대해 소개하겠습니다. WaveDrom https://wavedrom.com/ 프로그램 결과 - Timing diagram 백문이 불여일견, 어떤 Timing diagram이 나오는 지 먼저 보겠습니다. 기본 clock은 물론 edge 표시도 되며, 0과 1의 표시, 색상 입히기, 중간생략, x 값 표시 등이 가능하다. 왠만한 timing 표시가 다 가능하여 아주 좋다 :) 프로그램 실행 방법 프로그램을 실행하는 방법은 2가지가 있다. 1) 웹사이트로 접속하여 사용 (위의.. 2021. 5. 31.
[IP 설계] AXI4-Lite Interface 란? 지난 포스팅에서 IP 설계의 중요성에 대해 언급했다. 우리가 FPGA 칩을 통해 원하는 어플리케이션을 구현하기 위해서는 해당 기능을 수행하는 IP를 설계해야 한다. 그리고 그 IP의 상태를 읽고 쓰는 방식이 바로 이번 시간에 다룰 'AXI4-Lite Interface'이다. 2021.05.05 - [Digital Logic/FPGA] - FPGA 설계에 있어 중요한 점은? 큰 줄기를 잡고 가자 FPGA 설계에 있어 중요한 점은? 큰 줄기를 잡고 가자 글에 앞서 현재 이 블로그에서 다루고 있는 실습 보드 Zybo z7-20는 Xilinx사의 ZNYQ-7000으로 FPGA 뿐만 아니라 ARM 프로세서도 같이 있는 모델이다. 따라서 위의 실습 내용을 Zybo 보드 하나로 해결할 수 rubber-tree.tis.. 2021. 5. 11.
FPGA 설계에 있어 중요한 점은? 큰 줄기를 잡고 가자 글에 앞서 현재 이 블로그에서 다루고 있는 실습 보드 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를.. 2021. 5. 5.
Vivado로 FPGA 설계 예시 - Frame grabber 실습 예시 1) 실습 도구 Euresys CXP2.0 B’D (PC3603) FPGA Chip Xilinx Kintex Ultrascale XCKU035 (91% DSP, 82% FF, 74% LUT and 56% BRAM resources) (2GB capacity, 12GB/s bandwidth, shared on-board DRAM memory) 2) 구현 기능 Pixel Threshold 3) 메인 파일 정보 CustomLogicPkt.vhdp (VHDL 사용) Size: 2,761 KB 기본 실습 보드와는 차원이 다른 개수다. (실습 보드는 10개 내외) 카메라 FPGA 칩과 비교해도 고해상도 & CXP 조합에서 볼 수 있는 정도의 개수다. 4) Source - CustomLogicTop: FP.. 2021. 4. 11.
Vivado 프로그램 이란? Vivado 프로그램이란? FPGA의 IDE로써 Verilog 혹은 VHDL 언어로 작성한 코드를 시뮬레이터, 합성, 파일 추출까지 할 수 있다. FPGA 칩은 크게 Xilinx와 Intel(Altera 인수)가 있으며 Vivado는 Xilinx사의 칩을 사용할 때만 이용 가능하다. Flow Navigator 정리 위에서부터 아래로 순서대로 실행하면 내가 작성한 코드를 bitstream으로 만들 수 있다. 1) Project Manager 프로젝트 관련 설정 및 소스 코드 관리, Xilinx IP 관리 등을 할 수 있다. 간단히 프로젝트 관련 설정 내용이 다 모여 있다고 보면 된다. 2) IP Integrator IP를 가져다 블록 다이어그램을 서로 연결하는 방식으로 전체 디자인을 구성하고 싶을 때 사용.. 2021. 4. 11.
FPGA 란? (구조, 요소들의 기능) FPGA 란? FPGA 구동 설계를 하기 위한 아래 3가지 요소가 있고 Block RAM(일명 BRAM)으로 일컸는 메모리가 있다. 1) Logic Blocks (or CLB) - Flip-flops - LUTs - Multiplexer 2) Programmable interconnect (배선) - 코딩으로 자유롭게 수정/설정 가능 3) I/O Blocks - Physical 방식: ex. 전압 강하, 임피던스 매칭.. - Logical 방식 4) Block RAM 5) CMT (Clock Management Tile) - IP Catalog의 clock wizard를 통해 생성함 - MMCM: Mixed-Mode Clock Manager - PLL: Phase Locked Loop https://ww.. 2021. 4. 11.