TWORZENIE SYSTEMU NIOS II

Slides:



Advertisements
Podobne prezentacje
I część 1.
Advertisements

Znaki informacyjne.
Wprowadzenie do informatyki Wykład 6
POWIAT MYŚLENICKI Tytuł Projektu: Poprawa płynności ruchu w centrum Myślenic poprzez przebudowę skrzyżowań dróg powiatowych K 1935 i K 1967na rondo.
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Liczby pierwsze.
Domy Na Wodzie - metoda na wlasne M
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Materiały pomocnicze do obsługi wybranych funkcji Quartus II
Ksantypa2: Architektura
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
PREPARATYWNA CHROMATOGRAFIA CIECZOWA.
ZASTOSOWANIE PROCESORÓW SYGNAŁOWYCH
Ministerstwo Gospodarki Poland'sexperience Waldemar Pawlak Deputy Prime Minister, Minister of Economy March 2010.
SORTOWANIE (przykład zastosowania DMA)
PRZERWANIA, DMA, UART Orkiszewski Marcin
KOMPONENTY TYPU SLAVE Orkiszewski Marcin
UKŁADY SZEREGOWO-RÓWNOLEGŁE
E-learning czy kontakt bezpośredni w szkoleniu nowych użytkowników bibliotek uczelni niepaństwowych? EFEKTYWNOŚĆ OBU FORM SZKOLENIA BIBLIOTECZNEGO W ŚWIETLE.
Klasyfikacja systemów
Transformacja Z (13.6).
Pytania konkursowe.
Tytuł prezentacji Warszawa, r..
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Ogólnopolski Konkurs Wiedzy Biblijnej Analiza wyników IV i V edycji Michał M. Stępień
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Wyrażenia algebraiczne
Raport z badań termowizyjnych – RECTICEL Rys. 1a. Rozdzielnia RS14 Temperatura maksymalna 35,27 o C Rys. 1b. Rozdzielnia RS14 (wizyjny) 3.
Sekwencyjne bloki funkcjonalne
Anna Nowak Przedszkole publiczne im. Kubusia puchatka w zabełkowie
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Podstawy działania wybranych usług sieciowych
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
EGZAMIN GIMNAZJALNY W SUWAŁKACH 2009 Liczba uczniów przystępująca do egzaminu gimnazjalnego w 2009r. Lp.GimnazjumLiczba uczniów 1Gimnazjum Nr 1 w Zespole.
Analiza wpływu regulatora na jakość regulacji (1)
Programowanie obiektowe – zastosowanie języka Java SE
MATURA 2007 raport ZESPÓŁ SZKÓŁ I PLACÓWEK KSZTAŁCENIA ZAWODOWEGO.
1. Pomyśl sobie liczbę dwucyfrową (Na przykład: 62)
Innowacyjne metody napawania
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Analiza matury 2013 Opracowała Bernardeta Wójtowicz.
Badanie kwartalne BO 2.3 SPO RZL Wybrane wyniki porównawcze edycji I- VII Badanie kwartalne Beneficjentów Ostatecznych Działania 2.3 SPO RZL – schemat.
-17 Oczekiwania gospodarcze – Europa Wrzesień 2013 Wskaźnik > +20 Wskaźnik 0 a +20 Wskaźnik 0 a -20 Wskaźnik < -20 Unia Europejska ogółem: +6 Wskaźnik.
+21 Oczekiwania gospodarcze – Europa Grudzień 2013 Wskaźnik > +20 Wskaźnik 0 do +20 Wskaźnik 0 do -20 Wskaźnik < -20 Unia Europejska ogółem: +14 Wskaźnik.
Wstępna analiza egzaminu gimnazjalnego.
EGZAMINU GIMNAZJALNEGO 2013
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
Programowanie w języku C++
Prezentacja Multimedialna
W2 Modelowanie fenomenologiczne I
Projekt Badawczo- Rozwojowy realizowany na rzecz bezpieczeństwa i obronności Państwa współfinansowany ze środków Narodowego Centrum Badań i Rozwoju „MODEL.
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
WYNIKI EGZAMINU MATURALNEGO W ZESPOLE SZKÓŁ TECHNICZNYCH
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Dr hab. Renata Babińska- Górecka
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
1 Używanie alkoholu i narkotyków przez młodzież szkolną w województwie opolskim w 2007 r. Na podstawie badań przeprowadzonych przez PBS DGA (w pełni porównywalnych.
Kalendarz 2020.
Współrzędnościowe maszyny pomiarowe
Ankieta dotycząca kart bankomatowych i kont bankowych.
Elementy geometryczne i relacje
Strategia pomiaru.
LO ŁobżenicaWojewództwoPowiat pilski 2011r.75,81%75,29%65,1% 2012r.92,98%80,19%72,26% 2013r.89,29%80,49%74,37% 2014r.76,47%69,89%63,58% ZDAWALNOŚĆ.
Synteza logiczna w projektowaniu układów cyfrowych
Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
Programowanie obiektowe – zastosowanie języka Java SE
Zapis prezentacji:

TWORZENIE SYSTEMU NIOS II Orkiszewski Marcin Koło Naukowe Układów Cyfrowych DEMAIN

Altera NIOS II Wymagane oprogramowanie: Quartus II v. 9.0 Nios IDE v. 9.0 Do pobrania na stronie www.altera.com

Uwaga! Katalogi, w których instalujemy oprogramowanie oraz w których zakładamy projekty: ! NIE MOGĄ zawierać spacji !

Uwaga! Unikać powtarzania nazw: - block diagram: <..>_project - SOPC: <..>_sopc - Nios IDE <..>_soft W razie problemów www.google.com

Tworzenie systemu

1. Utworzenie projektu (1/3) Utworzenie pliku z obrazem systemu: Quartus II File New… Block Diagram/Schematic File

1. Utworzenie projektu (2/3) Założenie projektu: File Save As... …/szkolenie1.bdf „Do you want to create a new project with this file?” Tak

1. Utworzenie projektu (3/3) Wybór układu: Family: Cyclone II Device: EP2C35F672C6

2. Stworzenie systemu NIOS II (1/5) Utworzenie systemu Nios II: Tools SOPC Builder System Name: szkolenie1_sopc Target HDL: VHDL

2. Stworzenie systemu NIOS II (2/5) Dodanie procesora CPU: Nios II Processor Nios II/e

2. Stworzenie systemu NIOS II (2/5) Dodanie pamięci RAM (On-Chip): Memories and Memory Controllers On-Chip On-Chip Memory Memory type: RAM Data width: 32 Total memory size: 16 KBytes

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

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

2. Stworzenie systemu NIOS II (2/5) Dodanie portów I/O (przełączniki SWITCH): Peripherals Microcontroller Peripherals PIO (Parallel I/O) Input ports only - Width: 8

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

2. Stworzenie systemu NIOS II (2/5) Zmiana nazw komponentów (Ctrl + R): pio_0 leds pio_1 buttons timer_1 timer Powyższe nazwy będą używane w kodzie programu!

2. Stworzenie systemu NIOS II (3/5) Przydzielenie przestrzeni adresowej i priorytetów przerwań: System Auto-Assign Base Addresses Auto-Assign IRQ’s

2. Stworzenie systemu NIOS II (4/5) Ustawienie adresu początku programu i adresu wektora przerwań: cpu_0: Reset Vector: onchip_memory2_0 Exception Vector: onchip_memory2_0

2. Stworzenie systemu NIOS II (5/5) Zapisanie i wygenerowanie systemu: Generate Save

3. Dodanie systemu do projektu (1/2) Dodanie obrazu systemu do pliku projektu: Edit Insert Symbol… Project szkolenie1_sopc Dodanie pinów wejścia/wyjścia: input + output

3. Dodanie systemu do projektu (2/2) Połączenie pinów z systemem: clk_0 clk reset_n reset in_port_to_the_buttons[7..0] switch[7..0] out_port_from_the_leds[7..0] led[7..0]

4. Przypisanie pinów do projektu Dodanie obrazu systemu do pliku projektu: Assignments Import Assignments… File name: DE2_PIN.csv

5. Zapisanie i kompilacja projektu Processing Start compilation - Wykorzystanie komórek logicznych - Wykorzystanie bloków pamięci Minimalna częstotliwość taktowania - Compilation Report Timing Analizer

6. Załadowanie obrazu do układu Tools Programmer - Hardware Setup ByteBlaster Program/Configure Start - Czasami przydatne bywa włączenie zasilania  -

Programowanie

7. Założenie projektu (1/2) File New Project… Nios II C/C++ Application

7. Założenie projektu (2/2) Wskazanie obrazu systemu (.ptf): Select project template: Blank Project Name: szkolenie1_soft SOPC Builder System PTF File: ../szkolenie1_sopc.ptf Finish

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

9. Dodanie plików źródłowych (C/C++) Prawy klawisz myszki na szkolenie1_soft Import… File System szkolenie1.h szkolenie1_1.c szkolenie1_2.c

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

Program 1

Program 1 Typy danych: Nagłówki: alt_8, alt_u8 alt_16, alt_u16 <stdio.h> - funkcja printf() ”system.h” - adresy komponentów wygenerowane przy tworzeniu systemu SoPC

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;

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” - nagłówek z adresami bazowymi komponentów ”altera_avalon_pio_regs.h” – nagłówek z makrami

Komunikacja z komponentami Przez rejestry: STATUS – stan pracy komponentu np. ukończenie liczenia, zgłoszenie przerwania CONTROL – rejestr konfiguracyjny np. odblokowanie przerwań, start, stop, reset, itp.. DATA – rejestr danych SPECJALISTYCZNE – w zależności od komponentu np. DIRECTION, PERIODL, PERIODH, itd..

Komponent PIO – mapa rejestrów

Program 2

Program 2 int main() { IOWR_ALTERA_AVALON_TIMER_PERIODH( TIMER_BASE, 0x02FA ); IOWR_ALTERA_AVALON_TIMER_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_TIMER_STATUS( TIMER_BASE, 0 ); // do something… }

Komponent TIMER – mapa rejestrów

Program 2 IOWR_ALTERA_AVALON_TIMER_CONTROL( TIMER_BASE, 0x02 | 0x04 ); Ustawienie pracy ciągłej (nie trzeba restartować) oraz uruchomienie licznika

Program 2 IOWR_ALTERA_AVALON_TIMER_PERIODH( TIMER_BASE, 0x02FA ); IOWR_ALTERA_AVALON_TIMER_PERIODL( TIMER_BASE, 0xF080 ); Dlaczego takie wartości ? = 0x02FAF080 = 50000000 Jeden okres licznika trwa 50 MHz (clk) dekrementacja co 20 ns 50000000 * 20 ns = 1 sekunda PERIODH PERIODL

Program 2 status = IORD_ALTERA_AVALON_TIMER_STATUS( TIMER_BASE ); if( status & 0x01 ) IOWR_ALTERA_AVALON_TIMER_STATUS( TIMER_BASE, 0 );

Materiały dostępne na stronie Koła http://demain.zpt.tele.pw.edu.pl/ Publikacje 17 XI 2009