mikrocontroller.net

Forum: FPGA, VHDL & Co. Pulldowns bei Lattice


Autor: MW (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Thomas Reinemann (Firma: abaxor engineering) (abaxor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich kenne mich nur mit dem ECP2M aus, dort kann man aber das Verhalten 
der IOs in einem lpf-File festlegen, versuche doch mal das.

Tom

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze auch immer das LPF File, das kannst Du aus dem ISP Lever 
entweder über den Design Planner (PreMap) oder manuell über den Punkt 
Edit Preferences (ASCII) ändern.

Viele Grüße,
Martin

Autor: MW (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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
Das I/O Verhalten wird zusammen mit vielen anderen Parametern in einer 
Datei festgelegt (Xilinx *.ucf, Altera *.acf, Lattice *.lpf). Alternativ 
können diese auch als Syntheseoption im Kommentarfeld des Verilog/VHDL 
Codes mit angegeben werden. 

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.