www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Der UCF-Standard


Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Wenn man ein VHDl_Model erstellt hat, dann erzeugt man auch ein 
UCF-File, damit die Ports der Entity den tatsächlichen Pins zugewiesen 
werden.

Z.B:
Net sys_clk_pin LOC=AE14;
Net sys_clk_pin IOSTANDARD = LVCMOS33;
Net sys_rst_pin LOC=D6;
Net sys_rst_pin PULLUP;
## System level constraints
Net sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;
Net sys_rst_pin TIG;

## IO Devices constraints

#### Module RS232_Uart constraints

Net fpga_0_RS232_Uart_RX_pin LOC=W2;
Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;
Net fpga_0_RS232_Uart_TX_pin LOC=W1;
Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;


Nun wollte ich fragen, ob es hierzu einen Standard gibt oder eine art 
Dokumentation, in welcher steht, was man mit den Pins alles anstellen 
kann?

Z.B. Der Reset-Eingang wird als Pullup definiert. Könnt ihr mir bitte 
ein paar Tipps geben.

Danke

Tschüss
Martin

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein tieferer Blick in das Datenblatt des Bausteines sollte schon male 
weiterhelfen

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>Wenn man ein VHDl_Model erstellt hat, dann erzeugt man auch ein
>UCF-File, damit die Ports der Entity den tatsächlichen Pins zugewiesen
>werden.

Ja, UCF heisst User Constrain File, legt also die anwenderspezifischen 
Eigenschaften von Pins/Signalen fest.

>Nun wollte ich fragen, ob es hierzu einen Standard gibt oder eine art
>Dokumentation, in welcher steht, was man mit den Pins alles anstellen
>kann?

Im Datenblatt des FPGAs bzw. in der Doku von ISE, da gibt sein User 
Constraints Guide als PDF.

MfG
Falk

Autor: Artur Funk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Google oder Xilinx, Stichwort: Constraints Guide.pdf
Da steht so ziemlich alles...

Autor: Christian Peters (kron)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du bei Google mal Constraints Guide.pdf eingegeben?
Also in den ersten 2 Seiten taucht da nix vernünftiges auf!
(Als erster Treffer aber dein Beitrag)

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Leute mit extremer Googledysfunktionistis.

http://toolbox.xilinx.com/docsan/xilinx92/books/do...

MfG
Falk

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ausbaufähig, aber ein Anfang: Ucf

Rick

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute!

Danke für die Hilfe.

Ich habe mich jetzt etwas damit beschäftigt und noch ein paar Fragen:

Net fpga_0_RS232_Uart_RX_pin LOC=W2;
Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;
Net fpga_0_RS232_Uart_TX_pin LOC=W1;
Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;

net ssenable_pin loc=AA24;
net ssenable_pin IOSTANDARD = LVCMOS18
net ssclkout_pin loc=AC25;
net ssclkout_pin IOSTANDARD = LVCMOS18
net ssdata_pin loc=AC24;
net ssdata_pin IOSTANDARD = LVCMOS18

Die Pins ssenable_pin, ssclkout_pin, ssdata_pin haben laut OSZI eine
Ausgangsspannung von ca. 4V
Ich selbst habe jetzt wie oben gezeigt die drei Zeilen
net ssenable_pin IOSTANDARD = LVCMOS18
net ssclkout_pin IOSTANDARD = LVCMOS18
net ssdata_pin IOSTANDARD = LVCMOS18
eingefügt.

Der Code wurde synthetisiert und runtergeladen, aber es hat sich
an der Ausgangsspannung der einzelnen Pins nichts verändert.

Dumme Frage: Warum?

Ich bin euch für eure Hinweise dankbar.

Tschüss
Martin

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>Die Pins ssenable_pin, ssclkout_pin, ssdata_pin haben laut OSZI eine
>Ausgangsspannung von ca. 4V

Das ist ein wenig viel. Die Spartan FPGAs vertragen normalerweise max. 
3.6V IO-Spannung. Ist dein Tastkopf in Ordnung und das Oszi richtig 
eingestellt?

>Ich selbst habe jetzt wie oben gezeigt die drei Zeilen
>net ssenable_pin IOSTANDARD = LVCMOS18
>net ssclkout_pin IOSTANDARD = LVCMOS18
>net ssdata_pin IOSTANDARD = LVCMOS18
>eingefügt.

>Der Code wurde synthetisiert und runtergeladen, aber es hat sich
>an der Ausgangsspannung der einzelnen Pins nichts verändert.

>Dumme Frage: Warum?

Weil die Einstellung des IO-Standards nur intern ein paar Sachen 
konfiguriert, aber nicht die Versorgungsspannung der IOs. Diese 
bestimmt, welche Spannung aus den IOs kommt. Wenn man also 1.8V CMOS 
haben will, muss man 1.8V IO-Spannung anlegen.

MFG
Falk

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es sind doch nur 3,3V.
Mein Technikerauge ist heute nicht besonders scharf.

Ich beschäftige mich momentan mit dem Virtex4 FPGA XC4VFX12.
Also, ich habe mir das ML403-Board zugelegt.

Auf dem Board selbst sind ja ne Menge Speicherelemente SRAM, FLASH usw.
Der FPGA selbst hat ja BRAM eingebaut oder besitz er auch internes 
Flash? Leider kenne ich mich bei der Hardware nicht ganz so aus.

Tschüss
Martin

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>Ich beschäftige mich momentan mit dem Virtex4 FPGA XC4VFX12.

Das ist schon ein ziemlich guter Baustein!

>Der FPGA selbst hat ja BRAM eingebaut oder besitz er auch internes
>Flash?

Nein.

> Leider kenne ich mich bei der Hardware nicht ganz so aus.

Dann solltest du die Datenblätter studieren. Ist zwar ne menge Holz, 
aber s ist ja auch ein grosses und leistungsfähiges FPGA.

MFG
Falk

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß.
Das mit den Datenblättern bleibt nicht aus.

Aber es kann nicht schaden, wenn man sich im Vorhinein ein paar Infos 
holt, weil man sich dann auch mit den Datenblättern etwas leichter tut.

Korrigiert mich bitte, wenn ich mich täusche:
Schaltet man das FPGA-Board ein, so wird der Inhalt des Flashes, welcher 
sich extern befindet in das BRAM kopiert. Das VHDL-Model befindet sich 
dann im BRAM.

Stimmt es, dass die VIRTEX5-FPGAs internes Flash besitzen?

Danke für eure Antworten und eure Geduld.
Tschüss
Martin

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin (Gast)

>Korrigiert mich bitte, wenn ich mich täusche:
>Schaltet man das FPGA-Board ein, so wird der Inhalt des Flashes, welcher
>sich extern befindet in das BRAM kopiert. Das VHDL-Model befindet sich
>dann im BRAM.

Nein. Beim Einschalten wird die KONFIGURATION vom externen FLASH in den 
KONFIGURATIONSSPEICHER des FPGA geladen. Das hat mit den BRAMs nichts zu 
tun.
Logisch gesehen befindet sich dann die VHDL-Beschriebung im FPGA, aber 
das ist die SYNTHETISIERTE VErsion.

>Stimmt es, dass die VIRTEX5-FPGAs internes Flash besitzen?

Nein. Das hat nur Spartan3 NV.

MFG
Falk

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.