2. vaja: pulzno-širinski modulator

Cilj laboratorijske vaje je izdelava PWM komponente v jeziku VHDL in povezava z vgrajenim sistemom iz prve laboratorijske vaje.

Izdelava komponente IP

1. Izdelava novega projekta

2. Naloga

Naredi VHDL opis 8-kanalnega pulznoširinskega modulatorja. Vhodni signal data razdeli na osem 4-bitnih vrednosti, ki predstavljajo stopnjo modulacije za posamezen bit izhodnega signala led.

Pulznoširinski modulator je sestavljen iz števca (cnt), ki spreminja vrednosti med 0 in 14. S primerjavo vrednosti števca in stopnje modulacije ugotovi, ali bo v posameznem urnem ciklu na izhodu logična '0' ali logična '1'. Primer kode za en kanal:

if cnt < unsigned(data(3 downto 0)) then
  led(0) <= '1';
else
  led(0) <= '0';
end if;

Naredi opis modulatorja za vseh 8 kanalov in preizkusi delovanje na simulaciji. Nasvet: vsakokrat ko shranimo spremembe v VHDL kodi, se izvede kratka analiza in v zavihku messages javi sporočila (warnings) v primeru sintaktičnih napak. Simulacijo preprostega vezja bomo delali brez testne strukture.

Uporaba komponente v sistemu

3. Izdelava sistema z novo komponento

4. Naloga

Prevedi vezje in preizkusi delovanje na razvojni plošči.