Hallo,
ich bin auf der Suche nach etwas Hilfe bei meinem aktuellen Projekt. Es
ist für ein Praktikum hier im Studium und es ist recht neu für mich,
leider war die Themenwahl nicht frei :(
Es geht darum, dass ich in einem Teilprjekt (mein Partner macht den
anderen Teil) LVDS Daten abspeichern muss. Dazu sollen wir ein Board,
bestückt mit einem Spartan3A-DSP XC3SD1800A, verwenden.
Die LVDS Signale werden an die Samtec Steckverbinder geführt und müssen
nun verarbeitet werden.
Da ich mich mit FPGAs bisher nur rudimentär beschäftigt habe, habe ich
recht großen Bammel/Respekt vor dieser Aufgabe und wollte nun erst
einmal anfangen, einen LVDS Takt auszugeben. Einfach um zu schauen, wie
händle ich die Bitsignale und wandle diese in LVDS um... das denke ich
erleichert mir dann den Weg rückwärts, also die LVDS Signale in
verwertbare Signale zu wandeln.
Ich habe auf dem Board zwei Oszillatoren, 25,xxMHz und 125MHz. Ich
wollte den 125MHz Takt nun einfach mal an zwei Pins als LVDS ausgeben.
Dazu sind laut Datenblatt ja nur die Bänke 0 und 2 geeignet, 1 und 3
können wohl nur LVDS entgegennehmen.
Wie gehe ich nun am besten vor. Ich habe bisher nur den Takt halbiert
und habe damit eine LED blinken lassen:
1 | entity Takt_LED is
|
2 | Port ( CLOCK : in STD_LOGIC;
|
3 | LED : out STD_LOGIC);
|
4 | end Takt_LED;
|
5 |
|
6 | architecture Behavioral of Takt_LED is
|
7 | signal clk_halbe : STD_LOGIC;
|
8 |
|
9 | begin
|
10 | process (BLINK)
|
11 | begin
|
12 |
|
13 | if rising_edge(CLOCK) then
|
14 | clk_halbe <= not clk_halbe;
|
15 | end if;
|
16 | end process;
|
17 |
|
18 | COUNT_OUT <= clk_halb;
|
19 |
|
20 | end Behavioral;
|
Nun habe ich leider keine Ahnung, wie ich die Bausteine IBUFDS und
OBUFDS richtig einsetze. Wobei ich für die Ausgabe ja nur den OBUFDS
benötige. Wie verschalte ich die Variable clk_halbe z.B. mit dem Eingang
des OBUFDS und welche Maßnahmen muss ich noch treffen, dass es
funktioniert.
Welche I/O Spannung (das Board kann 2,5V oder 3,3V per Jumper) muss ich
einstellen? Laut Datenblatt sollen wohl beide gehen, zumindest lese ich
das so heraus, aber ganz sicher bin ich mir leider nicht.
Ich wäre für Hilfe Sehr sehr dankbar!
Andreas