Fragen und Antworten zu Hochfrequenzinterviews zur digitalen IC-Verifizierung (2)

Kürzlich haben einige Studenten hinter den Kulissen privat Interviewfragen gesendet, die sie noch überprüfen möchten. Das ist es also

F16. Der Unterschied zwischen „:=" und „:/" bei Gewichtsbeschränkungen

Der Operator := gibt an, dass die Gewichtung jedes Werts im Wertebereich gleich ist, z. B. [1:3]:=40, was bedeutet, dass die Wahrscheinlichkeit von 1, 2 und 3 40/120 beträgt;

Der Operator :/ bedeutet, dass die Gewichtung gleichmäßig auf jeden Wert im Wertebereich verteilt werden sollte, z. B. [1:3]:/60, was bedeutet, dass die Wahrscheinlichkeit, 1, 2 und 3 zu erhalten, 20/60 beträgt.

F17. Der Unterschied zwischen Rand und Randc

Rand: bedeutet Zufall, zum Beispiel gibt es 56 Zahlen, und die Zufallswahrscheinlichkeit jedes Mal beträgt 1/56;
Randc: bedeutet periodischer Zufall, zum Beispiel 56 Zahlen, die Wahrscheinlichkeit des ersten Zufalls beträgt 1/56 und die des zweiten zufällig Die Wahrscheinlichkeit beträgt 1/55 und so weiter.

Die Bedeutung und Verwendung von Q18.break, continue und return

Die break-Anweisung beendet die gesamte Schleife.
continue Beenden Sie diesen Zyklus sofort und fahren Sie mit der Ausführung des nächsten Zyklus fort.
Die Return-Anweisung beendet die Ausführung der Funktion und gibt den Wert der Funktion zurück (falls vorhanden).

F19: Werden nach der Ausführung der Return-Anweisung in der Funktion die verbleibenden Codeanweisungen in der Funktion weiterhin ausgeführt?

Nach der Rückkehr können die verbleibenden Anweisungen in der Funktion nicht ausgeführt werden, wodurch die Ausführung der Funktion beendet wird und der Wert der Funktion zurückgegeben wird.

F20. Der Unterschied zwischen einem Flip-Flop und einem Latch

Trigger: Taktgesteuert, von der Uhr gesteuert, der aktuelle Eingang wird abgetastet und der Ausgang wird nur generiert, wenn die Uhr getriggert wird.

Latch: Ausgelöst durch den Füllstand, asynchron gesteuert. Der Latch entspricht einem Kanal, wenn das Freigabesignal gültig ist, und der Latch behält den Ausgangszustand bei, wenn das Freigabesignal ungültig ist. Die Flip-Flops werden durch Taktflanken getriggert und synchron gesteuert.

Der Latch reagiert empfindlich auf den Eingangspegel und wird stark von der Verdrahtungsverzögerung beeinflusst. Daher ist es schwierig sicherzustellen, dass der Ausgang keine Störungen aufweist. Das Flip-Flop erzeugt nicht leicht Störungen.

F21: Warum zweistufige Flip-Flops zur Synchronisation verwenden?

Durch die Verwendung sekundärer Trigger zur Synchronisierung kann das Auftreten von Metastabilität erheblich vermieden werden:

Was die Frage angeht, warum „zweimaliges Schlagen“ die Metastabilität verringern kann, liegt meines Erachtens daran, dass das Register ein bistabiles Gerät ist und es nur zwei stabile Zustände von 0 und 1 gibt. Selbst wenn der Q-Anschluss des Flop der ersten Stufe metastabil erscheint, stabilisiert er sich in den meisten Fällen innerhalb eines Taktzyklus, sodass der Flop der zweiten Stufe einen stabilen Wert erfasst. „Two beats“ macht sich dies zunutze und unterbindet die Ausbreitung des metastabilen Zustands.

Was sind die Verstöße gegen Q22.setup und Hold?

Die Setup-Zeit bezieht sich auf die Mindestzeit, die das Signal am Dateneingangsanschluss vor der aktiven Taktflanke stabil bleiben muss.
Die Haltezeit bezieht sich auf die Mindestzeit, die das Signal am Dateneingangsanschluss nach der aktiven Taktflanke stabil bleiben muss.

