Hallo! Ich versuche schon seit längerem diesen Multiplexer in VHDL umzusetzen. Da ich Anfänger bin, stehe ich da vor einem echten Problem. Ich möchte die beiden Ausgänge Y1 und Y2 jeweils mit unterschiedlichen Signalen ansteuern. S0 bis S2 sind dabei meine Steuereingänge für den Mux. Für die einzelnen Funktionen ergeben sich folgende Zusammenhänge: S0 (Switch0 or Switch1) S1 (Switch10 or Switch11) S2 (Switch15) Wie kann ich das in VHDL umsetzen? Ich bekomme das einfach nicht auf die Kette. Danke für das Feedback! Gruß
Gast
#6101056
with s select
y <= "00" when "000",
"01" when "001",
...
"11" when "111";
> Ich bekomme das einfach nicht auf die Kette.
Du bist nur faul!
Gast
#6101354
Solche selbsterklärenden Dinge müssen beim Lesen klar sein. Wer da schon ein Problem hat, der sollte die Finger von Digitaltechnik lassen, denn der hat ein Denkproblem und kriegt es wohl auch nicht hin, seinen Hamburg-Besuch zu planen: Hagenbeck_Zoo <= summer and (not raining) and enough_money Hagenbeck_Aquarium <= ((not summer) or (summer and raining)) and enough_money Planten_un_Blomen <= (not raining) and (not enough_money) Europa_Passage <= raining and (not enough_money)
Stefan M. schrieb: > Wie kann ich das in VHDL umsetzen? Das sind effektiv 2 nebenläufige "when else" Zuweisungen. > Ich bekomme das einfach nicht auf die Kette. Was hast du denn schon? Und wo genau klemmt es? Stefan M. schrieb: > S0 (Switch0 or Switch1) > S1 (Switch10 or Switch11) > S2 (Switch15) Also etwa so?: S(0) <= Switch0 or Switch1; S(1) <= Switch10 or Switch11; S(2) <= Switch15; > S0 bis S2 sind dabei meine Steuereingänge für den Mux. Wenn du es schlau angelegt hast, dann hast du diese Select-Eingänge genauso wie den Eingangsvektor a als std_logic_vector(2[bzw 4] downto 0) angelegt. Dann kannst du das z.B. so zuweisen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
Ich habe das Programm zum Testen entsprechend
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
mittels nebenläufigen Anweisungen aufgebaut,allerdings ist nun das Problem, dass ich nur Y1 oder Y2 zum Schalten verwenden kann, beide zusammen funktionieren nicht.Da bekomme ich Errors in Zeile Y2: type 'boolean' does not match with a string literal.Syntax error near "others". Das ist eigentlich Quatsch, da Y2 ohne Y1 funktioniert. Was könnte das Problem sein?
Stefan M. schrieb: > Was könnte das Problem sein? Dass du das "with select" für Y2 nicht korrekt verwendest.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.

