계단식 D- 플립 플롭은 왜 전이성을 방지합니까?


15

나는 metastability가 무엇인지 이해하지만 플립 플롭을 연결하는 것이 어떻게 이것을 감소시키는 지 이해하지 못합니까?

첫 번째 플립 플롭의 출력이 준 안정 가능하면 두 번째 플립 플롭의 입력으로 사용됩니다. 그러나 두 번째 플립 플롭 이이 입력으로 무엇을 할 수 있고 안정적으로 만들 수 있는지 알 수 없습니다.

미리 감사드립니다!


2
항상 Buridan의 엉덩이를 언급 할 수있는 기회를 찾고 있습니다 : en.wikipedia.org/wiki/…
copper.hat

답변:


11

전이성은 '치료'될 수 없지만, 충분히 오래 기다리면 , 발생 가능성을 임의로 줄일 수 있습니다. 우주 시대에 한 번 내려 가면 문제를 일으킬 가능성이 거의 없습니다.

그것은 요점에서 연필의 균형을 잡는 것과 같습니다. 넘어 질 가능성이 높고 기다릴수록 서있을 가능성이 줄어 듭니다.

오랜 시간 대기하는 데에는 두 가지 문제가 있으며 그 중 하나가 기본입니다.

근본적인 문제는 비동기 외부 시스템에서 출력을 수신하는 클럭 시스템에 단일 메모리 요소 (래치 또는 플립 플롭, 둘 다 메타 스타 빌리티로 고통받는 경우)가 있으면 물리적으로 대기 시간의 하한을 정의 할 수 없다는 것입니다 때로는 외부 신호가 래칭 제어 에지 근처에서 전환됩니다. 신호를 다른 플립 플롭으로 파이프 라인하여 파이프 라인에서 기다리도록해야합니다. 이를 통해 1 클럭 사이클 최소 대기 시간이 보장됩니다.

두 번째 문제는 가능한 한 빨리 시스템을 실행하려고하며 두 번째 플립 플롭에서 충분한 시간을주기 위해 시스템 클럭 속도를 늦출 수 없다는 것입니다. 처리량을 줄이지 않고 신호 대기 시간을 필요한 수준으로 늘리는 유일한 방법은 대기 단계를 더 많은 단계로 파이프 라인하는 것입니다.

어떤 사람들은 플립 플롭 사이에서 일어나는 일을 시각화하는 데 어려움을 겪습니다. 전이성을 유도하는 두 가지 방법이 있으며 둘 다 플립 플롭 규칙을 위반하는 것과 관련이 있습니다. 한 가지 방법은 입력 설정 및 유지 시간을 위반하여 플립 플롭이 입력이 안정적 일 것으로 예상 할 때 전환하는 것입니다. 다른 하나는 플립 플롭 데이터 입력이 중간 전압 레벨에 있도록하기 위해 입력 로직 레벨을 위반하는 것입니다. 준 안정 상태 인 플립 플롭은 출력에 대한 위반 유형을 생성하여 다음 플립 플롭으로 캐스케이드 할 수 있습니다.


6
예를 들어, 내가 칩 디자인을 할 때 나는 메타 스타 빌리티, 모든 시계 교차점을 '소유'했다. 우리는 수학을 수행하고 각 플롭, 플롭 그룹 등에서 동기화 실패의 가능성을 알아 냈습니다. 결과가 무엇인지 살펴 보았습니다. ... ... 디스플레이의 픽셀이 거의 깨질 수 있습니다. 결국 칩 전체에서 2 년에 한 번 정도 내려 왔습니다. 이것은 당시 Win95의 그래픽 카드였습니다. 약 하루에 우리는 아무도 2 년의 MTBF 동기기를 알아 채지 않기로 결정했습니다.
Taniwha

7
또한 아무도 언급하지 않는 한 가지는 절대 최악의 전이성 실패로 발생하는 것입니다. 때때로 동기화 실패는 어쩌면 높은 디지털 주파수에서 아마도 최저 디지털 주파수와 최저 레벨 사이에서 플롭이 진동합니다. 그래서 문제로에 지불 관심을 - 얻을 안티 준 안정성 싱크로 나이저가 큰 현재의 결과 (물건 팬 아웃으로) 과열 및 칩 죽음 잠재적으로 무 잡음이 화제의 재해는 모든 다운 스트림 플롭을 감염시킬 수 있음을 퍼
Taniwha

@Neil_UK 혼란스러워하는 단어 래치를 사용합니다. 내 서클에서 래치는 비동기 요소입니다. 명확성을 위해 플립 플롭이라고 부릅니다.
jalalipop 12

1
@jalalipop 나는 플립 플롭을 의미하기 위해 걸쇠를 사용하고 있었지만, 그것을 사용하기 시작한 이후 수십 년 동안 그 의미가 바뀌 었습니다. 'latch'는 일반적으로 비동기 투명 유형을 의미하지만 동의 입력의 '래칭'에지에서 데이터가 변경되면 메타 스타 빌리티로 고통받습니다. 마스터 슬레이브 플립 플롭은 일반적으로 클록에 의해 역 위상으로 구동되는 한 쌍의 래치로부터 내부적으로 구축됩니다. 언급 해 주셔서 감사합니다. 명확하게 답변을 수정하겠습니다.
Neil_UK

