Lutz Laserblick schrieb:
> sesaströs
Gefällt mir, dieses neue Wort...
> Mang
Mangomang!
baumhous3 schrieb:
> Okay, aber wie könnte ich das ganze denn aufteilen
Was?
> ohne das ich diese hinbekomme?
Welche?
Du willst die kombinatorische Schleife weghaben?
Dann mach einen Takt in den Zähler. Denn ein Zähler braucht
Speicherglieder, um den aktuellen Zählerwert festzuhalten.
Und Speicherglieder sind in FPGAs immer Flipflops.
Und Fipflops brauchen einen Takt.
Probiers einfach mal so:
1 | process(clk)
|
2 | begin
|
3 | -- Totzeit HB_top
|
4 | if rising_edge(clk) then
|
5 |
|
6 | if pwm_out = '1' AND (delayt < 199) then
|
7 | delayt <= delayt + 1;
|
8 | delayb <= 0;
|
9 | elsif (delayt = 199) then
|
10 | HB_top <= pwm_out;
|
11 | end if;
|
12 | -- end if; --<<< mach das hier hier weg!!!
|
13 |
|
14 | -- Totzeit HB_bot
|
15 | if pwm_out = '0' AND (delayb < 199) then
|
16 | delayb <= delayb + 1;
|
17 | delayt <= 0;
|
18 | elsif (delayb = 199) then
|
19 | HB_bot <= NOT pwm_out;
|
20 | end if;
|
21 |
|
22 | end if; --<<< und dafür hier rein!
|
23 |
|
24 | end process;
|
Also: nicht einfach nur irgendwelchen Code irgendwo herkopopieren,
sondern auch kapieren...