Ustaw i przytrzymaj wyjście czasu, gdy zostanie naruszone

9

Rozważmy przerzutnik D z dodatnim zboczem z sygnałem wejściowym X z czasem ustawiania 20 ns i czasem podtrzymania 0 ns. Jaka będzie produkcja?

C jest sygnałem zegarowym o okresie 40 ns.

Wpisz opis zdjęcia tutaj

Podczas szóstego zbocza dodatniego widzimy, że dane (lub X) nie są stabilne przez 20 ns (czas ustawiania), zanim osiągną wartość od 1 do 0. Więc wynik nie jest przewidywalny, prawda?

Kiedy zapytałem o to mojego profesora, powiedział, że wyjście flip-flopa będzie wartością wejścia (X) przed 20 ns, czyli tutaj 1.

Czy on ma rację?

Zefir
źródło

Odpowiedzi:

17

Jeśli czas ustawiania przerzutnika wynosi 20 ns, oznacza to, że dane muszą być stabilne co najmniej 20 ns przed przechwyceniem zbocza zegara. Podobnie czas wstrzymania to ilość czasu, dane muszą pozostać stabilne po pojawieniu się zbocza zegara. Wspólnie definiują więc „okno instalacji”, w którym dane muszą pozostać stabilne.

wprowadź opis zdjęcia tutaj Jeśli dane zmieniają się / przełączają w tym oknie, dane wyjściowe są nieprzewidywalne lub metastabilne.

W pytaniu dane przełączają się w oknie konfiguracji przed 6. krawędzią zegara, co oznacza, że ​​wynik jest nieprzewidywalny.

Mitu Raj
źródło
Może poprawisz swojego profesora Tomo.
Mitu Raj
8
Warto wspomnieć, że w zależności od wewnętrznych opóźnień czasy wstrzymania mogą być ujemne. Oznacza to, że w przypadku niektórych układów scalonych można faktycznie zwolnić dane przed nadejściem zegara. Ale pozostaje okno, w którym dane muszą być stabilne.
WhatRoughBeast
1
Niewielka korekta: w nowoczesnych procesach prawdziwa metastabilność zachodzi tylko w oknie rzędu femtosekund. Ogromna większość przypadków naruszenia ustawień / wstrzymania nie powoduje przerzutów. Wynik w tych przypadkach będzie faktycznie deterministyczny, ale w dużym stopniu zależny od temperatury oprócz nakładów. Nadal nie zgodziłbym się z profesorem i zgodziłbym się z tobą, że wynik jest nieprzewidywalny dla wszystkich zamiarów i celów, ale metastabilność nie jest problemem (a tak naprawdę rzadko jest problemem).
jalalipop
7

Twój profesor musi ograniczyć zioła.

Ponieważ dane zmieniają się w czasie ustawiania, a ponieważ czas ustawiania to minimalna ilość czasu, zanim dane muszą być stabilne, nie jest możliwe określenie, czy wynik będzie zerowy, czy jeden. W rzeczywistości może nawet wejść w stan metastabilny i oscylować.

Trevor_G
źródło
5

Jeśli dane są stabilne między czasem ustawiania i utrzymywania, to producent zatrzasku D gwarantuje, że wyjście zatrzasku D będzie przewidywalne, co będzie znajdować się w karcie danych.

Jeśli dane zmienią się podczas instalacji, aby utrzymać okno, prawdopodobnie jest to wynik równy 0 lub 1, ale producent nie stwierdza, który z nich.

Prawdopodobnie będzie to tylko 0 lub 1, nie jest to gwarantowane. Dane wyjściowe mogą przejść do metastabilności. Oznacza to, że może istnieć skończony i nieprzewidywalny dodatkowy czas poza normalnym opóźnieniem propagacji podanym w arkuszu danych, dla którego dwie bramki napędzane tym wyjściem mogą podejmować różne decyzje dotyczące tego, czy jest to 0, czy 1. To jest zła rzecz.

Neil_UK
źródło
4

Jeśli dane wejściowe spełniają wymagania dotyczące konfiguracji i utrzymania, wówczas dane wyjściowe są zasadniczo „gwarantowane”, aby odzwierciedlić dane wejściowe; jeśli narusza czas konfiguracji, zachowanie nie jest już gwarantowane ani w pełni przewidywalne, jak mówisz.

Twój profesor może być „pewnie” w tym sensie, że może wyrażać, czym prawdopodobnie będzie sygnał wyjściowy, zwłaszcza jeśli interpretuje czas konfiguracji jako deterministyczny opis zachowania flip-flopa, zamiast minimalnego wymogu z możliwym zróżnicowaniem jednego zestawu warunków do następnego. Ale twoja interpretacja i instynkty są naprawdę celowe. Czasy konfiguracji i utrzymywania są zwykle stosowane do wyrażenia wartości min / maks, dla których można wiarygodnie przewidzieć zachowanie na podstawie zmian procesu / napięcia / temperatury, a ilekroć dane wejściowe naruszają te wartości, nie można wiarygodnie przewidzieć wyniku.

Jeśli przerzutnik ma zwykle do 20ns opóźnienia od wejścia do miejsca, w którym działa krawędź zegara, wówczas najprawdopodobniej wyjście będzie takie, jak na wejściu było „około” (do) 20ns przed krawędzią zegara, jak sugeruje profesor. Ale jedyne, co jest określone dla urządzenia, to to, że jeśli zostaną spełnione czasy konfiguracji i wstrzymania, wówczas dane wyjściowe będą podążać za danymi wejściowymi.

Innymi słowy, obaj możecie mieć rację do pewnego stopnia, ale twoja interpretacja jest w 100% słuszna, podczas gdy odpowiedź twojego profesora jest tylko „prawdopodobnie” słuszna, a stopień, w jakim jego odpowiedź będzie prawidłowa, - jak mówisz - nieobliczalny.

(I oczywiście w sensie praktycznym - a nie akademickim - użyłbyś tej odpowiedzi tylko w projekcie, w którym akceptowalne było, aby wynik w tym cyklu zegarowym wynosił „prawdopodobnie 1” bez jakiejkolwiek specyfikacji tego prawdopodobieństwa lub gdzie nie było żadnych rzeczywistych konsekwencji, że potencjalne przerzucenie flip-flopa do stanu metastabilnego „na jakiś czas”. Aplikacje te są rzadsze).

BobH
źródło
3

Dane wyjściowe będą nieznane, a symulator to odzwierciedli, ustawiając wartość wyjściową na „X”.

Oldfart
źródło