Die Haltezeit-Timing-Prüfung stellt sicher, dass neue Daten die Anfangsdaten nicht überschreiben, indem sie vorzeitig am D-Anschluss ankommen, bevor die Flip-Flops die Anfangsdaten stabil ausgeben können.
[Bild]

Um es in einem Satz zusammenzufassen: Im Vergleich zu Capture Edge müssen die aktuellen zu übertragenden Daten früh kommen (Einrichtungszeit) und spät gehen (Haltezeit).

Verwendung von and, intersect oder durchgehend $past in Q23.SVA

und: Zwei Sequenzen können logisch UND verknüpft werden. Wenn beide Sequenzen übereinstimmen, ist das gesamte Attribut erfolgreich.

Beispiel:
Eigenschaft p;
Sequenz_a und Sequenz_b;
Endproperty
[ Hinweis ] Die Prüfstartpunkte von Sequenz_a und Sequenz_b müssen gleich sein, die Endpunkte der beiden können jedoch unterschiedlich sein. Der Erfolgspunkt der gesamten Eigenschaft ist die letzte erfolgreiche Sequenz von Die beiden Sequenzen Der Übereinstimmungspunkt ist der Erfolgspunkt des Attributs.
oder: Zwei Sequenzen können logisch oder kombiniert werden. Wenn eine der beiden Sequenzen übereinstimmt, ist das gesamte Attribut erfolgreich.
Beispiel:
Eigenschaft p;
Sequenz_a oder Sequenz_b;
Endproperty
[ Hinweis ] Die Prüfstartpunkte von Sequenz_a und Sequenz_b müssen gleich sein, aber die Endpunkte der beiden können unterschiedlich sein. Der Erfolgspunkt der gesamten Eigenschaft hängt von der übereinstimmenden Sequenz ab der früheste Erfolg, solange es zwei gibt. Wenn eine der Sequenzen erfolgreich übereinstimmt, wird das gesamte Attribut als Übereinstimmung betrachtet.

Die Ausdrücke auf beiden Seiten von „intersect“ sind Sequenzen und keine Eigenschaften. Wenn Sie „intersect“ verwenden, müssen Sie sicherstellen, dass die Sequenzen auf beiden Seiten gleichzeitig beginnen müssen Es wird davon ausgegangen, dass zwei Sequenzen übereinstimmen, d. h. zwei Sequenzen Die Übereinstimmungslänge muss gleich sein. Der Schnittoperator ist dem Und-Operator sehr ähnlich, erfordert jedoch nicht, dass die beiden Sequenzen gleichzeitig übereinstimmen, wenn sie schließlich übereinstimmen.

In SVA müssen einige Signale manchmal während eines Sequenzinspektionsprozesses einen Zustand aufrechterhalten. Zu diesem Zeitpunkt kann der Operator „Durchgehend“ verwendet werden. Wenn sich der Status dieser Signale unerwartet ändert, gilt die Sequenzinspektion als fehlgeschlagen.

past wird hauptsächlich verwendet, um zu überprüfen, ob der Wert des vorherigen Taktzyklus des aktuellen Ausdrucks (wenn number_of_ticks nicht angegeben ist, zeigt er standardmäßig auf den vorherigen Taktzyklus) wahr ist, und $ past gibt true zurück, wenn das Bit wahr ist. Sein Format ist wie folgt:
past(expression[,number_of_ticks]);
wobei number_of_ticks angeben kann, um den Abtastwert von number_of_ticks-Zyklen vor dem aktuellen Moment zu überprüfen.

Der Unterschied zwischen „->“ und „=>“ in Q24.SVA

@ (posedge clk) a |-> b Nach der Bestätigung der steigenden Flanke von clk beginnt Ereignis a zu passieren, und gleichzeitig tritt Ereignis b auf.
@ (posedge clk) a |=> b Nach der Bestätigung der steigenden Flanke Von clk beginnt das Ereignis a aufzutreten, und die nächste Taktflanke später beginnt das b-Ereignis aufzutreten.

F25. So schließen Sie Einschränkungen

