Testiranje i verifikacija
Za svaki entitet ponaosob pravljan je testbench kojim je potvrdeno da taj entitet radi dobro. Zatim su sve funkcionalne celine spojene u konacni oblik i za taj konacni oblik napravljen je testbench koji ce bit detaljno opisan.
Simulacija i test benčevi
Za potrebe testbench-a napravljena na CLIPPER-u su još dva pomocna programa: p_puni.exe i pal2sli.exe. Ova dva programa formiraju po jednu tekst-datoteku. Osim njih napravljena je tekst-datoteka slike.txt.
U datoteci slike.txt nalazi se šest kvazi frejmova koji se sastoje od ASCII znakova i to 176 i 178. Ti kvazi frejmovi su formata 30x8. Jedan frejm izgleda ovako:
░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░▓▓▓▓▓▓▓░░░░░░░░░░ ░░░░░░░░░▓▓░░░░░░▓▓░░░░░░░░░ ░░░░░░░░░░░░░░▓▓░░░░░░░░░░░░ ░░░░░░░░░░░░▓▓░░░░░░░░░░░░░░ ░░░░░░░░░▓▓░░░░░░░░░░░░░░░░░ ░░░░░░░▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
Slika 12 – Format kvazi frejma iz fajla slike.txt |
Datoteka slike.txt predstavlja ulaz za program p_pal. Ovaj program prevodi ovu datoteku u kvazi pal signal. Pri tome se formira datoteka pal.txt. Ova datoteka sadrži redove u kojima je ulaz frejmera za takt po takt. Prva vrednost u svakom redu je sam kvazi pal signal i predstavlja ASCII znaka iz fajla slike.txt. Druga vrednost je reset signal za svaki takt. Fajl slike.txt se cita linija po linija prevodi se svaki ASCII znak fajla slike.txt u odgovarajuci kvazi pal signal. Ovde je zanemareno to da je jedna desetobitna vrednost Cr(b) a druga Y pa je se posmatra samo vrednost ASCII znaka. Takode se u fajl umece po jedna linija VBI posle svake parne, odnosno neparne poluslike i HBI za fakticki 10 tatkova.
,,,,, 1023 0 0 0 0 0 872 0 11 0 11 0 1023 0 0 0 0 0 796 0 176 0 176 0 176 0 176 0 176 0 176 0 176 0 176 0 176 0 176 0 176 0 178 0 178 0 176 0 176 0 ,,,,,,,, |
Slika 13 – Format kvazi pal signala iz fajla pal.txt |
Dakle, fajl pal.txt predstavlja ulaz za simulator. U svakom taktu testbench ucitava liniju iz fajla pal.txt. to znaci da se na ulaz entiteta frejmer dovodi u istom trenutku npr. Video_in<=176, Clock<=1 i Reset<=0. U trenutku kada Clock postane 0 upisuju se odgovarajuce vrednosti u fajl out.txt. Takode, u out.txt se upisuje i vrednost Video_in signala zakadnjena za cetiri takta, da bi se poklapala sa odgovarajucom vrednošcu line_number i pixel_number i ostalin vrednostima izlaznih pinova.
Svaki red izlaznog fajla simulatora out.txt ima kao sadržaj vrednost pinova sa izlaza frejmera i to u sledecem redosledu:
field
v
h
line_number
pixel_number
Y_C
Video_in
,,,,,, 1 0 0 7 19 1 176 1 0 1 8 0 0 1023 1 0 1 8 0 1 0 1 0 1 8 1 0 0 1 0 1 8 1 1 872 1 0 1 8 2 0 11 1 0 1 8 2 1 11 1 0 1 8 3 0 1023 1 0 1 8 3 1 0 1 0 1 8 4 0 0 1 0 1 8 4 1 796 1 0 0 8 5 0 176 1 0 0 8 5 1 176 1 0 0 8 6 0 176 1 0 0 8 6 1 176 1 0 0 8 7 0 176 1 0 0 8 7 1 176 1 0 0 8 8 0 176 1 0 0 8 8 1 176 1 0 0 8 9 0 176 1 0 0 8 9 1 176 1 0 0 8 10 0 176 1 0 0 8 10 1 178 1 0 0 8 11 0 178 ,,,,,,, |
Slika 14 – Forma fajla oul.txt |
Verifikacione tehnike i algoritmi
Fajl out.txt predstavlja ulaz programa pal2sli.exe, koji služi da olakša tumacenje izlaza testbench-a. On vizualno interpretira rezultate simulacije citajuce red po red fajla out.txt. Na ekranu prikazuje vrednosti line_number, pixel_number, y_c, field, v i h kao i Video_in i trudi se da nacrta sliku frejm po frejm na osnovu ovih podataka. To bi po svoj prilici bila uloga kola koja bi bila povezana na izlaz ovog kola.
|
Slika 15 – Rad programa pal2sli.exe |
Na opisani nacin moguce je dalje eksperimentisati i menjati fajlove da bi se overili da kolo ispravno radi.