@ Tamiwha 해결하려는 래치의 내부 동작을 명확하게하기 위해 다이어그램과 시간 상수 및 수학으로 답변을 제공 할 수 있습니다. 루프 게인과 재생 ​​시간 상수 및 노이즈 플로어 (열 및 VDD)가 해결 능력에 어떤 영향을 미치는지 보여 주어야합니다.
analogsystemsrf

9

신호가 실제로 사용될 때까지 더 많은 시간을 허용함으로써 회로에 영향을 미치는 전이 가능성을 줄입니다. 2 개의 플립 플롭을 사용하면 신호가 안정화 될 수 있도록 추가 클럭 사이클이 가능합니다. 세 개를 사용하면 두 개의 추가 클럭 사이클이 가능합니다.


2
좋은 대답입니다. 중요한 점은 전이성이 예방 되지 않는다는 것입니다 . 우리는 단지 확률을 허용 가능한 수준으로 줄입니다.
Elliot Alderson

1
따라서 캐스케이드 플립 플롭은 신호가 0과 1 사이에서 시간을 정할 수 있지만 잘못된 값을 해결하지 못합니까? 준 안정 신호가 양방향으로 떨어질 수 있기 때문에?
Wouter A

2
@WouterA 그것이 준 안정적이라면 두 값이 모두 맞습니다.
user253751

4
나는 이것이 좋은 대답이라고 생각하지 않습니다.이 경우 첫 번째 플롭 만이 입력 신호를 샘플링하는 것입니다. 위에서 언급 한 바와 같이 어떤 특정 플롭에서 (플롭의 내부 피드백 루프의 게인, 클럭 속도 및 샘플링되는 것이 입력 임계 값 사이를 통과하는 속도에 따라) 전이성이 발생할 가능성이 있습니다. 작은 숫자 <1 = p-두 개의 플롭은 MS에게 2 개의 플롭, 3 p ^ 3 등을 전달할 수있는 p ^ 2 기회를줍니다
Taniwha

4

메타 스타 빌리티가 출력에 영향을 미치는 것을 막지는 않지만, 메타 스타 빌리티가 비교적 긴 기간이어야하므로 사고 사이의 평균 시간을 크게 늘릴 수 있습니다.

계단식으로 잘 디자인 된 3 개 이상의 플립 플롭은 지구의 나이와 같은 사건 사이의 시간을 증가시킬 수 있습니다.


클럭 속도 및 프로세스 기술에 따라 다릅니다. 한 번의 플립 플롭으로 MTBF가 무한대로 충분할 수 있습니다.
jalalipop 12

트윗 담아 가기 원래 IEEE 논문에는 실제 테스트 정보가 있습니다. DOI : 10.1109 / TC.1983.1676187
Spehro Pefhany

@jalalipop : 일반적으로 이는 느슨한 시간을 보장 할 수없는 경우와 관련이있는 문제입니다. 각 클럭이 위상 잠금 상태가 아닌 경우 CPU 코어와 SOC간에 통신하는 FIFO와 같은 비동기식 설계입니다. 그렇지 않으면 하드 설정 시간 만 설정하면 메타 스타 빌리티가 발생하지 않습니다.
jbord39

그렇습니다. 메타 스타 빌리티는 비동기 인터페이스에 대한 문제입니다. 필자가 언급 한 슬랙은 플립 플롭 후 동기 로직의 슬랙이다. 여유가 크면 Metastability 이벤트가 나머지 디자인에 영향을주기 전에 종료됩니다.
jalalipop

2

첫 번째 플립 플롭은 준 안정성이라하더라도 클럭의 모든주기를 안정화시킬 것이다. 제 2 플립 플롭이 제 1 플립 플롭을 샘플링 할 때까지, 그 출력은 이미 안정 될 수있다.


1

전이성에 대한 흥분을 원한다면, 두 개의 매우 느린 인버터를 구현하고, 연속적으로 연결하고, VDD / 2에서 (시뮬레이션으로) 바이어스하십시오. 그런 다음 바이어 싱을 제거하고 logic1 및 logic0 레벨로 분해되는 속도를 확인하십시오. VDD / 2 이외의 초기 바이어스 전압을 선택해야 할 수도 있습니다.

클럭주기에 비해 2 개 또는 3 개의 플립 플롭이 느리면 수명에 문제가 생길 수 있습니다.


1

메타 스타 빌리티는 단순히 클럭을 참조하는 특정 시간 내에 데이터 전환이있는 경우 클럭 에지 이후 특정 기간 동안 출력이 제대로 작동하지 않음을 의미합니다. 그러나 창은 고정 된 간격이 아닙니다. 오히려, 잘못된 값 (진동 또는 중간 전압 레벨)의 가능성은 시간이 지남에 따라 기하 급수적으로 감소합니다. 따라서 클럭으로 신호를 샘플링 한 다음 클럭을 두 번째 플립 플롭에 적용하기 전에 비트를 기다리면 불량 비트의 확률을 원하는 (0이 아닌) 확률로 줄일 수 있습니다. 필요한 시간이 너무 길면 3 개 이상의 플립 플롭을 직렬로 사용할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.