pandaci napisał: Chodzi mi dokładnie oto/.../
ok, teraz jasne;
robisz uklad 'licznik-dekoder' i implementujesz go
4 razy jak w przykladzie, ktory ci podalem wyzej;
dodatkowo robisz 4 bitowy rejestr, ktory sluzy
za 'count_enable';
po reset ten rejestr ma stan b"0001", czyli pozwala
liczyc licznikowi pierwszemu;
stan pierwszego licznika = 9 ustawia [synchronicznie]
'count_enable' w stan b"0010", czyli uaktywnia licznik
nr. dwa;
itd.;
musisz sie chwile zastanowic, jak to zrobic poprawnie,
bo nie wystarczy po prostu polaczyc bity '9' licznikow
z odpowiednimi bitami rejestru;
[bo juz w nastepnym cyklu zegara stal licznika bedzie '0'];
innym rozwiazaniem, bardziej intuicyjnym, jest 4-stanowa
maszyna stanow, ktora przechodzi do stanu nastepnego
gdy stan odpowiedniego licznika jest = '9';
dzieki czemu bedziesz mial mozliwosc nauczenia sie, jak w ahdl
robi sie fsm

;
do opisu licznika musisz dodac port clk_en, czyli trzymajac
sie przykladu powyzej miedzy "for generate', a 'end generate'
powinno byc:
cnt[i].cnt_en = count_enable[i];
zmienilbym jeszcze cnt[i].aclr na *.sclr,
czyli reset asynchroniczny na synchroniczny;
innym rozwiazaniem jest stworzenie jednego rejestru
na 4x7 bitow z tzw. 'kroczaca jedynka' i polaczenie
odpowiednio 7 bitowych segmentow do 4 dekoderow wyswietlaczy;
i na koniec - jeden licznik mod9, jeden dekoder, jeden licznik
2 bitowy i cos w rodzaju multipleksera, laczacego uklad:
"licznik - dekoder" do odpowiedniego wyswietlacza ...
i jeszcze z ciekawosci, czemu ahdl ?
J.A