Was sind die Verwendungen von Kraft - release Aussagen?
Aus hardware-Sicht, was bedeutet Kraft - release-Anweisungen Modell? Was sind die Verwendungen von Kraft - release-Anweisung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus hardware-Sicht, was bedeutet Kraft - release-Anweisungen Modell? Was sind die Verwendungen von Kraft - release-Anweisung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Kraft/release-Anweisungen sind in der Regel verwendet, um Hilfe in Simulationen.
Einem Szenario zu vermeiden X-Ausbreitung im Tor Simulationen. Der RTL-code enthält manchmal Registern ohne asynchrone resets. Obwohl die RTL-Simulationen wird sauber laufen, Tor-Simulationen oft nicht. Entweder das X nie aufgelöst, oder Sie nehmen so viele Zyklen zu beheben, so dass die Simulationen nehmen eine unpraktische Höhe der Zeit zu führen. Durch erzwingen und freigeben eines zufälligen bekannten Wert in das register beim zurücksetzen der simulation ist erlaubt, um fortzufahren, sauber und vollständig in einer fristgerechten Weise.
Einem anderen Szenario beinhaltet große Zähler. Zum Beispiel, um zu sehen, eine 32-bit-counter roll over, Bedarf es 4 Milliarden Zyklen. In der Regel möchten Sie es zu Rollen mehrmals in einer simulation. Wieder, dies könnte eine unpraktikabel enge lange Zeit zu simulieren. Die Kraft/release verwendet werden können, um die Einzahlung mit einem zufälligen Wert in den Zähler in der Nähe der roll-over Wert.
Einem anderen Szenario wird die Steigerung code-coverage - Ergebnisse. Es kann schwierig sein, zu erreichen 100% Abdeckung auf alle Metriken, insbesondere bei Verwendung von IP, die nicht modifiziert werden können. Die Kraft kann verwendet werden, um zu wechseln eine nicht verwendete signal.
Die Kraft/release sollten sparsam verwendet werden und nur, wenn Sie überzeugt sind, es gilt, dies zu tun.
Basierend auf IEEE Std 1364-2005, die Kraft prozedurale kontinuierliche Zuordnung statement überschreiben alle prozessualen Zuweisungen an eine variable oder net. Die release verfahrensrechtliche Erklärung wird zum Ende einer prozeduralen kontinuierliche Zuweisung an eine variable oder net. Der Wert der Variablen gleich bleiben sollen, bis die variable einen neuen Wert zugewiesen wird, durch eine prozedurale Zuweisung oder eine prozedurale kontinuierliche Belegung.
Beispiel:
Im obigen Beispiel und Tor
and1
gepatcht wird, arbeiten als oder Tor. Wenn Sie simulieren, Sie würden sich folgende Ergebnisse:Ohne Kraft Aussage, für
t = 10
,e
sollte gleich 0 (da1 & 0 & 1 = 0
). Mit Kraft - Anweisung überschreibt Ergebnisand1
und Krafte = 1
. Aber sobald release angewendet wirde
ist, wird der Wert ändern auf 0 (Funktionalität und Tor ist restauriert).Im obigen Beispiel können Sie auch sehen, dass Kraft/release können beide angewendet werden, um regs (
d
) und Drähte (e
). Diese Aussagen werden in testbenches, wenn Sie erzwingen möchten, bestimmt den Wert in der reg oder wire.