2018년 4월 20일 금요일

Bram 사용(PL+SDK Application)

목적 : 비바도에서 제공하는 IP core인 AXI BRAM Controller 2개와 실제 메모리 역할을 하는 Block Memory Generator(True Dual Port RAM)를 사용하여 axi_bram_ctrl_0을 통해 PORTA에 데이터를 쓰고  axi_bram_ctrl_1을 통해 PORTB에서 써진 데이터를 읽어봄으로서 Bram을 사용해보는데 목적을 둔다.

* 비바도 H/W 디자인 설계
1. 기본적인 zynq설정은 Add IP -> Re-customize IP -> Presets -> ZC706 선택.
    ; PS-PL Configuration -> GP Master AXI Interface GP0, GP1 선택

2. AXI Bram Controller 2개 추가 
    ; Add IP -> AXI BRAM Controller 선택

3. Bram을 더블클릭하여 Re-customize IP 설정 화면에서 Number of BRAM interfaces 을 1로 설정한다.

4. Block Memory Generator 추가
    a. Add IP -> Block Memory Generator 선택
    b. Block Memory Generator 설정 - Memory Type -> True Dual Port RAM

5. Net 연결
    a. Run Block Automation 클릭
    b. Run Connection Automation 클릭 

    c. 최종 연결 정보

6번 부터는 Axi_GPIO를 참고해서 수행하자
6. Create HDL Wrapper 
7. Generate Ouput Products 
8. Run Implementation
    ; Include Bitstream 을 꼭 체크하자.
9. Generate Bitstream
10. Export Hardware... 
11. Launch SDK

* SDK Application 제작
1. File -> New -> Application project
  a. New Project 팝업창에 Project name 을 입력하고 Next를 클릭
  b. Hello World 선택하고 Finish 클릭

2. Project Explorer 탭의 test_bram/src/helloworld.c 파일 수정

3.  DIP SW12을 모두 0로 설정한다. (Jtag mode로 동작시키기 위함)

4. DIP SW4를 01로 설정한다.

5. Jtag 케이블과 UART케이블을 컴퓨터에 연결한다.

6. File -> Xilinx Tools -> Program FPGA 를 클릭한다.
   ; Program 클릭한다.

7. 아래 그림과 같이 실행한다.

8. 결과 화면

댓글 없음:

댓글 쓰기

VITIS Git + Doxygen Config

 Doxygen Configure 1. Vitis 메뉴의 Window->Preference의 C/C++ -> Editor의 Documentation tool comments 기본 설정값을 Doxygen으로 변경 설정 후 함수 바로 위에서 /...