목적 : AXI-Lite Custom IP를 생성하는 방법과 생성된 IP를 통하여 PL과 SDK의 API의 데이터 전송을 하는데 있다.
* ZC706보드의 경우 GPIO핀을 물리적으로 연결하기 힘들기 때문에 Ztrun보드를 가지고 테스트를 진행한다.
* 기본적인 Zynq설정은 ???의 TCL파일을 다운받아 설정한다.
1. 프로젝트 생성시 보드선택은 아래를 참고한다. Zturn Board의 경우 일반적인 설정을 vivado에서 지원해주지 않기때문에 칩셋을 결정하고 zynq의 대한 설정을 맞춰주어야 한다.
2. https://github.com/pcw821029/zturn_Study/tree/master/zturn_basic_tcl 에서 다운받은 TCL파일을 이용해서 ZYNQ7 Processing System의 설정을 맞춰준다.
3. Custom IP를 생성한다.
a. Tools -> Create and Package New IP
b. Next -> Create a new AXI4 Peripheral 선택 후 Next
c. (Peripheral Details) Name, Version, Description등을 설정하고 Next
d. (Add Interfaces) 필요한 부분들을 수정후 Next
e. Edit IP 선택후 Fisnish하면 새로운 창(edit_simpleMultiplier_v1_0)이 하나 열리게 된다.
4. 생성된 IP의 설정 및 기능을 추가하기
a. 새로운 창(edit_simpleMultiplier_v1_0)에서 Flow Navigator탭에서 Add Sources를 선택
b. Add or Create design sources 선택후 Next
c. Create Files...을 선택
d. Create Source File 팝업창에서 File Name 과 File location을 맞춰져야 한다.
; File location의 경우 Custom IP를 생성하게 되면 ip_repo란 폴더가 생성되는데 이 폴더 안에 있는 simpleMultiplier_1.0폴더 안에 hdl폴더로 Path를 맞춰줘야 한다. 그렇지 않은면 오류가 발생한다.
e. finish를 선택하면 Define Mudoule 팝업창이 뜨는데 이는 Input과 output및 필요한 필들을 추가해주면 된다. 이 예제의 경우 두개의 INPUT으로 들어온 데이터를 곱해서 하나의 OUTPUT으로 보내는 기능을 하기때문에 clk, a, b, result 4개의 핀을 추가한다.
5. multiplier의 곱셈기능 하는 코드 추가
6. 생성된 IP의 multiplier의 모듈을 추가 및 수정
- Multiplier의 결과 출력에 정의
7. 새로 추가된 모듈의 패키지의 File Groups Merge
8. Re-Package IP
9. 생성된 IP 추가
10. Run Connectioni Automation
11. Create HDL Wrapper 에서 부터 bitstream 생성 까지 진행 후 Launch SDK 실행한다.
12. SDK의 Application 코딩
a. File -> New -> Application Project Project name 을 입력하고 Next
b. Available Templates탭에서 Hello World선택 후 Finish
c. SDK의 Application 코드
13. Boot mode ( JTAG 모드로 설정 )
댓글 없음:
댓글 쓰기