Hallo zusammen,
momentan bastele ich einem Counter der je nach Ereignis hoch und runter
zählt. Dazu habe ich einen synchronen Prozess verwendet:
1 | signal cnt: integer range 0 to 10;
|
2 |
|
3 | ...
|
4 |
|
5 | begin
|
6 |
|
7 | counter_p : process (clk, reset_n)
|
8 | begin
|
9 | if reset_n = '0' then
|
10 | cnt <= 0;
|
11 | elsif rising_edge(clk) then
|
12 | if (ir_disable = '1' and (cnt < 10) then
|
13 | cnt <= cnt+1;
|
14 | elsif (ir_enable = '1' and cnt > 0) then
|
15 | cnt <= cnt-1;
|
16 | end if;
|
17 | end if;
|
18 | end process counter_p;
|
Meine Fragen sind nun, ensteht durch den fehlenden "else"-Zweig ein
Latch ? Ist der Code so synthetisierbar ?
Gruß
Bohrhans