Artikel-ID: 000083603 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 01.08.2013

Warum die Rücksetzfunktion einen Lock-up des UniPHY NIOS Sequencers mit geringer Probablität verursachen kann, was zu einer unvollständigen Kalibrierung führen kann

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

UniPHY IP schließt die Kalibrierung nicht ab, nachdem global_reset_n oder soft_reset_n Signal für UniPHY IP bestätigt und deasseriert wurden. Das EMIF-Debugging-Toolkit kann nicht mit dieser Schnittstelle verbunden werden (Link-Projekt zu Gerät). Diese Bedingung ändert sich nicht, selbst wenn später mehrere Resets ausgegeben werden.   Dieser Zustand kann nur durch eine Neukonfiguration des Geräts wiederhergestellt werden.

Diese Symptome können durch die interne Reset-Struktur der EMIF UniPHY IP verursacht werden.  Ein Reset der Logik, die den Adressbus eines M20K-RAM antreibt, kann dazu führen, dass die Logik nicht mehr ausgeführt wird.  Dies kann die Funktionalität von M20K-Adresszeilen-/Spaltendecodern beeinträchtigen und mehr als eine Wortzeile öffnen, was zur Freigabe von Bitzellen führen kann und den Inhalt des M20K beschädigt.  Beachten Sie, dass die Wahrscheinlichkeit einer M20K-Beschädigung aufgrund von Rücksetzfunktion sehr niedrig ist.

PLL-Reset während des M20k-Lese- oder Schreibvorgangs kann auch zur Beschädigung von integriertem RAM/ROM beitragen, da der PLL-Lock-Verlust während des Resets zu einem Taktfehler führen und dies die Funktionalität von M20K-Adresszeilen-/Spaltendecodern beeinträchtigen kann.

Diese Beschädigung betrifft die UniPHY-IP, da sie einen Nios ® II Prozessor enthält, der für die Kalibrierung verwendet wird, und der Programmcode des Prozessors im M20K-RAM gespeichert ist.  Wenn die Beschädigung im Nios ® II Programmspeicher auftritt, kann dies dazu führen, dass der Nios ® II Sequenzer gesperrt wird, was zu einer unvollständigen Kalibrierung führt.  Eine Wiederherstellung dieser Situation ist nur durch eine Neuprogrammierung des Geräts möglich, da der Inhalt von M20K nur während der Geräteprogrammierung geladen wird.

Es ist wichtig zu beachten, dass die unten aufgeführten allgemeinen EMIF-Ausfälle nicht unbedingt bedeuten, dass der M20K-RAM beschädigt ist oder Nios ® II Sequencer gesperrt ist.

- Wenn die Kalibrierung niemals vergeht (d. h. die Kalibrierung schlägt immer fehl).

- Wenn die Kalibrierungsspannen sehr gering sind und gelegentlich die Kalibrierung fehlschlägt.

- Wenn das Design die Kalibrierung bestanden hat und während der Ausführung des Designs gelegentlich Datenfehler beobachtet werden.

- Wenn das Design besagt, dass die Kalibrierung bestanden wurde, aber das Design nicht wie erwartet funktioniert.

 

Lösung

UniPHY-IP-Kern verfügt über zwei Reset-Eingänge

Global_reset_n: ist mit allem in UniPHY IP einschließlich PLL verbunden.

Soft_reset_n: ist mit allem in UniPHY IP mit Ausnahme von PLL verbunden.

1. Altera empfiehlt dringend, zu jeder Zeit nur soft_reset_n zu verwenden.  Verwenden Sie global_reset_n nur für "Power on Reset".

Um PLL während des Einschaltens zurückzusetzen, verwenden Sie die folgende Sequenz

Eine.      Assert Global_reset_n (PLL-Reset)

B.     Hochfahren und Neukonfiguration des Chips

c. Nichtbehauptung Global_reset_n

