Forum: FPGA, VHDL & Co. Pulldowns bei Lattice


von MW (Gast)


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...

von Thomas R. (Firma: abaxor engineering) (abaxor)


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

von Martin (Gast)


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

von MW (Gast)


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....

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

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.