hey ihrs,
bin neu in sachen vhdl und bin wie viele auf das bad descritpion ding
gestoßen, habe mir auhc einige per suchfunktion gezeigte threads
durchgelesen, die aber nicht ganz mein problem lösen:
1 | process( oe,sw) begin
|
2 |
|
3 | if rising_edge(oe) then
|
4 | if sw='1' then
|
5 | OUT_RST <= OUTPUT_ARRAY;
|
6 | OUT_CUP <= (others => '0');
|
7 | else
|
8 | OUT_RST <= (others => '0');
|
9 | OUT_CUP <= OUTPUT_ARRAY;
|
10 | end if;
|
11 | end if;
|
12 | end process;
|
mag funktionieren, aber mein ziel ist es, wenn days signal oe wieder
fällt (falling edge) bzw low ist, dass dann sowohl OUT_RST als auch
OUT_CUP dann beide den zustand (others => '0') einnehmen also
vollständig gecleared werden:
1 | process( oe,sw) begin
|
2 |
|
3 | if oe = '1' and oe'event then
|
4 | if sw='1' then
|
5 | OUT_RST <= OUTPUT_ARRAY;
|
6 | OUT_CUP <= (others => '0');
|
7 | else
|
8 | OUT_RST <= (others => '0');
|
9 | OUT_CUP <= OUTPUT_ARRAY;
|
10 | end if;
|
11 | else
|
12 | OUT_RST <= (others => '0');
|
13 | OUT_CUP <= (others => '0');
|
14 | end if;
|
15 |
|
16 | end process;
|
und da kommt dann der fehler.
ich scheine vhdl noch nciht ganz begriffen zu haben (wohl nicht mal im
ansatz) deswegen bitte ich euch mir zu helfen!!
danke!
gruß Hannes