2. Die Lösung ändert den internen Reset-Controller und die Reset-Struktur des UNIPHY IP-Kerns, um synchrone Resets zu verwenden, sowie eine vorkonzentrierte Deasserierung des M20K-clock_enable-Ports während einer Reset-Bedingung.  Dies verhindert, dass sich metastable Übergänge in den M20K-Adressdecode verbreiten.

Diese Lösung wird als Teil von 13.0dp1, 13.0sp1 und allen nachfolgenden Versionen von Quartus bereitgestellt.  Benutzer müssen die UnipHY-IP neu erstellen und das Design neu kompilieren.  Altera empfiehlt, auf eine dieser Versionen von Quartus umzustiegen.

Wenn eine Lösung dringender erforderlich ist oder für Quartus Version 12.1sp1 eine Lösung erforderlich ist, kann der UniPHY IP-Kern manuell aktualisiert werden.  Das folgende Verfahren muss befolgt werden:

Suchen Sie die Quelldateien für die Altera UniPHY IP in Ihrem Design.
Es gibt 5 Dateien, die geändert werden müssen.

altera_reset_synchronizer.v

altera_reset_controller.v

altera_mem_if_sequencer_mem_no_ifdef_params.sv

_if0_p0_reset.v

_if0_s0.v

Schritte

1. Laden Sie altera-reset-synchronizer.v über den folgenden Link herunter und platzieren Sie es im selben Verzeichnis wie die UniPHY-IP-Quelldateien: Altera_reset_synchronizer.v

2. Laden Sie altera-reset-controller.v über den folgenden Link herunter und platzieren Sie es im selben Verzeichnis wie die UniPHY-IP-Quelldateien: Altera_reset_controller.v

3. In altera_mem_if_sequencer_mem_no_ifdef_params.sv" – Stellen Sie sicher, dass die Eingabe "s1_clken" mit der "clocken0"-Eingabe des "the_altsyncram" verbunden ist.

4. In Instanz_if0_p0_reset.v – ändern Sie die defparam-Anweisungen für die "dut_if0_p0_reset_sync"-Instanzen, sodass die Parameter "RESET_SYNC_STAGES" und "NUM_RESET_OUTPUT" gemäß der angehängten Beispieldatei (dut_if0_p0_reset.v) eingestellt sind. (Laden Sie die Beispieldatei nicht im UniPHY IP-Quelldateiverzeichnis herunter)

dut-if0-p0-reset.v (Beispieldatei für

5. In _if0_s0.v

(Laden Sie die Beispieldatei dut_if0_s0.v nicht im UniPHY IP-Quelldateiverzeichnis herunter)

dut-if0-s0.v (Beispieldatei für _if0_s0.v)

– Fügen Sie den folgenden Port zur obersten Ebene hinzu:

kabelgebundene early_rst_controller_reset_out_reset;

– Verdrahten Sie den Ausgabeport "m20k_gate" auf dem "rst_controller"-Modul mit der "s1_clken" Eingabe des "sequencer_mem"-Moduls.  Da die M20k_gate Ausgabe aktiv und niedrig ist, müssen Sie die Ausgabe wie folgt invertieren:

.s1_clken (~early_rst_controller_reset_out_reset),sequencer_mem Zeile 785 der angehängten Beispieldatei (dut_if0_s0.v)

.m20k_gate (early_rst_controller_reset_out_reset), 2. Rst_controller Zeile 2572 der beigefügten Beispieldatei

6. Sobald diese Änderungen vorgenommen wurden, muss Ihr Design neu kompiliert werden.

 

Zugehörige Produkte

Dieser Artikel bezieht sich auf 6 Produkte

เอฟพีจีเอ Arria® V GZ
เอฟพีจีเอ Stratix® IV GX
เอฟพีจีเอ Arria® II GX
เอฟพีจีเอ Stratix® V GX
เอฟพีจีเอ Cyclone® V GX
เอฟพีจีเอ Arria® V GX

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.