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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.