Je nach Bedarf können Sie zur Auswahl der aktivierten und verbotenen Einschränkungsblöcke die integrierte Funktion „constraint_mode()“ verwenden, um mehrere Einschränkungsblöcke ein- oder auszuschalten, und mit der Funktion „rand_mode()“ den Zufallsgenerator ein- oder ausschalten Variablen.

F26. Was ist der Unterschied zwischen Deep Copy und Shallow Copy?

Wenn die Elemente im kopierten Objekt nur Werte und keine Referenzen haben, gibt es keinen Unterschied zwischen flacher Kopie und tiefer Kopie. Beide kopieren das ursprüngliche Objekt und generieren ein neues Objekt. Das Ändern des Werts im neuen Objekt hat keine Auswirkungen auf das Originalobjekt. Das neue Objekt wird vollständig vom Originalobjekt getrennt.

Wenn die Elemente im kopierten Objekt Referenzen enthalten (z. B. eine Liste, die eine andere Liste speichert, die Referenzen auf eine andere Liste speichert), unterscheiden sich die flache Kopie und die tiefe Kopie. Obwohl die flache Kopie das ursprüngliche Objekt kopiert, wird die Referenz trotzdem gespeichert. Wenn Sie also den Wert in der Referenz im neuen Objekt ändern, ändert sich immer noch der Wert der Liste im Originalobjekt, und das neue Objekt ist vollständig vom Originalobjekt getrennt und nicht vollständig getrennt. Die tiefe Kopie ist anders. Sie erstellt eine neue Referenz im Originalobjekt, dh eine neue Liste, und fügt dann die Referenz der neuen Liste ein, sodass das neue Objekt vollständig vom Originalobjekt getrennt werden kann.

F27. Welche Methoden werden am häufigsten für Warteschlangen verwendet?

Häufig verwendete Warteschlangenmethoden: Einfügen, Löschen, Push_back und Pop_front.
Push fügt ein, Pop entfernt
die Vorderseite von der Vorderseite und die Rückseite von der Rückseite

F28: Der Unterschied zwischen lokal und geschützt

Wenn der Zugriffstyp in der Klasse nicht angegeben ist, ist der Standardtyp des Mitglieds öffentlich, und Unterklassen und Außenstehende können auf die Mitglieder zugreifen.
Wenn der Zugriffstyp als geschützt angegeben ist, kann nur die Klasse oder Unterklasse auf die Mitglieder zugreifen, die Außenseite jedoch nicht.
Wenn der Zugriffstyp als lokal angegeben ist, kann nur die Klasse auf Mitglieder zugreifen und weder Unterklassen noch externe Klassen können darauf zugreifen.

F29: Was sind die gängigen Debugging-Methoden?

1. Anzeige drucken
2. Haltepunkt festlegen
3. Wellenformanalyse

F30. Schaden durch metastabilen Zustand

Unter Metastabilität versteht man das Versagen eines Flipflops, innerhalb einer bestimmten Zeitspanne einen identifizierbaren Zustand zu erreichen.
Der metastabile Zustand verstößt gegen die Zeitsequenz und kann nicht innerhalb der angegebenen Zeit stabilisiert werden, und der metastabile Zustand hat eine Übertragungsfunktion, die an das Flip-Flop der nächsten Stufe weitergegeben wird, was zu Schaltungsfehlern führt. Der metastabile Zustand stabilisiert sich schließlich, aber es dauert länger.

Insgesamt 150 Verifizierungsfragen für Hochfrequenzinterviews sortiert (einschließlich Antworten)
Fügen Sie hier eine Bildbeschreibung ein

Aus Platzgründen werden die Fragen zu IC-Verifizierungsinterviews nicht einzeln aufgeführt. Wenn Sie Interviewfragen benötigen und die Themen verstehen möchten, auf die im Lebenslauf geachtet werden muss, oder die Dinge, die vorher vorbereitet werden müssen Interview, Sie können zuerst den Ingenieur fragen (alle Interviewfragen können Kragen sein)

Hier ist ein Eintrag: Fragen zum IC-Verifizierungsinterview

Je suppose que tu aimes

Origine blog.csdn.net/coachip/article/details/132025886
conseillé
Classement