PAL Framer

Unutrasnji blokovi

Unutrašnji blokovi

Dizajn je opisan u dadoteci Frejmer.vhd. Tu su opisani samo izlazni i ulazni pinovi frejmera i nacin kako on povezuje u sebe unutrašnje entitete, koji su ovde detaljnije opisani.

Uhvati.vhd | (VHDL kod | Sinteza | Implementacija)

Za potrebe ove funkcionalne celine konstruisan je i jedan konacni automat. Inicijalno automat se nalazi u stanju PRVA. Iz ovog stanja, ako na ulaz dode Video_in=3FFh, prelazi se u stanje DRUGA. Iz ovog stanja, ako na ulaz dode Video_in=0h, prelazi se u stanje TRECA, a iz ovog stanja ponovo ako je Video_in=0h, prelazi se u stanje CETVRTA. Iz stanja CETVRTA, se svakako prelazi u stanje PETA i tada se na izlazu ukljucuje jes=1 i prelazi u inicijalno stanje PRVA.

Dakle, uloga funkcionalne celine Uhvati.vhd je da hvata kombinaciju 3FF, 0, 0 i XYZ i kada je ulovi daje signal jes=1 u trajanju od jednog takta.

Takode, Uhvati.vhd daje na svom izlazu signal V_OU, zakašenjn za jedan takt i dat sinhrono sa signalom jes.

Pratilica.vhd | (VHDL kod | Sinteza | Implementacija)

Osnovna namena funkcionalne celine Pratilica.vhd je da prati ulazni signal v_in, koji je izlazni signal V_OU celine Uhvati.vhd, i da ulovi pocetak novog frejma. Kada ga pronade, postavlja aktivnu vrednost na svoj izlaz sync=1. Takode, od tog trenutka na svoje izalze daje signale f, h i v. Izlazni signal kas se postavlja kada se sistem u stanju sinhronizacije i kada treba da izlazni signal h bude produžen za cetiri takta kada je se detektuje HBI, a tokom SAV-a.

Za porebe ove celine postoji i konacni automat. Inicijalno nalazi se u stanju SYN0. Iz ovog stanja ako je u ulaznoj reci XYZ h=0 i f=1 prelazi se u stanje ST1. A iz stanja ST1, ako je h=1 a f=0 prelazi se u stanje SYN1postavljaju se adekvatni signali f, h, v, a ako je SAV postavlja se signal kas=1.

Raspakivac.vhd | (VHDL kod | Sinteza | Implementacija)

Ova funkcionala celina ima ulogu da »raspakuje« ulazni signal v_in i da ustanovi da li u paketu XYZ ima greške ili ne. U zavisnosti od toga postavlja signal err=1 ili err=0 respektivno.

Kasnilica.vhd | (VHDL kod | Sinteza | Implementacija)

Kada je sistem u sinhronizaciji i ulazni signal kas=1 Kasnilica.vhd ima ulogu da produžu h=1 za još tri takta, a u cilju da h bude jedinica i tokom SAV-a

Brojalica.vhd | (VHDL kod | Sinteza | Implementacija)

Brojalica.vhd predstavlja najsloženiju funkcionalnu celinu. Ima ulogu da broji linije i piksele, da postavlja Y_C i da detektuje prelazak na novi frejm. U Brojalica.vhd postoji i konacni automat.

Inicijalno nalazi se u stanju NoSYNC. Za f=1 i h=0 prelazi se u stanje H0F1, a iz ovog stanja za f=0 i h=1 prelazi se u stanje H1F0. Iz ovog stanja prelazi se na sledeci takt u stanje SYNCm, a iz SYNCm u sledecem taktu u stanje SYNC1. U stanju SYNC1 inkrementira se pixel_number i gleda se da li je kraj linije. Ako jeste kraj linije pixel_number se resetuje, a inkrementira se line_number. Kada se ulovi prelazak sa parne na neparnu polusliku line_number se postavlja na jedan, a pixel_number se resetuje.