Aufgrund eines Problems mit dem Arria® 10-Geräte-Sperrschloss-Erkennungsschaltkreis (fPLL) kann die fPLL einen freigeschalteten Zustand melden, wenn der Bruchmodus "Precision k" verwendet wird.
Wenn sich die fPLL im Bruchmodus befindet, ist der Feedback-Zählerwert eine Funktion von M und K (pll_dsm_fractional_division). Die Formel lautet "M (Integer) K/2^32". Die rechtlichen Werte von K sind 1 bis 2^32-1
Der "K-Faktor" wird als "pll_dsm_fractional_division/2^32" definiert,
Wenn der K-Faktor weniger als 0,1 oder größer als 0,9 ist, ist der fPLL-Festsperrenerkennungskreislauf unzuverlässig.
Wenn der K-Faktor zwischen 0,1 und 0,9 beträgt, ist der fPLL-Festsperrenerkennungskreis zuverlässig.
Beispiel
Das unten stehende Beispiel beschreibt, wann der Arria 10-fPLL-Lock-Erkennungsschaltkreis nicht zuverlässig ist.
k (Frequenz) = 100 MHz
N Zähler = 1
M Zähler = 40
K-Zähler (pll_dsm_fractional_division) = 2147483648
L-Zähler = 4
PLL-Ausgabe (Frequenz) = (Kompk. (Frequenz) / N) * ( (M ( K / 2^32) ) / L)
In diesem Fall
PLL-Ausgabe (Frequenz) = 100 * (40 (2147483648 / 2^32) ) / 4 )
= 100 * (40 0,5 ) / 4)
= 100 * (40,5 / 4)
= 100 * 10,125
= 1012,5 MHz
Da der Bruchwert 0,5 (2147483648 / 2^32, mit K = 2147483648) und zwischen 0,1 und 0,9 beträgt, ist das Sperressignal zuverlässig.
Wenn der Bruchwert weniger als 0,1 oder größer als 0,9 ist, ist das fPLL-Lock-Signal unzuverlässig. In diesem Fall können Sie die folgende Soft-IP-Lock-Erkennungslogik instanziieren
Laden Sie diese soft_lockppm_det.zip-Datei herunter
Die soft_lckppm_det.v-Datei ist verschlüsselt, kann aber für Synthese, Simulation und Hardwaretests verwendet werden.
Die Port-Liste und Die Beschreibung der Softlock-Erkennungs-Schaltkreisdatei finden Sie unten.
Port-Name | Eingabe/Ausgabe | Beschreibung |
ref_clk | Eingabe | Referenz-Takteingang für fpll |
clk_low | Eingabe | Takt niedrig von fpll, immer umschaltet, Frequenz könnte aus Ausgabe reg sein pll_locked |
dead_ref_clk | Ausgabe | Zeigt an, dass der Referenz-CLK nicht schnell genug umschalten kann und als tot gilt. Der Standardschwellwert wird durch den Modulparameter PPM_THRESHOLD_FOR_DEAD_CLK |
calibration_done | Eingabe | cal_done von fpll. Kann als sekundäres Reset betrachtet werden |
config_en | Eingabe | Konfigurations-Port aktiviert |
config_clk | Eingabe | Konfigurations-Port-Takt |
config_data | Eingabe | Konfigurations-Port-Daten. Wenn die config_en hoch ist, werden die Daten am ansteigenden Rand der config_clk erfasst und in die internen Register verschoben, in der Schwellenwerte für Lock- und Dead-Clock-Bedingungen gespeichert werden. Die Registerbreite wird durch den Modulparameter CLK_LOW_CNT_WIDTH definiert. Daher müssen sich alle Zyklen bei allen Daten um 2* CLK_LOW_CNT_WIDTH Zyklen ändern. Der Schaltvorgang beginnt bei der LSB des Registers für den Sperrzustand. Nach 2* CLK_LOW_CNT_WIDTH Zyklen wird der Wert auf config_data zum MSB-Register für dead_lock Bedingung. |
Zurücksetzen | Eingabe | Zurücksetzen von FPLL |