mikrocontroller.net

Forum: FPGA, VHDL & Co. Ausgang vom OBUFDS auf Taktnetz setzen?


Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein LVDS-Paar als Eingang an einem Spartan3A und möchte das 
Ausgangssignal des IBUFDS gerne auf einem Taktnetz haben.

"CLK_DATA_IN" wäre hierbei das Signal was ich auf dem Taktnetz haben 
möchte, jedoch ist mir nicht klar ob oder wie das geht. Und den Ausgang 
erst wieder rauszuführen um ihn dann mit einem GCLK Pin zu verbinden 
kann ja irgendwie auch nicht die Lösung sein?

CLK__DATA_IN_BUFF : IBUFDS
   generic map (
      DIFF_TERM => FALSE, -- Differential Termination
      IBUF_DELAY_VALUE => "0", -- Specify the amount of added input delay for buffer, 
                               -- "0"-"16" 
      IFD_DELAY_VALUE => "0", -- Specify the amount of added delay for input register, 
                                 -- "AUTO", "0"-"8" 
      IOSTANDARD => "DEFAULT")
   port map (
      O => CLK_DATA_IN,    -- Buffer output
      I => CLK_DATA_IN_P,  -- Diff_p buffer input (connect directly to top-level port)
      IB => CLK_DATA_IN_N -- Diff_n buffer input (connect directly to top-level port)
   );
  

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Edit: Im Betreff sollte "IBUFDS" stehen..

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um auf ein Clock-Netzwerk zu kommen, brauchst du den IBUFGDS und 
eventuell einen BUFG dahinter.

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat soweit geklappt. Aber auch hier hätte ich wieder die Frage nach dem 
setzen der Constraints. Das "N" und "P" Signal sind ja hierbei die 
externen Signale, daraus wird mir dann ein Signal durch den IBUFGDS 
generiert. Dieses generierte Signal verwende ich z.B. zum ansteuern von 
FFs. Wie kann ich denn hierbei die PERIOD Constraints für das 
Ausgangssignal des IBUFGDS setzen? Oder funktioniert das, wie bei der 
DCM, von selbst bzw. durch das Werkzeug gesteuert?

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einfach so angeben:
NET "CLK_N" TNM_NET = "CLK_N";
TIMESPEC TS_CLK_N = PERIOD "CLK_N" 12.5 ns HIGH 50 %;
NET "CLK_P" TNM_NET = "CLK_P";
TIMESPEC TS_CLK_P = PERIOD "CLK_P" 12.5 ns HIGH 50 %;

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So sollte es auch gehen:
NET "CLK_N" TNM_NET = "CLK";
NET "CLK_P" TNM_NET = "CLK";
TIMESPEC TS_CLK = PERIOD "CLK" 12.5 ns HIGH 50 %;

Duke

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht natürlich auch. Meine Beispiele oben wurden vom PlanAhead erzeugt, 
der macht das für jeden CLK Pin einzeln. Es könnte ja auch ein 
asymmetrischer Quarzozillator sein, dann bräuchte der P meinetwegen 40% 
und der N 60% High.

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jau danke, in der Art hatte ich das auch für meine erste clock (nicht 
differentiell) gesetzt. Ich hatte  die Bedenken, dass sich die 
Constraints dann nicht auf den Ausgang des IBUFGDS beziehen da ja die 
differentiellen Eingänge in den Constraints eingetragen sind.

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.