TWORZENIE SYSTEMU NIOS II - PowerPoint PPT Presentation

1 / 58
About This Presentation
Title:

TWORZENIE SYSTEMU NIOS II

Description:

... Tools SOPC Builder System Name: szkolenie1_sopc Target HDL: VHDL * 2. Stworzenie systemu NIOS II (1/5) * Dodanie procesora CPU: Nios II ... – PowerPoint PPT presentation

Number of Views:246
Avg rating:3.0/5.0
Slides: 59
Provided by: Pent54
Category:
Tags: nios | systemu | tworzenie | sopc

less

Transcript and Presenter's Notes

Title: TWORZENIE SYSTEMU NIOS II


1
TWORZENIE SYSTEMU NIOS II
  • Orkiszewski Marcin

Kolo Naukowe Ukladów Cyfrowych DEMAIN
2
Altera NIOS II
  • Wymagane oprogramowanie
  • Quartus II v. 9.0
  • Nios IDE v. 9.0
  • Do pobrania na stronie www.altera.com

3
Uwaga!
  • Katalogi, w których instalujemy oprogramowanie
    oraz w których zakladamy projekty
  • ! NIE MOGA zawierac
    spacji !

4
Uwaga!
  • Unikac powtarzania nazw
  • - block diagram lt..gt_project
  • - SOPC lt..gt_sopc
  • - Nios IDE lt..gt_soft
  • W razie problemów www.google.com

5
Tworzenie systemu
6
1. Utworzenie projektu (1/3)
  • Utworzenie pliku z obrazem systemu
  • Quartus II File New
  • Block Diagram/Schematic File

7
(No Transcript)
8
1. Utworzenie projektu (2/3)
  • Zalozenie projektu
  • File Save As... /szkolenie1.bdf
  • Do you want to create a new project with this
    file?
  • Tak

9
1. Utworzenie projektu (3/3)
  • Wybór ukladu
  • Family Cyclone II
  • Device EP2C35F672C6

10
(No Transcript)
11
2. Stworzenie systemu NIOS II (1/5)
  • Utworzenie systemu Nios II
  • Tools SOPC Builder
  • System Name szkolenie1_sopc
  • Target HDL VHDL

12
(No Transcript)
13
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie procesora CPU
  • Nios II Processor Nios II/e

14
(No Transcript)
15
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie pamieci RAM (On-Chip)
  • Memories and Memory Controllers
  • On-Chip On-Chip Memory
  • Memory type RAM
  • Data width 32
  • Total memory size 16 KBytes

16
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie komponentu JTAG Uart
  • Interface Protocols Serial
  • JTAG UART

17
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie portów I/O (diody LED)
  • Peripherals Microcontroller Peripherals
    PIO (Parallel I/O)
  • Output ports only - Width 8

18
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie portów I/O (przelaczniki SWITCH)
  • Peripherals Microcontroller Peripherals
    PIO (Parallel I/O)
  • Input ports only - Width 8

19
2. Stworzenie systemu NIOS II (2/5)
  • Dodanie licznika czasu (Timer)
  • Peripherals Microcontroller Peripherals
    Interval Timer
  • Period 1 ms
  • Writable period, Start/Stop control bits

20
2. Stworzenie systemu NIOS II (2/5)
  • Zmiana nazw komponentów (Ctrl R)
  • pio_0 leds
  • pio_1 buttons
  • timer_1 timer
  • Powyzsze nazwy beda uzywane w kodzie
    programu!

21
(No Transcript)
22
2. Stworzenie systemu NIOS II (3/5)
  • Przydzielenie przestrzeni adresowej
  • i priorytetów przerwan
  • System
  • Auto-Assign Base Addresses
  • Auto-Assign IRQs

23
(No Transcript)
24
2. Stworzenie systemu NIOS II (4/5)
  • Ustawienie adresu poczatku programu
  • i adresu wektora przerwan
  • cpu_0
  • Reset Vector onchip_memory2_0
  • Exception Vector onchip_memory2_0

25
(No Transcript)
26
2. Stworzenie systemu NIOS II (5/5)
  • Zapisanie i wygenerowanie systemu
  • Generate Save


27
(No Transcript)
28
3. Dodanie systemu do projektu (1/2)
  • Dodanie obrazu systemu do pliku projektu
  • Edit Insert Symbol
  • Project szkolenie1_sopc
  • Dodanie pinów wejscia/wyjscia
  • input output

29
(No Transcript)
30
3. Dodanie systemu do projektu (2/2)
  • Polaczenie pinów z systemem
  • clk_0 clk
  • reset_n reset
  • in_port_to_the_buttons7..0 switch7..0
  • out_port_from_the_leds7..0 led7..0

31
(No Transcript)
32
4. Przypisanie pinów do projektu
  • Dodanie obrazu systemu do pliku projektu
  • Assignments Import Assignments
  • File name DE2_PIN.csv

