Pozdrav svima!
Iz kolegija Mikroelektronika kao zadatak moram napraviti projekt koristeći Alteru. Cilj je napraviti digitalnu bravu gdje će korisnik (samo jednom) upisati u LPM_ROM željenu kombinaciju što će rezultirati zelenim svjetlom ako je točna kombinacija / crvenim ako je netočna.
Ne smijemo koristiti VDHL, već samo logičke sklopove/bistabile/state buffere...
Shemu http://1drv.ms/1M7zbRq sam napravio, ali na žalost nakon kompajliranja te implementacije na alteru, ne radi kako treba. Jednostavno ne znam u čemu je problem.
U nastavku ću detaljnije objasniti shemu, a ukoliko netko koristi Quartus II programski paktet može slobodno i skiunti čitav projekt http://1drv.ms/1M7zOe2 kako bi lakše shvatio o čemu pričam i (daj Bože) pomogao.
Mikroelektronika - Digitalna brava - pomoć
Moderators: pedja089, stojke369, [eDo], trax
Re: Mikroelektronika - Digitalna brava - pomoć
Slika 1 http://imageshack.com/a/img905/3883/KgxrGf.png
Ovih 5 inupta su ulazi, tj. tipke pomocu kojih unosimo kombinaciju od 4 zadana broja. Sklop mora prepoznati kombinaciju tipki tako da ce zasvjetliti zelena ledica/crvena ledica. Negatori su stavljeni radi preventive. Ulazi ulaze u OR5 (gornji) kojim se potvrduje da je pritisnuto onoliko tipaka koliko ima šifra.
Slika 2 http://imageshack.com/a/img661/6590/yXkHq1.png
Svaka tipka (input) takodjer ulaze u xor2 gdje je drugi ulaz podatak sa LPM_ROM -a (dakle uspoređuje se pritisnuta sifra sa onom koja je zadana (u memoriji). Šifra u LPM_ROM-u definirana je u .mif file-u (njegovi parametri width i widthad moraju odgovarati counteru).
Slika 3 http://imageshack.com/a/img905/3598/IdfQjN.png
To sve ulazi u OR5, te ukoliko je kombinacija točna, informacija se prosljeđuje dalje na D bistabil. D bistabil sluzi da "pamti" uneseno stanje te se prosljeduje dalje na ledice, ovisno o tome je li kombinacija točna ili netočna.
Lpm_counter0 služi za kretanje u memoriji (u lpm_romu, on samo broji), dok lpm_counter1 te lpm_compare rade kao "brojač" odnosno time-out-reset, pomoću kojih ce se osigurati da se cijela šifra unese unutar određenog vremena te ako to nije učinjeno, sklop ce se resetirati.
----------------------------------------------------------
Ukoliko netko zna u čemu je greška ili zna kako napraviti traženi sklop molio bih da mi pomogne.
Unaprijed hvala!
Ovih 5 inupta su ulazi, tj. tipke pomocu kojih unosimo kombinaciju od 4 zadana broja. Sklop mora prepoznati kombinaciju tipki tako da ce zasvjetliti zelena ledica/crvena ledica. Negatori su stavljeni radi preventive. Ulazi ulaze u OR5 (gornji) kojim se potvrduje da je pritisnuto onoliko tipaka koliko ima šifra.
Slika 2 http://imageshack.com/a/img661/6590/yXkHq1.png
Svaka tipka (input) takodjer ulaze u xor2 gdje je drugi ulaz podatak sa LPM_ROM -a (dakle uspoređuje se pritisnuta sifra sa onom koja je zadana (u memoriji). Šifra u LPM_ROM-u definirana je u .mif file-u (njegovi parametri width i widthad moraju odgovarati counteru).
Slika 3 http://imageshack.com/a/img905/3598/IdfQjN.png
To sve ulazi u OR5, te ukoliko je kombinacija točna, informacija se prosljeđuje dalje na D bistabil. D bistabil sluzi da "pamti" uneseno stanje te se prosljeduje dalje na ledice, ovisno o tome je li kombinacija točna ili netočna.
Lpm_counter0 služi za kretanje u memoriji (u lpm_romu, on samo broji), dok lpm_counter1 te lpm_compare rade kao "brojač" odnosno time-out-reset, pomoću kojih ce se osigurati da se cijela šifra unese unutar određenog vremena te ako to nije učinjeno, sklop ce se resetirati.
----------------------------------------------------------
Ukoliko netko zna u čemu je greška ili zna kako napraviti traženi sklop molio bih da mi pomogne.
Unaprijed hvala!