Vivado 프로그램이란?
FPGA의 IDE로써 Verilog 혹은 VHDL 언어로 작성한 코드를 시뮬레이터, 합성, 파일 추출까지 할 수 있다.
FPGA 칩은 크게 Xilinx와 Intel(Altera 인수)가 있으며 Vivado는 Xilinx사의 칩을 사용할 때만 이용 가능하다.
Flow Navigator 정리
위에서부터 아래로 순서대로 실행하면 내가 작성한 코드를 bitstream으로 만들 수 있다.
1) Project Manager
프로젝트 관련 설정 및 소스 코드 관리, Xilinx IP 관리 등을 할 수 있다. 간단히 프로젝트 관련 설정 내용이 다 모여 있다고 보면 된다.
2) IP Integrator
IP를 가져다 블록 다이어그램을 서로 연결하는 방식으로 전체 디자인을 구성하고 싶을 때 사용한다.
3) Simulation
작성된 코드를 RTL 시뮬레이션 할 때 사용한다. 코드가 작성되면 반드시 시뮬레이션부터 해서 내가 생각한 대로 설계가 되었는지 확인해야 한다. 아마 가장 많이 사용할 부분이다.
4) RTL Analysis
툴이 자동으로 RTL을 분석해서 Schematic을 만들고, 취약점을 알려준다. 취약점은 DRC(Design Rule Check)에 있는데, 꼭 확인해 보는 것이 좋다. 회로가 잘 동작되지 않을 때, 원인을 다 찾고 보면 DRC에서 이미 Warning 주고 있는 경우도 많다.
5) Synthesis
시뮬레이션도 다 하고, DRC 체크도 다 했으면 Synthesis, 즉 합성이라는 것을 해야 한다. 이 단계는 RTL을 게이트 레벨로 바꾸는 작업이라고 보면 된다. 정확히 말하면 RTL을 FPGA 내부에 있는 LUT 및 각종 모듈로 변환하는 단계이다. 기본적인 타이밍 체크도 수행된다.
6) Implementation
합성이 완료되면 게이트가 어떤 게 필요하고 어떻게 연결되어야 하는지는 결정된 것이고, 이제 실제 FPGA 위에 있는 물리적인 소자들에 이를 매핑해야 한다. 즉 이 게이트는 어느 셀을 쓰고, 저 게이트는 어느 셀을 쓰고 이런 것을 결정해야 하는데, 이 과정이 Implementation이라고 보면 된다. 추가로 외부 핀과도 매핑이 진행된다.
7) Program and Debug
Implementation까지 완료되면 준비는 다 끝났다. 이를 Bitstream으로 만든 뒤에 FPGA에 올리면 되는데, 이 과정을 수행할 때 사용하는 메뉴이다.
주요 파일
- FPGA 설계 코드: .v(@Verilog), .vhd(@VDHL)
- FPGA simulation 코드: .v(@Verilog – Test bench)
- 환경 설정을 해주는 파일: .tcl
- FPGA의 HW 핀과 Timing 정보를 담은 코드: .xdc
'Digital Logic > FPGA' 카테고리의 다른 글
[FPGA/Digital 회로 설계] 'WaveDrom'으로 Timing diagram 쉽게 그리기 (0) | 2021.05.31 |
---|---|
[IP 설계] AXI4-Lite Interface 란? (0) | 2021.05.11 |
FPGA 설계에 있어 중요한 점은? 큰 줄기를 잡고 가자 (0) | 2021.05.05 |
Vivado로 FPGA 설계 예시 - Frame grabber (0) | 2021.04.11 |
FPGA 란? (구조, 요소들의 기능) (0) | 2021.04.11 |
댓글