Pulldowns bei Lattice

Gast #1600363
Lesenswert?

Hi,

ich versuche gerade pullups bei einem Lattice xp2 baustein zu setzten.
die Synthese erfolgt mit Synplify (generiert ein .edi file)
anschließend macht ispLever weiter.

folgendermaßen habe ich die Pulldowns definiert:

entity xy is
Port(
    myport   : inout std_logic
    );
  attribute PULL           : string;
  attribute PULL of myport : signal is "DOWN";
end entity xy;


Im von Synplify generierten .edi File steht nun drin:

...
           (port sensor_sda_o (direction OUTPUT)
           (property pull (string "DOWN"))
...

Warum eigentlich "OUTPUT"??? Es ist doch ein INOUT.

Im generierten .pad file sieht man dann:

...
| myport                            | G16/2              | LVCMOS25_OUT       | 
PR29B              | DRIVE:12mA SLEW:FAST PULL:UP
...

Also PULLUP anstatt PULLDOWN
Wenn ich den Pin am FPGA jedoch messe, steht dieser auf Tristate.

In der Doku steht, dass PULLUP das Defaultverhalten ist.
Warum wird mein PULLDOWN nicht registriert?

Vielen Dank schon mal...
Gast #1601969
Lesenswert?

Tja,
also mein Port taucht in dem lpf file gar nicht auf.
Es fehlen noch weitere Ports darin.
Das ist schon mal komisch.

Auch weitere Settings, wie z.B. output level Definitionen (LVCMOS18), 
wurden nicht übernommen.
Obwohl ich die Definition im Source Code wie im Lattice Handbook 
beschrieben vorgenommen habe. Auch das Syntheseergebnis (Synplify) 
bestätigt mir die Übernahme der Attribute ins .edi file.

Ich kann natürlich jetzt einfach die fehlenden Ports und Settings 
manuell im lpf file hinzufügen.
Grundsätzlich erhöht das aber nicht mein Vertrauen in den Toolflow.

Muss ich jetzt jedesmal in dem File nachschauen, ob meine Einstellungen 
übernommen wurden?

Das kann doch eigentlich nicht sein....
Moderator (Firma: Titel) Persönliche Seite #1602014
Lesenswert?

> Ich kann natürlich jetzt einfach die fehlenden Ports und Settings
> manuell im lpf file hinzufügen.
> Grundsätzlich erhöht das aber nicht mein Vertrauen in den Toolflow.
Aber genau dort ist die Stelle, wo solche Constraints angegeben werden 
sollten. Direkt im Quelltext ist die Umsetzung doch eher vom Synthesizer 
abhängig.

Zitat aus dem Artikel FPGA
1
Das I/O Verhalten wird zusammen mit vielen anderen Parametern in einer 
2
Datei festgelegt (Xilinx *.ucf, Altera *.acf, Lattice *.lpf). Alternativ 
3
können diese auch als Syntheseoption im Kommentarfeld des Verilog/VHDL 
4
Codes mit angegeben werden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren