Hallo
eine Frage zum Latch. Ich möchte auf einem 12 bit Ausgang entweder ein
Signal oder das anderes Signal geben also ein Switch. Im 3 fall soll er
auf beim letzten Wert bleiben. Dazu habe ich folgendes programmiert :
1 | FLASH_ENABLE : in std_logic;
|
2 | -----------
|
3 | Signal BRAM_WRITE_OR_READ_ENABLE : std_logic:='0';
|
4 | Signal BRAM_OUT_DATA_1 : std_logic_vector (11 downto 0);
|
5 | Signal SWITCH : std_logic_vector (1 downto 0);
|
6 |
|
7 | begin
|
8 | SWITCH <= (BRAM_WRITE_OR_READ_ENABLE, FLASH_ENABLE);
|
9 |
|
10 |
|
11 | with SWITCH select
|
12 | WEITERGABE_DATEN_BRAM<= BRAM_OUT_DATA_2 when "01",
|
13 | BRAM_OUT_DATA_1 when "11",
|
14 | WEITERGABE_DATEN_BRAM when others;
|
Jetzt kommt die Warnung Latch gefunden... und im Prinzip will ich ja
auch ein Speicherzustand.
So ist das gutes Design? Oder kann ich die auch schöner umschreiben, so
das das Signal immer hin und her Schaltet und beim 3 Fall da bleibt wo
er zu letzt war.
Danke
Gruß Igor