1. H/W Platform 을 먼저 만들어야 합니다. VIVADO를 실행합니다.
2. Block Design을 실행해 필요한 IP를 설계합니다.
MicroBlaze, uart, gpio를 아래와 같이 추가했습니다.
3. GPIO IP를 설정합니다.
LED 8개를 Blink 하려고 합니다. 그래서 아래와 같이 GPIO Width를 8로 설정합니다.


4. Run Block Automation, Run Connection Automation 을 순서대로 실행합니다.
5. Clocking Wizard를 더블클릭하여 설정을 수정합니다.
CLK_IN1을 sys clock으로 설정합니다. (외부 클럭 사용)
6. Port이름을 H/W 포트와 연결하기 위해 Constraint파일의 이름과 동일하게 sysclk, led 로 변경합니다.
7. AXI 버스로 연결된 IP들의 주소를 확인 합니다.
Vitis에서 프로그래밍할때 해당 주소를 알아야 합니다. 그러나 몰라도 프로그래밍은 할 수 있습니다. 좀더 내공을 키우기 위해서는 AXI 주소에 포인터를 사용하여 제아 할 수 있어야 합니다.
8. Block Design이 완료되면 코드로 변환을 해주기 위해 Wrapper를 해줘야 합니다.
9. Constraints 파일을 추가합니다.
10. Wrapper가 완료되면 bitstream을 생성합니다.
11.Vitis에서 H/W Platform으로 사용하기 위해 Export를 합니다.
12. XSA 파일 생성이 완료되면 이제 Vitis에서 프로그래밍 할 수 있는 환경이 됐습니다.
13. 코드를 작성하고 하드웨어에 Launch 합니다.