Tutorial Nios II

16
Tutorial NIOS II dengan Quartus II 9.0 1. Buka Start Program Altera Quartus II 9.0 2. Klik File New Project Wizard, tentukan lokasi folder tempat kita menyimpan project kemudian beri nama project tersebut dan klik Next . Contoh seperti pada gambar dibawa: project diberi nama ProjectPertama dan di simpan di folder C:\altera\90\quartus\myproject\agusbj

description

ttutorial how to use nios 2 ide

Transcript of Tutorial Nios II

  • Tutorial NIOS II dengan Quartus II 9.01. Buka Start Program Altera Quartus II 9.0

    2. Klik File New Project Wizard, tentukan lokasi folder tempat kita menyimpan project kemudian beri nama project tersebut dan klik Next. Contoh seperti pada gambar dibawa: project diberi nama ProjectPertama dan di simpan di folder C:\altera\90\quartus\myproject\agusbj

  • 3. Jika anda baru pertama kali membuat project ini maka klik Next untuk tampilan seperti berikut.

    4. Pilih keluarga FPGA yang anda gunakan. Sebagai contoh disini saya menggunakan FPGA Altera keluarga Cyclone III yaitu EP3C25F324C6. Lalu klik Next.

  • 5. Klik Next untuk tampilan berikut.

    6. Akan muncul resume tentang project yang akan dibuat. Klik Finish.

    7. Sekarang kita siap untuk membuat detil teknis project. Dalam setiap rancangan system digital, kita memerlukan Top-Level desain, yaitu kerangka desain pada level paling atas. Untuk kemudahan maka dalam tutorial ini saya berikan contoh Top-Level desain dengan menggunakan skematik (cara lain bisa juga dengan VHDL tetapi tidak digunakan dalam tutorial ini). Klik File New pilih Block

  • Diagram/Schematic File.

    8. Klik tombol Symbol Tool kemudian cari symbol input di bagian primitives/pin seperti terlihat pada gambar kemudian beri nama CLOCK.

    9. Lakukan hal yang sama untuk pin output dan beri nama LED[3..0]. Juga letakan simbol VCC di bagian di bagian primitives/other sehingga kesemuanya terlihat pada gambar dibawah. Jangan lupa simpan dulu top-level desain anda, klik File Save misal disimpan dengan nama ProjectPertama.bdf

  • 10. Berikutnya kita akan mulai merancang system berbasis NIOS II. Klik menu Tools SOCP Builder. Akan terlihat tampilan sebagai berikut. Beri nama system kita dan pilih bahasa yang digunakan. Contoh beri nama mynios dan pilih VHDL.

    11. Pada tab System Contens pilih Memories and Memory Controllers On-Chip On-Chip Memory (RAM or ROM) lalu klik kanan Add

  • 12. Isikan sebagai berikut dan biarkan parameter yang lain sesuai default lalu klik Finish. Memory Type : RAM Block Type : Auto Data Width : 32 Total Memory Size : 20 KBytes

    13. Lakukan hal yang sama untuk menambahkan soft-core prosesor NIOS. Isikan parameter berikut dan biarkan parameter yang lain sesuai default. Klik Finish. Select a Nios II core : Nios II/s Reset Vector Memory : onchip_memory2_0 Exception Vector Memory : onchip_memory2_0

  • 14. Tambahkan pula JTAG UART di bagian Interface Protocols Serial JTAG UART dan biarkan semua sesuai default lalu klik Finish.

    15. Tambahkan safeguard di bagian Peripherals Debug and Performance System ID Peripheral lalu klik Finish. Pada bagian sysid_0 klik kanan kemudian rename menjadi sysid.

  • 16. Tambahkan Timer di bagian Peripheral Microcontroller Peripherals Interval Timer. Isikan Timer Period : 1 ms, Counter Size : 32 bits dan Hardware Options Presets : Full Featured

    17. Tambahkan port I/O di bagian Peripheral Microcontroller Peripherals PIO. Pada tutorial ini port I/O dengan lebar 4 bit akan dihubungkan ke lampu LED. Sehingga isikan parameter Width : 4 dan Direction : Output ports only.

  • 18. Ubahlah nilai IRQ pada peripheral JTAG UART menjadi 16 sehingga tampilan keseluruhan peripheral yang telah ditambahkan seperti terlihat pada gambar berikut.

    19. Quartus II versi 9.0 sebenarnya telah melakukan mapping memory dan IRQs secara otomatis. Namun anda dapat melakukanya secara manual dengan cara

  • System Auto-Assign Base Address dan System Auto-assign IRQs.20. Simpan system nios desain file, klik File Save.21. Langkah berikutnya adalah melakukan generation system untuk menghasilkan

    rangkaian yang sesuai dengan desain system nios diatas dalam VHDL. Caranya adalah klik tombol Generate. Jika tidak terdapat error maka akan muncul pesan System generation was successful seperti terlihat pada gambar berikut.

    22. Klik tombol Exit.23. Untuk melengkapi Top-level desain pada jendal Quartus II, klik Symbol Tool

    kemudian pilih mynios di bagian project. Selanjutnya hubungkan port CLOCK dengan pin clk_0, VCC pada pin reset_n dan port LED[3..0] pada pin out_port_from_the_pio_0[3..0] seperti pada gambar berikut. Perhatikan bahwa gunakan Orthogonal Node Tool untuk menghubungkan pin clk_0 dan resete_n sedangkan gunakan Orthogonal Bus Tool untuk jalur LED[3..0].

  • 24. Simpan Top-Level Desain, klik File Save.25. Klik menu Assigments Pins. Isikan lokasi pin FPGA yang bersesuaian dengan

    hardware development board yang kita gunakan. Detil penempatan pin bisa dilihat pada panduan atau datasheet untuk development board yang digunakan. Pada tutorial ini penempatan pin seperti terlihat pada gambar berikut :

    26. Proses selanjutnya adalah kompilasi atau synthesizing. Klik menu Processing Start Compilation. Jika tidak terdapat error maka akan dihasilkan file dengan ekstensi .sof (ProjectPertama.sof) dan muncul pesan sebagai berikut.

    27. Sampai disini hardware platform system yang kita rancang sudah selesai dan siap kita download ke dalam IC FPGA. Caranya adalah Klik Tools Programmer.

  • Akan muncul jendela baru seperti terlihat pada gambar diatas. Pastikan bahwa pada Hardware Setup sudah menunjuk pada USB-Blaster yaitu tool JTAG untuk mendownload file *.sof ke FPGA. Untuk mendownload klik tombol Start.

    28. Sekarang kita sudah memiliki hardware yang siap untuk digunakan. Hardware yang kita buat sampai disini bisa di ibaratkan sebagai sebuah mikrokontroler. Untuk dapat bekerja tentu kita memerlukan program atau software didalamnya. Langkah berikut ini akan menjelaskan bagian perancangan softwarenya. Tools NIOS II adalah sebuah software development kit yang dirancang khusus untuk hal itu.

    29. Klik Start Program Altera NIOS II 9.0. Akan muncul tampilan sebagai berikut.

  • 30. Klik File New Nios II C/C++ Application. Beri nama program kita, contoh myfirstcode. Browse file *.ptf (mynios.ptf) untuk SOPC Builder System PTF File, dan pilih Blank Project pada bagian Select Project Template seperti gambar berikut lalu klik Finish.

    31. Klik File New Source File. Isikan Source Folder dengan myfirstcode dan Source File dengan myfirstcode.c lalu klik Finish.

  • 32. Tuliskan kode berikut pada file myfirstcode.c lalu save.#include #include "alt_types.h"#include "altera_avalon_pio_regs.h"#include "sys/alt_irq.h"#include "system.h"#include

    static alt_u8 count;

    int main(){ printf("Hello from Nios II, I am agusbj! "); count = 0; while (1) { IOWR_ALTERA_AVALON_PIO_DATA(LED_PIO_BASE,~count); usleep(1000000); count++; }

    return 0;}

    33. Lakukan setingan compiler sebagai berikut untuk meminimalkan ukuran file program sehingga cukup untuk memory yang telah disediakan oleh hardware. Klik kanan folder myfirstcode System Library Properties lalu klik OK.

  • Check Program never exitsUncheck Support C++Uncheck Clean exit (flush buffers)Check Small C library

    34. Untuk mengkompile program diatas klik kanan folder myfirstcode Build Project.

    35. Jika tidak terdapat error maka akan muncul resume hasil kompilasi dan file dengan ekstensi *.elf (myfirstcode.elf) seperti terlihat pada gambar berikut.

    36. Sekarang kita akan mendowload hasil file kompilasi diatas (myfirstcode.elf) kedalam hardware yang telah kita konfigurasi sebelumnya (seolah-olah seperti mikrokontroler). Klik Run Run Klik kanan Nios II Hardware Add lalu klik tombol Run.

    37. Jika program berhasil maka akan terlihat 4 lampu LED yang menyala berurutan merepresentasikan sebuah counter atau bilangan yang mencacah naik. Selain itu

  • pada tab Console juga akan muncul tulisan . "Hello from Nios II, I am agusbj! sebagai respon dari perintah printf("Hello from Nios II, I am agusbj! ") seperti terlihat pada gambar dibawah. Perlu diketahui bahwa kita memilih peripheral JTAG UART, ini artinya USB-Blaster yang kita gunakan setelah selesai digunakan sebagai JTAG untuk mendownload program dan bitstream maka selanjutnya akan berfungsi sebagai UART sehingga kita dapat menerima data yang dikirimkan melalui perintah printf. Catatan: setingan stdout dan stdin harus sesuai.

    38. Selamat mencoba semoga berhasil

    Kunieda-Isshiki Laboratory, 5 November 2009Agus Bejo