diplomsko delo
Mark Urbančič (Avtor), Marko Meža (Mentor)

Povzetek

Uporaba FPGA (angl. Field-Programmable Gate Array) je v industriji zelo obsežna, saj njegovo delovanje omogoča zmanjševanje stroškov razvoja specifične strojne opreme. FPGA omogoča posamezno implementacijo sistemske logike in s tem eliminira potrebo po razvoju strojne logike. Celoten proces razvoja je tako hitrejši, cenejši in ima možnost nadgradnje ter spremembe funkcionalnosti. Cilj diplomske naloge se nahaja točno v tej zadnje navedeni prednosti FPGA; nadgradnji mikrokode (angl. Firmware). Omogočilo se bo nadgradnjo mikrokode, brez da se ploščo vpokliče nazaj v podjetje in preko JTAG priključka nadgradi. Izdelava bo omogočila, da se mikrokoda prenese na ploščo, kjer bo aplikacija v Linux operacijskem sistemu opravila nadgradnjo. Za namen diplomske naloge je na voljo več različnih produktov podjetja Kontron, ki vsebujejo FPGA od proizvajalca Lattice Semiconductor. Te so SPI, SPJ, SPK, ter IDS. Imena predstavljajo namen plošče ter njeno generacijo. Na teh ploščah se bo razvil postopek nadgradnje FPGA mikrokode, kjer je potrebno implementirati wishbone protokol, logiko za zapisovanje podatkov in način zaznavanja plošče, ter izbiro pravilne mikrokode za nalaganje. V prihodnosti bo dodana podpora za več produktov podjetja in je tako potrebno kodo napisati na univerzalen način, ki omogoča čim večjo fleksibilnost. Samo zaključno delo se lahko razdeli na tri dele: 1. komunikacija s FPGA, 2. skripta za zagon aplikacije, 3. aplikacija, ki opravi nalaganje nove mikrokode. Poleg glavne funkcionalnosti, nalaganja nove mikrokode, so bile dodane tudi druge funkcije, ki so postale možne z vzpostavitvijo komunikacije CPU – FPGA. Te so: • izpis vsebine FPGA, • verzija trenutne mikrokode FPGA. Rešitev nima možnosti predčasne programske simulacije in je zato vse testiranje izvedeno na strojni opremi, kar nekoliko oteži razvoj kode, saj nedelujoč poizkus rezultira v nedelujoči plošči. Končni rezultat pa je uspešno opravljena nadgradnja FPGA mikrokode iz Linux operacijskega sistema.

Ključne besede

FPGA;mikrokoda;Linux;plošča;aplikacija;skipta;univerzitetni študij;Elektrotehnika;diplomske naloge;

Podatki

Jezik: Slovenski jezik
Leto izida:
Tipologija: 2.11 - Diplomsko delo
Organizacija: UL FE - Fakulteta za elektrotehniko
Založnik: [M. Urbančič]
UDK: 004.4(043.2)
COBISS: 165650691 Povezava se bo odprla v novem oknu
Št. ogledov: 24
Št. prenosov: 5
Ocena: 0 (0 glasov)
Metapodatki: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Ostali podatki

Sekundarni jezik: Angleški jezik
Sekundarni naslov: Remote FPGA microcode upgrade in Linux-based devices
Sekundarni povzetek: The usage of FPGAs (Field-Programmable Gate Array) in common practice in industrial applications as they allow for a reduction in development costs. FPGA enables implementation of system logic and removes the need for custom hardware solutions. This makes development cheaper and makes improving or adding features easier. The goal for the undergraduate thesis is the implementation of a way to enable changes in the FPGA firmware without the need for a recall. The work will allow the firmware to be changed within the Linux operating system which is an improvement form the current way which is to connect the board via a JTAG connector and flash the FPGA that way. This enables a way to remotely upgrade the firmware. For the development of the software the company Kontron has many boards with FPGAs from Lattice Semiconductor. The ones used were SPI, SPJ, SPK and IDS. The names represent the boards use case and its iteration. These boards were used for the development of the software needed for flashing new firmware on the FPGA. To make upgrading the firmware possible it is necessary to implement the wishbone protocol, make an application to write new firmware on to the chip and also a script to detect which board is being used so the correct data gets parsed. Since there are multiple boards the software needs to be as universal as possible to allow for easy porting to other boards in the future. The whole project can be divided into three problems: 1. comunication with the FPGA, 2. a script to start the application, 3. the application which loads the new firmware. Apart from the main feature, loading new firmware, there were also added other features that were enabled by the new software. These are: • reading FPGA contetns, • current version of the FPGA firmware. With the development process there is no way of testing if the software works as intended beforehand. All testing must therefore be done on a live board and a fault in the code usually results in a nonworking board which needs new FPGA software to start working again. The final result is a successful upgrade of the FPGA firmware from inside the Linux operating system.
Sekundarne ključne besede: FPGA;firmware;Linux;board;application;script;
Vrsta dela (COBISS): Diplomsko delo/naloga
Študijski program: 1000313
Konec prepovedi (OpenAIRE): 1970-01-01
Komentar na gradivo: Univ. v Ljubljani, Fak. za elektrotehniko
Strani: XVI, 42 str.
ID: 19917026