Forum: FPGA, VHDL & Co. Coolrunner Ausgang statisch auf Low setzen


von Hmm (Gast)


Lesenswert?

Ich möchte den Ausgang eines Coolrunner statisch auf Null setzen.

Habe dazu in der Top-level-Entity folgendes geschrieben:
1
entity xyz is
2
  port (
3
    abc     : out std_logic := '1';
4
    def     : out std_logic := '0'
5
        );

Die Signale werden absichtlich in dem gegenwärtigen Design nicht 
verändert.
Sollen aber in anderen Designs auf der selben Platine auch einmal 
dynamisch sein.

Die Signal aber die nun einen Default von '0' haben High Pegel.

Bei allen fraglichen Pins bekomme ich die Fehlermeldung:
"Xst:1306 - Output <rsync> is never assigned."
was ja soweit auch richtig ist, aber eben beabsichtigt.

Merkwürdigerweise finde ich dazu garnichts im Netz oder suche nicht 
richtig.

Hat jemand einen Tip? (Elektrische Änderungen sind leider nicht 
möglich)!

von Hmm (Gast)


Lesenswert?

Jetzt habe ich es gefunden. Sind extra Attribute wie im "Constraints 
Guide" beschrieben.

Danke trotzdem fürs lesen.

von Hmm (Gast)


Lesenswert?

Scheint irgendwie doch nicht zu klappen. Bei den Pulldowns gibt es 
Schwierigkeiten und die sind ja gerade das Problem, weil die ISE ohne 
weiteres Eingreifen die Ausgänge auf High setzt.
1
architecture -- ...
2
  attribute PULLUP: string;
3
  attribute PULLDOWN: string;
4
  attribute PULLUP of abc: signal is "YES";
5
  attribute PULLDOWN of def: signal is "YES";
6
        -- ...
7
        begin
8
        -- ...
9
end;

Anscheinend sind die Netze garnicht mehr da, wenn er auf die Attribute 
stösst:
"Cpld:1142 - PULLDOWN specified for net 'def' is ignored. The net cannot
   be located in the netlist."

Vielleicht das falsche Attribut?

von Christian R. (supachris)


Lesenswert?

Einfach im Code 0 oder 1 zuweisen und fertig. Wo ist das Problem? Kannst 
du ja nachher rauswerfen wenn du es mit Leben erfüllst.

abc <= '1';
def <= '0';

von Hmm (Gast)


Lesenswert?

>Einfach im Code 0 oder 1 zuweisen und fertig.
> Wo ist das Problem?
Ein Problem gibt es dabei nicht.

Bin nur nicht darauf gekommen, das ein Signal, dass einen Default-Wert 
noch einmal eine Zuweisung braucht. Bei Quartus ging das nämlich ohne 
zusätzliche Zuweisung.

Aber Danke erstmal.
Werde ich am Montag probieren.

Vielleicht kann noch jemand diese Lösung bestätigen?

von Duke Scarring (Gast)


Lesenswert?

Hmm schrieb:
> Bin nur nicht darauf gekommen, das ein Signal, dass einen Default-Wert
> noch einmal eine Zuweisung braucht. Bei Quartus ging das nämlich ohne
> zusätzliche Zuweisung.

Bei Xilinx werden je nach Zielarchitektur verschiedene VHDL-Parser bzw. 
Toolchains verwendet. Ich vermuten, daß an der CPLD-Toolchain schon seit 
einer Weile nichts mehr entwickelt wird.

Außerdem bilde ich mir ein, das bei meinen letzten Versuchen mit einem 
XC9536XL die Initialisierung von Signalen auch nicht ging.

Duke

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
Noch kein Account? Hier anmelden.