2012/12/26

Nios II 시작해보자-1

일단 간단하게 가보자.


예전에 만들었던 EP4CE22E22 모듈을 쓸 예정이니까 FPGA 스펙부터 확인하자.

- Logic elements(LEs) : 22,320
- Embedded memory(Kbits) : 594
- Embedded 18 x 18 multipliers : 66
- General-purpose PLLs : 4
- Global Clock Networks : 20
- User I/O Banks : 8
- Maximum user I/O : 153

하드웨어 구성은
- Nios II/s processor core
- On-chip memory
- UART
요 세가지로 하자.

1. SW version
   - Quartus II 64-Bit version 12.0 Build 178 05/31/2012 SJ Full Version
   - NIOS II EDS 12.0
   *. NIOS II를 오픈코어 플러스 평가판 라이센스로 돌려도 된다.
      제한이 무지 많으니까 명심하도록.

2. Quartus II 프로젝트 생성

   - NIOSII_Start 폴더를 만들고 프로젝트 이름도 똑같이 만들었다. Next

   - 추가할 파일 없으니까 그냥 Next

   - EP4CE22E22C8N 이니까 해당하는 디바이스 선택 후 Next

   - 여긴 걍 통과. Next

   - 다 만들었다. Finish

   - 자 준비는 끝났고, 시작해 봅시다.

3. Block Diagram File 생성
  - Quartus II 의 File -> New

    - Block Diagram/Schematic File 선택 후 OK
    - Save Project 해주자.

4. Create a New Qsys System
    - Quartus의 Tool메뉴에서 Qsys를 클릭해라. 아래 창이 뜰거다

    - 일단 Nios II 프로세서부터 붙여보자.

    - 저걸 더블클릭해라.


    - Nios II 코어는 3종류다. 난 일단 Nios II/f을 선택했다. 다른설정 건드릴거 없이 Finish


    - On-Chip 메모리 붙일 차례. 저거 더블클릭.


    - Total memory size만 32768로 변경하고 Finish.
      디바이스의 메모리 용량이 크면 이거보다 크게해도 상관없다.
      EP4CE22E22의 메모리 절반 정도의 사이즈다.


    - 마지막으로 UART 붙일 차례. 저거 더블클릭


    - 보레잇 115200으로 Fixed baud rate 설정해준다. Finish


   - 여기까지 사용할 컴포넌트는 다 추가했다.


   - 다음은 모듈간 연결을 해줄 차례다. 위 그림과 같이 연결하면 된다.
      외부로 빠질 시그널은 CLK, RST, UART Rx/Tx 다. Export 창을 클릭하면 된다.


   - System의 Assign Base Addresses를 클릭해봐라.
      Base 컬럼의 16진수값이 변경될거다.


   - System의 Assign Interrupt Numbers를 클릭해봐라.
      IRQ 컬럼의 값이 생성된다.


   - Nios2_qsys_0를  더블클릭해서 윗 그림처럼 변경해라.


   - Generation 탭에서 Generate를 클릭하면 그토록 염원하던 니오스 코어가 생성된다.
     중간중간 워닝이 뜨지만 일단 무시하자.

5. Quartus II에 Nios II 붙이기
   - Quartus II의 bdf 창을 더블클릭 해보시라.


   - 이런 창이 뜬다.


   - Libraries에 Project를 열어보면 방금 만든 Nios 코어가 보인다. OK


   - 여기에 클럭, 리셋, UART Rx/Tx만 연결하면 된다.


   - 이렇게 연결하고 Save Project. 다음은 qip 파일을 추가한다.


   - Asignments의 Setting로 가자.
     Nios 코어 폴더내의 synthesis 폴더내에 NIOSIIf_UART.qip 파일이 있다.
     add 하고 OK.


   - DEV_CLRn에 스위치를 연결해서 써먹을란다. 저거 Enable.

   - 핀 할당 해줘야 하니까 Analysis & Synthesis 실행하자.


   - 회로 설계한대로 핀 할당 해준다. 그 다음은 Start Compilation.
     담배한대 피고...


일단 여기까지 Hardware는 만들었다.

다음은 NIOS II EDS로 간단한 디버깅 프로그램을 만들어보자.

댓글 1개:

  1. NIOS2를 사용해보려는 HW엔지니어입니다.
    재밌고 유익하게 잘 봤습니다 ㅎ
    고맙습니다

    답글삭제