Wie puffere ich einen Hochfrequenztakt auf einem Spartan 6?

Ich versuche, eine Hochgeschwindigkeitsuhr auf meinem Spartan 6 Atlys Board zu erstellen . Der Onboard-Clock hat 100 MHz. Ich versuche, eine On-Chip-PLL zu verwenden, um einen schnelleren Takt zu erhalten. Ich verwende eine IP des Taktungsassistenten, um eine Taktung mit höherer Geschwindigkeit zu generieren.

Die Dinge funktionieren gut, solange meine Taktfrequenzen unter 400 MHz liegen. Wenn ich versuche, die Ausgangstakte schneller laufen zu lassen, sehe ich die Warnung -

"CLK_OUT1-Frequenz erfordert, dass dieser Ausgangstakt einen BUFFPLL ansteuern muss"

Das Datenblatt des Stempelassistenten gibt das an

Wenn eine Taktausgabe spezielle Puffer wie BUFPLL erfordert, die der Assistent im Design nicht generiert, werden dem Benutzer Warnmeldungen angezeigt. Das Feedback für das Grundelement kann vom Benutzer gesteuert oder dem Assistenten überlassen werden, um automatisch eine Verbindung herzustellen. Wenn automatisches Feedback ausgewählt ist, wird der Feedback-Pfad an das Timing für CLK_OUT1 angepasst.

Der Spartan 6 Clocking Guide erwähnt BUFPLL als Primitiv. Ich habe noch nie solche Entwürfe gemacht. Wie gehe ich vor. Wie erstelle ich einen BUFPLL in meinem Design? Übersteigt das einfach die Fähigkeiten eines Spartan 6 oder meines Boards?

Antworten (3)

Ich habe Spartan6 nicht speziell verwendet, aber Sie sollten in der Lage sein, eine BUFPLL- Primitive (Seite 52) zu instanziieren und die Ausgabe dessen, was auch immer vom Assistenten generiert wird, darin einzuspeisen.

Auf Seite 80 des Xilinx Spartan-6 Libraries Guide for HDL Designs finden Sie die Informationen, die Sie zur Instanziierung benötigen.

Alles über 300 MHz erfordert optimale Design- und Umgebungsbedingungen. Selbst wenn höhere Frequenzen auf dem Oszilloskop beobachtet werden, werden sie gedämpft und haben nicht den richtigen Spannungspegel.

Um höhere Taktraten zu erreichen, benötigen Sie schnellere FPGAs (Kintex-Serie usw.)

Ihr Problem scheint darin zu bestehen, einen Hochgeschwindigkeitstakt an io-logic weiterzuleiten, um diesen einem externen Peripheriegerät bereitzustellen. Wenn dies der Fall ist, benötigen Sie tatsächlich einen bufpll, um auf die io-Banken zuzugreifen. Sie finden eine Instanziierungsvorlage für Bufplls in Ihrer Ise-Umgebung (gelbe Glühbirne) oben auf Ihrem Ise-Bedienfeld. Sie finden es neben anderen nützlichen Dingen wie PLLs und DCMS unter der Registerkarte "Taktung". Kopieren Sie dies in Ihren hdl-Quellcode.

Vergessen Sie nicht, die Unisim-Bibliothek einzuschließen und dass ein Bufpll nur von Port clk0 oder clk1 Ihrer Pll gesteuert werden kann. frequenzen bis 1 ghz als io-clk sind möglich. obwohl Sie möglicherweise auch ein oddr primitv benötigen, das ebenfalls in der erwähnten Bibliothek zu finden ist.