33
(No Transcript)
34
5. Zapisanie i kompilacja projektu
  • Processing Start compilation
  • - Wykorzystanie komórek logicznych
  • - Wykorzystanie bloków pamieci
  • Minimalna czestotliwosc taktowania
  • - Compilation Report Timing Analizer

35
(No Transcript)
36
6. Zaladowanie obrazu do ukladu
  • Tools Programmer
  • - Hardware Setup ByteBlaster
  • Program/Configure
  • Start
  • - Czasami przydatne bywa wlaczenie
    zasilania ? -

37
Programowanie
38
7. Zalozenie projektu (1/2)
  • File New Project
  • Nios II C/C Application

39
(No Transcript)
40
7. Zalozenie projektu (2/2)
  • Wskazanie obrazu systemu (.ptf)
  • Select project template Blank Project
  • Name szkolenie1_soft
  • SOPC Builder System PTF File
    ../szkolenie1_sopc.ptf
  • Finish

41
8. Kompilacja biblioteki
  • Prawy klawisz myszki na szkolenie1_soft_syslib
  • Properties System Library
  • Reduced device drivers
  • Small C library itp..
  • Prawy klawisz myszki na szkolenie1_soft_syslib
  • Build Project

42
(No Transcript)
43
9. Dodanie plików zródlowych (C/C)
  • Prawy klawisz myszki na szkolenie1_soft
  • Import File System
  • szkolenie1.h
  • szkolenie1_1.c
  • szkolenie1_2.c

44
10. Uruchomienie projektu
  • Run Run Nios II Hardware
  • Main Project szkolenie1_soft
  • Target Connection USB-Blaster
  • Run

45
(No Transcript)
46
Program 1
47
Program 1
  • Typy danych
  • alt_8, alt_u8
  • alt_16, alt_u16
  • alt_32, alt_u32
  • Naglówki
  • ltstdio.hgt - funkcja printf()
  • system.h - adresy komponentów wygenerowane przy
    tworzeniu systemu SoPC

48
Program 1
int main() alt_u8 variable
while(1) variable
IORD_ALTERA_AVALON_PIO_DATA( BUTTONS_BASE )
IOWR_ALTERA_AVALON_PIO_DATA( LEDS_BASE,
variable ) return 0
49
Komunikacja z komponentami
  • Przez makrodefinicje
  • IOWR_ALTERA_AVALON_PIO_DATA( LEDS_BASE, variable
    )
  • (wpis) (dane)
  • typ komponentu rejestr adres bazowy
  • variable IORD_ALTERA_AVALON_PIO_DATA(
    BUTTONS_BASE )
  • (dane) (odczyt)
  • system.h - naglówek z adresami bazowymi
    komponentów
  • altera_avalon_pio_regs.h naglówek z makrami

50
Komunikacja z komponentami
  • Przez rejestry
  • STATUS stan pracy komponentu
  • np. ukonczenie liczenia, zgloszenie przerwania
  • CONTROL rejestr konfiguracyjny
  • np. odblokowanie przerwan, start, stop, reset,
    itp..
  • DATA rejestr danych
  • SPECJALISTYCZNE w zaleznosci od komponentu
  • np. DIRECTION, PERIODL, PERIODH, itd..

51
Komponent PIO mapa rejestrów
52
Program 2
53
Program 2
int main() IOWR_ALTERA_AVALON_TIMER_PERIOD
H( TIMER_BASE, 0x02FA ) IOWR_ALTERA_AVALON_T
IMER_PERIODL( TIMER_BASE, 0xF080 )
IOWR_ALTERA_AVALON_TIMER_CONTROL( TIMER_BASE,
0x02 0x04 ) while(1)
status IORD_ALTERA_AVALON_TIMER_STATUS(
TIMER_BASE ) if( status 0x01 )
IOWR_ALTERA_AVALON_TIME
R_STATUS( TIMER_BASE, 0 ) //
do something
54
Komponent TIMER mapa rejestrów
55
Program 2
  • IOWR_ALTERA_AVALON_TIMER_CONTROL( TIMER_BASE,
    0x02 0x04 )
  • Ustawienie pracy ciaglej (nie trzeba restartowac)
    oraz uruchomienie licznika

56
Program 2
  • IOWR_ALTERA_AVALON_TIMER_PERIODH( TIMER_BASE,
    0x02FA )
  • IOWR_ALTERA_AVALON_TIMER_PERIODL( TIMER_BASE,
    0xF080 )
  • Dlaczego takie wartosci ?
  • 0x02FAF080 50000000
  • Jeden okres licznika trwa 50 MHz (clk)
    dekrementacja co 20 ns
  • 50000000 20 ns 1 sekunda

PERIODH PERIODL
57
Program 2
  • status IORD_ALTERA_AVALON_TIMER_STATUS(
    TIMER_BASE )
  • if( status 0x01 )
  • IOWR_ALTERA_AVALON_TIMER_STATUS(
    TIMER_BASE, 0 )

58
Materialy dostepne na stronie Kola http//demain.
zpt.tele.pw.edu.pl/ Publikacje
17 XI 2009
Write a Comment
User Comments (0)
About PowerShow.com