VIVADO 사용법 ( board 연결, zynq 7000, Vits 연결 )
1. 먼저 비바도를 실행시킨 뒤에 "Create Project"를 누른다.
2. 아래와 같은 창이 뜨는데, 파일 저장 위치랑 파일 이름은 기호에 따라 지정한다.
3. 여러 타입이 있는데 RTL로 설정했다. 아래 옵션은 따로 누르지 않았다.
4. 추가할 소스가 없기 때문에 "NEXT"를 누른다.
5. 이게 중요한데, 내가 불러올 Board를 검색한다. 없다면 왼쪽 아래 "Refresh"를 눌러서 찾아본다. 필자는 ZedBorad를 선택했다. 그리고 "Status"에서 다운로드를 실행한다. 다운로드가 완료되면 아래 제일 아래 이미지와 같이 뜬다. 만약 보드가 없어도 그냥 선택해서 하면 된다.
+ 이게 보드가 없을 수도 있다. 필자도 그랬다. 처음에 했을 때 있었는데 다시 하려고 하니 보드가 없다.. 이럴 땐 아래 사이트에 들어가면 3번째 항목인 "Installing Digilent board files" 에서 압축파일 다운 받고 설명대로 하면 나온다. 이전과는 똑같은 이름이 아닐 수도 있는데 혼동 없길 바란다.
https://digilent.com/reference/programmable-logic/guides/installing-vivado-and-sdk
이렇게 하면 비바도가 Zynq 7000 core뿐만 아니라 보드의 GPIO들을 다 알게 된다. 스위치가 CPU의 어디에 연결돼 있고, LED가 있고 이런 거 말이다. pin번호를 다 아는 것이다.
6. 마지막으로 아래와 같으 정리해서 뜨면 "Finsh'를 누른다.
7. 다음으로는 "Create Block Design"을 선택한다. 필자는 그냥 "OK"눌렀다.
8. 다음으로 "+"표시를 누른다. IP를 불러오는 것이다. 코딩할 때 라이브러리를 불러오는 것과 똑같아. 우린 Zynq를 불러올 것이다.
9. 불러오면 Zynq의 core가 뜬다. 위래 "Run Block Auto"뭐시기를 누르면 자동으로 보드의 메모리랑 연결해준다.
10. 이제 내가 원하는대로 커스터마이징하면 되는데, 그림을 더블 클릭하고 필요 없는 애들을 선택 해지하면 Pin들이 사라진다.
11. "+"를 눌러서 GPIO를 불러왔다. 그러면 아래와 같이 그림이 뜨는데 "AXI"에 따라 지정되는 것 볼 수 있다. GPIO가 슬레이브고 zynq가 마스터인걸 볼 수 있다. 똑같인 "Run C"뭐시기를 눌러주면 자동으로 예쁘게 정리해준다.
12. 이렇게 하면 내가 커스터마이징한 보드가 된다. 그다음에는 Source에서 borard를 베릴로그 코드로 변환시켜 줘야 된다. 오른쪽 누르고 "Create HDL Wrapper"를 누르고 기본값으로 설정을 클릭하면 해당 보드를 구현하는 베릴로그 코드를 만들어준다. 개쩐다.
그런데 간혹 "Create HDL Wrapper"창이 멈추지 않을 때가 있다. 그때는 "Tool" -> "Setting" -> "Text Editor" -> "Syntax Cheacking" -> "sigasi"를 "vivado"로 변경하면 된다. 적용하고 다시 시작하면 괜찮아진다.
13. 시간이 오래 걸린다. 완료되면 "Generate Bitstream"을 누른다. 끝나면, 아래와 같이 뜨는데, 필자가 생각하기엔 그냥 "Cancel"눌러도 될 것 같다. 뭔가 완료 됐는데 더 뭐 할래? 이런 느낌이다.
14. 완료되면 "Export Hardware"를 하는데 Bitstream을 포함시켜서 내보낸다. Wapper 파일을 선택해서 "XSA"파일로 내보낸다. 이러면 이제 하드웨어는 준비가 끝났다.
15. 마지막으로 소프트웨어로 어떻게 올리냐면, "Tool" 에서 "Lanch Vits"를 누르면 된다.
다음으로는 Vits에서 어떻게 하는지 알아보겠다. 이어서 보고자 하면 아래 포스팅을 참고하면 된다.
2022.09.22 - [내가 하는 공부/Arm] - Vitis 사용법 ( vivado 연결 )