- comb_event: process (a_prev, b_prev, a, b)
- begin
- a_rise <= '0';
- a_fall <= '0';
- b_rise <= '0';
- b_fall <= '0';
- ab_event <= '0';
- ab_error <= '0';
- if ((a xor a_prev) and (b xor b_prev)) = '1' then
- -- forbidden double transition
- ab_error <= '1';
- else
- a_rise <= (a xor a_prev) and a;
- a_fall <= (a xor a_prev) and not a;
- b_rise <= (b xor b_prev) and b;
- b_fall <= (b xor b_prev) and not b;
- ab_event <= (a xor a_prev) or (b xor b_prev);
- end if;
- end process;
+ --k cemu tento prosess? jen pro prenos udalosti na piny?
+ comb_event: process (a_prev, b_prev, a, b) --proc je v sensitivity listu i stary stav?? jen kvuli nulovani?
+ begin
+ a_rise <= '0';
+ a_fall <= '0';
+ b_rise <= '0';
+ b_fall <= '0';
+ ab_event <= '0';
+ ab_error <= '0';
+ if ((a xor a_prev) and (b xor b_prev)) = '1' then -- a i b se zmenily zaroven
+ -- forbidden double transition
+ ab_error <= '1';
+ else
+ a_rise <= (a xor a_prev) and a; --a nabezna
+ a_fall <= (a xor a_prev) and not a; --a sestupna
+ b_rise <= (b xor b_prev) and b; --b nabezna
+ b_fall <= (b xor b_prev) and not b; --b sestupna
+ ab_event <= (a xor a_prev) or (b xor b_prev); --a nebo b se zmenily
+ end if;
+ end process;