DVS19_GX

Projekat koji nas je učinio gladnim

Danas smo svratili do kineza.

NAŠA PRIČA

Ovo je blog o našem projektu iz DVS-a

Our speciality is delicious coffee created with the ingenuity and passion inspired by the fantastic flavours of Serbia itself. We take great pride in improving upon your favourite Serbian dishes in new and creative ways.

Razvoj softverskog dela i merenje performansi

U okviru realizacije sistema za projekat iz predmeta Digitalni VLSI sistemi, uspešno smo implementirali softverski deo funkcionalnosti, i to:

  • Učitavanje slike korišćenjem hostfs sistema
  • Računanje histograma slike
  • Određivanje kumulativnog histograma
  • Mapiranje izlazne slike
  • Ispis dobijene slike korišćenjem hostfs sistema

Za realizaciju zadatih funkcionalnosti smo implementirali sledeće klase u okviru našeg softverskog rešenja:

  • class Image Alokacija memorije, učitavanje slike iz fajla, upis slike u fajl i adresiranje piksela
  • class Histogram Apstraktna klasa koja implementira alokaciju memorije za elemente histograma i definiše interfejs za rad sa histogramom
  • class SoftwareHistogram:Histogram Implementira funkcionalnost softverskog izračunavanja histograma
  • class EqualizedHistogram Klasa koja implementira računanje kumulativnog histograma (koji je uvek realizovan softverski) i definiše interfejs za funkciju koja vrši mapiranje slike
  • class SoftwareEqualizedHistogram:EqualizedHistogram Klasa koja implementira softversko mapiranje slike
  • class PerformanceCounterFactory Singlton koji omogućava jednostavno interfejsovanje sa meračima performansi
  • class PerformanceCounter Wrapper klasa koja olakšava povezivanje sa HAL-om. Pokazivač na instancu ove klase se najlakše generiše korišćenjem klase PerformanceCounterFactory.

Rezultati merenja performansi

Slede rezultati merenja za softversku implementaciju:

Performance counter Equalized histogram measurements: 
    Call 0:  107.031860 ms 
Performance counter Mapping measurements: 
    Call 0:  23926.972560 ms 
Performance counter Software histogram measurements: 
    Call 0:  12303.845760 ms 

Rezultati obrade:

Obrada je izvršena nad grupom slika koja je navedena u tekstu zadatka. Slede parovi slika pre i posle obrade:

Izrada hardvera i merenje performansi

Hardver za generisanje histograma

U okviru ovog dela, realizovan je hardverski modul HW_histogram_module korišćenjem programskog jezika VHDL. Hardverski modul ima tri interfejsa koji se koriste za interakciju sa procesorskim sistemom:

  • avs_params Avalon MM interfejs koji služi za konfigurisanje i očitavanje statusa periferije. Preko ovog interfejsa može se pristupati registrima CONTROL (adresa 0h, bit 0 – enable), STATUS (adresa 1h, polje bita 1..0 – stanje periferije) i PIXEL_CNT (adresa 2h, polje bita 31..0 – neoznačena vrednost broja piksela slike za koju se računa histogram).
  • asi_in Avalon ST sink interfejs preko kog se primaju vrednosti piksela sa regiona slike za koji se računa histogram.
  • aso_out Avalon ST source interfejs preko kog se šalju vrednosti izračunatog histograma.

U okviru softverskog dela je realizovana klasa class HardwareHistogram:Histogram koja realizuje identičnu funkcionalnost kao i klasa za softversko izračunavanje, ali uz korišćenje hardverske akceleracije izračunavanja. Korišćenjem osobine polimorfizma, imali smo mogućnost da u glavnom programu za testiranje samo izmenimo poziv konstruktora date klase i da bez daljih izmena izvršimo merenje performansi i proveru dobijenih vrednosti.

Tokom izrade ovog dela projekta smo naišli na problem koji stvara keš memorija kada se ne flush-uje blagovremeno. Problem je bilo nezgodno pronaći jer se tokom step-by-step debug-a ne pojavljuje.

Tokom izrade ovog dela projekta smo naišli na problem koji stvara keš memorija kada se ne flush-uje blagovremeno. Problem je bilo nezgodno pronaći jer se tokom step-by-step debug-a ne pojavljuje.

Performance counter Equalized histogram measurements: 
    Call 0:  170.535980 ms 
Performance counter Hardware histogram measurements: 
    Call 0:  156.067940 ms 
Performance counter Mapping measurements: 
    Call 0:  25066.734580 ms 

Discover Our Menu

The menu is a mix of French regional cuisines, and the menu changes with the seasons. Be sure to ask about the daily specials!

Starter

Fricassée of Wild Mushrooms
Braised wild mushrooms served with seaweed and liquid nitrogen
$14.50

Main

Coq au Vin d’Alsace
Chicken cooked in Riesling with onions, mushrooms and herbs
$25.50

Dessert

Pumpkin Soufflé
With bourbon, cinnamon and molasses sauce
$9.00

Book Your DE0-NANO

Design a site like this with WordPress.com
Get started