• 2023. 8. 20.

    by. 도 현

    반응형

    1. 프로세서 시스템의 구성

    Quartus II로 설계 작업을 시작하기 위해서는 먼저 프로젝트를 생성해야 한다. Quartus II 프로그램을 실행시킨 후, File - New Project Wizard 메뉴를 선택하여 새로운 프로젝트를 생성한다. 프로젝트 생성을 시작하면 단계별로 대화창이 활성화되며, 각 단계에서 다음 단계로 진행하기 위해서는 Next 버튼을 클릭해야 한다. 첫 단계로 프로젝트 관련 파일들이 저장될 경로, 프로젝트 이름, Top-Level Entity 등을 설정하는 대화창이 활성화되고 설정한 후 Next를 클릭한다. 다음으로 프로젝트에 필요한 파일들을 추가하거나, 사용자 라이브러리에 있는 파일들을 참조하기 위한 설정을 해준다. 파일을 추가할 필요가 없으므로 Next를 클릭한다. 다음으로 Target Device를 설정하는 단계이며, Cyclone II EP2C50F672C8을 선택하고 Next를 클릭한다. Quartus II에는 설계입력, 합성, 시뮬레이션 등의 작업을 수행하는 툴들이 기본적으로 포함되어 있다. 그러나 Quartus II가 FPGA 디바이스 지원을 목적으로 만들어진 소프트웨어이므로 단계별 설계 작업에서 최대의 성능을 발휘하지 못할 수도 있다. 합성, 시뮬레이션, 타이밍 분석 등의 작업에서 Quartus II 보다 성능이 우수한 다른 EDA 툴과 연동해서 작업이 가능하며, 이를 위해서는 EDA Tool Settings 대화창에서 설정해야 한다. 이상의 과정이 완료되면 생성된 프로젝트에 대한 요약을 보여 주는 대화창이 활성화된다. 다음은 Quartus II의 File - Tools - SOPC Builder 클릭하여 SOPC Builder를 실행한다. SOPC Builder를 실행시키면 Create New System 대화창이 활성화 되고 설정한 후 OK를 클릭한다. 그러면 Altera SOPC Builder - EasyFPGA_Nios2 윈도우와 System Contents tab이 활성화된다. EasyFPGA-Combo를 위한 Nios II시스템을 구성하기 위해서는 CPU와 주변장치(peripherals) 모듈을 추가한다. System Contents tab에서 Nios II 32bit CPU를 추가하고 설정한다. cpu_0을 선택하고 마우스 오른쪽 버튼을 클릭 후, Rename을 선택한다. cpu로 이름을 변경한다. 다음은 System Contents tab에서 Interface Protocols - Serial - JTAG UART를 더블클릭하여 추가한다. JTAG UART 모듈의 이름을 jtag_uart로 바꾼다. System Contents tab에서 Peripherials - Microcontroller Peripherals - Interval Timer을 더블클릭하여 추가한다. Interval Timer 대화창이 활성화되고, 설정한다. Timer 모듈의 이름을 sys_clk_timer으로 변경한다. System Contents tab에서 Memories and Memory Controllers - On-Chip - On-Chip Memory를 더블클릭하여 On-Chip memory를 추가한다. On-Chip memory 대화창이 활성화되고 설정한 뒤, 모듈의 이름을 onchip_memory로 변경한다. EasyFPGA_Combo의 SRAM을 사용하기 위해서 SRAM모듈을 만든다. SOPC Builder의 Component Editor를 이용하여 SOPC Builder 상의 유저 IP로 등록하기 위한 필요한 파일을 다음과 같이 만든다.

     

    - New Component를 실행하고 HDL Files 탭에서 만든 SRAM IP를 추가한다.

    - Interface 탭에서 clk, avalon_slave_0_export, avalon_slave_0 signal을 만든다.

    - Signals 탭에서 Signal Type을 설정한다.

    - Component Widzard 탭에서 Class Name : SRAM_16Bit_512K, Display Name : SRAM_16Bit_512K, Group : User로 설정하고 SRAM_16Bit_512K.tcl로 저장한다. 위의 과정이 완료되면 System Contents 탭 상에 사용자가 만든 SRAM_16Bit_512K IP를 등록한다.

     

    SRAM_16Bit_512K IP를 더블클릭하여 모듈을 2번 추가한다. 모듈의 이름을 SRAM과 SRAM_1으로 변경한다. cpu와 SRAM IP를 연결하고 Base Address를 설정한다. cpu 모듈을 선택하고 마우스 오른쪽 버튼 메뉴에서 edit를 클릭한다. Nios II Processor 대화창이 활성화되고, Reset, Exception Vector 메모리를 설정한다. System Contents tab에서 Peripherials - Microcontroller Peripherals - PIO(Parallel I/O)를 더블클릭하여 LED PIO를 추가한다. PIO 대화창이 활성화되고, 설정한다. Input Options와 Simulation은 기본 설정으로 한다. LED PIO 모듈의 이름을 led_pio로 변경한다. System Contents tab에서 Peripherials - Microcontroller Peripherals - PIO(Paraller I/O)를 더블클릭하여 7-Segment PIO를 추가한다. PIO 대화창이 활성화 되고, 설정한다. 7-Segment PIO 모듈 이름은 SEG7_Display로 변경한다. System Contents tab에서 Peripherals - Display - Character LCD를 더블 클릭하여 Character LCD를 추가한다. Character LCD 모듈이름은 char_lcd로 변경한다.

    반응형