Hallo frage wie ist es möglich zb von einem mein_bus : out std_logic_vector(25 downto 0); Beim instanzieren nur bin 0 bis 20 abzugreifen und die restlichen auf open zu setzen? Hoffe ihr versteht was ich meine. lg Mike
Hallo hm ich habs jetzt so probiert, die reine Analysis und Synthese im Quartus funktioniert. Allerdings war das nur ein beispiel das ein paar Pins verdreht.
1 | buss_u : buss |
2 | port map ( |
3 | input => input, |
4 | output(2 downto 0) => output(2 downto 0), |
5 | output(4 downto 3) => open |
6 | );
|
Mike schrieb: > output(4 downto 3) => open Und was soll der Ausgangspin dann tun? Hochohmig sein? Oder einen definierten Pegel ausgeben?
>> Und was soll der Ausgangspin dann tun?
warscheinlich wohl wegoptimiert werden. Manchmal ganz nützlich wenn man
Module mehrfach nutzt, aber nicht jedesmal alle Bits benötigt.
(klar, nur sinnvoll bei internen Modulen nicht tatsächlichen Pins, aber
Mike schrieb ja das es nur ein Beispiel ist)
Meiner Erfahrung nach unterstützt Quartus das, ISE jedoch nicht (Stand
10.x).
Sinnvoller ist es jedoch einen "vollen" Ausgabevektor zu definieren und
davon abzugreifen, das unterstützen alle Tools:
port map (
...
output => output);
...
output_part <= output(2 downto 0);
abc schrieb: > nur sinnvoll bei internen Modulen, nicht tatsächlichen Pins Richtig. > aber Mike schrieb ja das es nur ein Beispiel ist Es kommt bei solchen Beispielen aber sehr darauf an, ob es um interne oder externe Ports geht... > Meiner Erfahrung nach unterstützt Quartus das, ISE jedoch nicht Offene Ausgangssignale von internen Modulen gingen doch auch in der ISE schon immer. Eingangssignale müssen auf einen definierten Pegel gelegt werden...
Stimmt, hatte was mit den Ports and Teilbeschaltung in Erinnerung, war aber betreffend Inputports: signal input1 : std_logic_vector(3 downto 0); signal input2 : std_logic_vector(3 downto 0); ... port map(input <= input1 & input2); (Input = 8 Bit Vektor) Das wars was ISE nicht unterstützt hat. Keine Ahnung ob sie es mittlerweile tun. Aber genau aus solchen Gründen würde ich immer eine Beschreibung wie oben wählen, bei der nur gesamte Vektoren jeweils zugewiesen werden. Man weiß nie welches Tool man später mal mit dem Code füttern will. Hab mittlerweile einige Wechsel durch mit dem selben Code (typische Bibliothek Module) Quartus 7 -> ISE 10 -> Synplify -> Quartus 10 Dazu parallel immer noch Modelsim. Und fast immer gabs ausgefallene Schreibweisen die Tool a problemlos unterstützt, Tool b aber wiederum nicht. Wobei Quartus bisher die wenigsten Probleme gemacht hat beim Wechsel, was aber Zufall gewesen sein kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.