본문 바로가기
Digital Logic/Zybo z7 프로젝트

[Zybo z7-20 보드 실습] ARM 프로세스 활용하기 - PS

by 고뭉나무 2021. 5. 4.

Xilinx에서 제공하는 FPGA 칩 종류

 

이 중 ARM processor를 갖고 있는 FPGA 칩은 ZYNQ 뿐이다.

 

 

ARM 프로세스가 구현되어 있는 FPGA의 ZYNQ 보드를 활용하기 위한 실습이다.

 

ZYNQ의 2가지 영역

Processing System (PS) - CPU 연산을 수행

Programmable Logic (PL) - FPGA 연산을 수행

 

 

이번 실습에서 사용할 Processing System는 아래와 같다.

- DRAM controller

- UART 1 EA

- MPCore의 ARM Coretes A9

 

ZYNQ 보드 Block diagram

 

테스트 환경

  • 실습 보드: DIGILENT사 Zybo z7-20
  • 실습 IDE: Xilinx사 Vivado 2020.2 버전

*Application 코딩을 'Vitis' 라는 프로그램에서 진행하므로 Vivado 2019.2에서 실행한다.

해당 프로그램은 2019.2 버전 부터 지원하며 이전 버전은 'SDK'라는 프로그램으로 사용되어 왔다.

 

 

실습 순서는 다음과 같다.

[Vivado flow]

1. Create project

2. ZYNQ processor IP

3. Generate bitstream and xsa

 

[Vitis flow]

1. Create project xsa loading

2. Coding on PS

3. Serial I/F

4. Check result

 


Vivado flow

Create Block design

 

기본 옵션인 ZYNQ IP를 사용하여 PC와 시리얼 통신을 할 수 있게 'UART1'을 설정한다.

 

여기서 주의할 점은 구현할 기능의 voltage를 맞춰 주어야 한다.

이는 보드 HW 회로도에 IC 칩 동작 전압을 확인하면 된다.

 

F6을 통해 'Validation successful' 확인하기

 

그리하여 ZYNQ processor IP를 생성하였다.

 

Create HDL Wrapper

그리고 이제 만든 IP를 HDL Wrapper로 감싼다.

그러면 아래와 같이 design_1(위에서 만든 IP)를 wrapper로 감싼 desing_1_wrapper가 생성된다.

Generate Bitstream

 

Export Hardware platform

그 다음 synthesis, implement를 거쳐 bitstream을 생성하고 Hardware platform으로 파일을 추출하면 된다.

파일 형식은 .xsa 

이때 bitstream을 포함하여 hardware platform을 생성해야 한다.

Vitis flow

이제 Vitis 프로그램을 실행한다.

Vivado 툴에서 만든 Hardware platfrom .xsa 파일을 Vitis 툴을 통해 Application 단의 코딩을 진행한다.

 

New Application Project

 

 

Application 만들기 완료

 

Build project

 

Vitis Serial Terminal

Vitis 프로그램의 돋보기를 눌러 'Vitis Serial Terminal'을 실행시킨다.

그리고 + 버튼을 통해 보드의 Serial COM Port와 Baud rate를 맞춰 준다.

(물론 Tera term 같은 시리얼 프로그램을 사용해도 된다:)

 

Launch on Hardware

 

 

결과!!

 

Xilinx ZYNQ 칩은 PL과 PS로 구성되어 있다.

PL은 주로 FPGA 개발자가 다루고 PS는 주로 Firmware 개발자가 다룬다.

PL에서는 얼마나 빠르고 저전력으로 구동될 수 있을 지를 고민하여 설계를 해야하고

PS에서는 얼마나 적은 메모리로 구동될 수 있을 지를 고민하여 설계한다.

 

이번 글에서는 PS에 대한 이해를 돋기 위해 간단한 방법으로 구동을 해보았다.

 

다음 시간 부터는 PL과 PS를 모두 사용하여 프로젝트를 진행할 예정이다.

 

 

www.youtube.com/watch?v=38sDypjNIwk&list=PLm4EZB3VG6zn29wHzC-jsCaa2f52v2rKO&index=7

반응형

댓글