왜 플립 플롭이 클록의 상승 에지에서 트리거 되는가?


14

일반적으로 디지털 설계에서는 1에서 0으로의 전환 (음의 에지 트리거)이 아닌 0에서 1 로의 클록 신호 전환 (포지티브 에지 트리거)에서 트리거되는 플립 플롭을 처리합니다. 순차 회로에 대한 첫 번째 연구 이후로이 규칙을 알고 있었지만 지금까지는 의문을 제기하지 않았습니다.

포지티브 에지 트리거와 네거티브 에지 트리거 중 임의의 것이 선택됩니까? 또는 포지티브 에지 트리거 플립 플롭이 우세한 실용적인 이유가 있습니까?


2
이런 종류의 일이 일어나는 대부분의 방식은 누군가가 일방 통행을하고 다른 누군가가 하드웨어를 호환해야하고 똑같이하는 일이며 몇 년 후에 우연히 표준이됩니다.
코너 울프

1
나는 주로 Falling Edge가 트리거되는 Flip-flops로 작업합니다. 나는 정확히 반대되는 질문을했다!
Swanand

답변:


10

최고의 추측 : 긍정적 인 추세는 1970 년대 이전에 가능한 한 작은 영역 / 부품을 사용하려고하는 디자인의 부산물입니다 . 웨이퍼 당 칩 수를 늘려 생산을위한 비용 절감 조치. 최신 pos / neg-edge DFF는 종종 총 면적이 동일하므로 긍정적 인 경향은 이제 레거시 관행입니다.

영역 절약은 "클래식"D- 플립 플롭 디자인으로 이루어졌습니다. D- 플립 플롭의 최신 마스터 / 슬레이브 구성 요소는 두 개의 5 트랜지스터 래치를 사용할 수 있습니다. 1984 년 3 월 23 일에 출원 된 특허 WO1984003806 A1US4484087 A. 8- 트랜지스터 D- 래치 특허는 1970 년 2 월 6 일에 출원되었고; US3641511 . SR / SnRn 기반의 단순 설계를 위해 언급 된 D-latch / S-cell 특허를 사용하는 설계의 경우 래치를 "클래식"및 "현대"라고합니다.

IC 설계에서 NAND 게이트는 NMOS 및 PMOS의 특성으로 인해 NOR 게이트보다 적은 면적을 사용합니다. 면적 절약형 트렌드 캐스케이드가 형성됩니다. SnRn 래치 형태의 D 래치는 SR 래치보다 작습니다. 클래식 D- 플립 플롭 디자인은 이러한 로직 게이트를 기반으로합니다. 여러 디자인을 검색 한 후 클래식 포지티브 에지 디자인은 항상 클래식 네거티브 에지 디자인보다 작습니다. 칩 비용이 유리 해짐에 따라 현대로의 이주가 이루어졌다 : 면적 절약 대 로열티 비용.


면적 차이를 보여주기 위해 조금 더 깊이 파기 :

클래식 포지티브 에지 D 플립 플롭 : 5 개의 NAND2와 1 개의 NAND3을 사용하는 회로도 기반 Wikipedia의 클래식 포지티브 에지 트리거 D 플립 플롭 설명 및 다이어그램 . 총 13 개의 NMOS와 13 개의 PMOS를 사용합니다.

개략도

이 회로 시뮬레이션CircuitLab을 사용하여 작성된 회로도

내가 찾을 수있는 가장 고전적인 네거티브 에지 D 플립 플롭은 두 개의 D 래치와 두 개의 인버터를 사용하는 것입니다. 회로도 참조 양식 http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . 총 18 개의 NMOS와 18 개의 PMOS를 사용합니다. 위의 클래식 포지에 인버터를 배치하면이 설계의 트랜지스터 수가 줄어 듭니다. 어느 쪽이든, 클래식 네거티브 에지는 포지티브 에지 디자인보다 큽니다.

개략도

이 회로를 시뮬레이션

현대의 D- 플립 플롭 디자인은 특허 WO1984003806 A1US4484087 5 개의 트랜지스터 D- 래치 설명에 기초하여 다음을 볼 수있다 . 총 5 개의 NMOS와 FICE를 사용합니다. 클래식에 비해 면적이 크게 절약됩니다. 마스터 / 슬레이브 순서를 반대로하면 동일한 크기의 네거티브 에지 플립 플롭이 만들어집니다.

개략도

이 회로를 시뮬레이션

가능한 가장 작은 디자인 만 시연하고 있습니다. 설계는 설계 요구 사항, 허용 된 표준 셀 라이브러리, 재설정 / 사전 설정 기능 또는 기타 이유를 기반으로 할 수 있습니다.


그건 좋은 지적이야. 시계 배포판에서 문제에 접근하고 있지만 DFF 아키텍처가 어떻게 다른지 알 수 있습니다. 그러나 네거티브 에지 트리거 플롭도 NAND 기반 아키텍처를 가질 수 있다고 생각합니다. 이야기하고있는 아키텍처의 회로도를 추가 할 수 있습니까?
travisbartley

1
@ trav1s, 예제 및 일부 특허 연구로 답변을 업데이트했습니다.
그렉

외부 적용 클록의 에지를 기반으로 작동해야하는 래치에 대해 다른 기술을 사용하는 칩이 어느 정도인지 궁금합니다. 예를 들어, 2 상 클럭킹 및 반 다이나믹 로직을 사용하면 플롭 당 필요한 트랜지스터 수를 7 개로 줄일 수 있습니다 [완전 동적 접근 방식은 6 개이지만 7 번째 트랜지스터를 추가하면 완전히 정적 인 "홀드"상태를 추가 할 수 있습니다 ].
supercat

@ 그렉, 잘 했어. 당신의 발견은 내가 기대했던 것입니다. 끝에있는 10T 트랜지스터는 아름다운 것입니다.
travisbartley

흥미로운 답변과 매우 통찰력. 당신은 posedge trend가 70 년대 이전에 왔다고 말하고 있지만 이것은 나의 발견과 일치하지 않습니다 (내 대답을보십시오). 이 날짜로 무엇을 만들었습니까? 그냥 추측 또는 추가 정보가 있습니까? 후자 인 경우, 나는 (나 자신의 답을 향상시키기 위해) 참조를 얻는 것이 기쁘다.
Vasiliy

3

여기에 다른 게시물에서 다루었던 몇 가지 기본 가정이 있습니다 (지금은 찾을 수 없습니다).

배치 된 로직 요소의 총 수와 클럭 된 로직 (배송 된 총 FF 수)을 셀 수있는 경우 아마도 프로세서 및 마이크로 프로세서, 인텔, DEC 등일 것입니다. 이러한 현상은 작은 그룹으로 끝날 것입니다. 내부 작업에 대한 세부 사항이 많지 않은 채 수십 년에 걸친 디자인을 담당하는 사람 / 팀.

반대로 ASIC 흐름에 대해 많은 다른 팀이 있으며 더 많은 프로젝트가 있지만 그에 상응하는 규모는 적습니다.

대부분의 프로세서 설계는 실제로 포지티브 또는 네거티브 에지 클록이 아니지만 이중 래치 NOC (Non Overlapped Clock) 무료 클록 방식을 사용하여 설계되었습니다.

따라서 입력-> (로직 클라우드)-> 시계에서 래치-> 논리 클라우드->! clock 체계에서 래치로 끝납니다. 논리가 채워진 마스터 슬레이브 FF의 정식 형태입니다.

이러한 종류의 설계 방법론에는 몇 가지 장점이 있지만 추가 복잡성이 있습니다.

불행한 또 다른 점은이 디자인 방법론이 대부분의 대학에서 가르치지 않는다는 것입니다. 모든 Intel x86 설계는 모바일 핸드셋 용으로 설계 한 주목할만한 합성 가능한 SOC 코어와 이러한 종류 (인터페이스의 외부 작동과 내부 작동을 혼동해서는 안 됨)와 비슷합니다.

이에 대한 훌륭한 담론은 "Dally, William J. 및 John W. Poulton"에서 찾을 수 있습니다. 디지털 시스템 공학. Cambridge University Press, 1998. 섹션 9.5는 "오픈 루프 동기 타이밍"<-챕터 제목에 대해 설명합니다. 그러나 "엣지 트리거 타이밍"은 클록 스큐에 따라 최소 사이클 시간이 발생하기 때문에 하이 엔드 마이크로 프로세서 및 시스템 설계에서는 거의 사용되지 않습니다.

예, 완전히 답답한 답변입니다. 그러나 이러한 설계 (롯 및 로트)에 총 트랜지스터 수를 고려하면 거의 알려진 중요한 방법론이 있습니다.


나는 이것을 세 번 읽었지만 여전히 이것이 OP의 질문과 어떻게 관련되어 있는지 알 수 없습니다 ...
Vasiliy

1
또한, CPU가 래치로 구축되었다고 말하는 것은 약간 과장된 것입니다 ( "비트"가 아닐 수도 있음). 래치는 고성능 중요 논리 (주로 데이터 경로)에 사용되지만 여전히 플립 플롭이 많이 있습니다. 래치의 주요 단점은 타이밍 분석의 어려움입니다. 래치 기반 설계의 "시간 차용"기능 (이 설계를 "빠르게"만드는 동일한 기능)으로 인해 타이밍 폐쇄를위한 래치 기반 설계를 테스트하는 것은 매우 어렵습니다. CPU의 중요하지 않은 부분에서는 주로 FF가 사용됩니다.
Vasiliy

제목의 핵심 단어는 "일반적으로"-1) 디자인 된 칩의 총 종류에서 – 일반적으로 ASIC 흐름과 에지 트리거가 일반적입니다. 2) 선적 된 로직 요소 / 트랜지스터 CPU 설계의 총 수가 승리 한 다음 래치 기반 이중 클록 승리가 발생하면 명령문이 유효하지 않습니다.
플레이스 홀더

1
이러한 칩의 인터페이스를보고 내부 작동이 무엇인지 확인할 수 없습니다. 내가 언급했듯이 Master slave Flip Flop은 2 상 클록 이중 로직 클라우드 래치 기반 디자인의 단순화 된 버전입니다. 타이밍 분석은 어렵지 않지만 실제로는 간단합니다. 당신은 단지 당신의 시계 도메인을 확신하는 것이 좋습니다.
플레이스 홀더

1
핵심 단어는 "플립 플롭"과 "시계의 가장자리"입니다. 래치는 가장자리에 민감하지 않은 레벨 감지 장치입니다. 사과와 오렌지 남자-왜 오렌지 오렌지인지 알고 싶다면 사과를 좋아하는 사람들이 많다는 사실은 전혀 관련이 없습니다.
Vasiliy

2

현재 CMOS 기술의 성능 (전력 / 면적 / 속도 / 비용 측면)은 사용 된 트리거링 체계에 민감하지 않은 것으로 보입니다.

위의 진술은 많은 사전 지식과 연구가 필요하기 때문에 엄격하게 증명할 수 없으며 증거의 요약조차도 대답하기에는 너무 길 것입니다. 내 지식으로는 차이가 없기 때문에 이것이 사실이라고 가정하겠습니다.

플립 플롭이 일반적으로 시계의 양의 가장자리에서 트리거되는지에 대한 귀하의 진술이 올바른지 모르겠습니다 (그렇습니다). 다음 논의의 목적에 대해서도 이것이 올바른 것으로 가정하겠습니다.

위의 모든 가정에서 두 가지 가능성 만 볼 수 있습니다.

  • 포지티브 에지 트리거링은 과거 어느 시점에서 분명한 이점이 있었기 때문에 표준이되었습니다. 이러한 이점을 활용 한 기술이 구식이 된 후에도 포지티브 에지 트리거링은 사실상의 표준으로 남아 있습니다.
  • 포지티브 에지 트리거링은 엔지니어링 적법성이없는 표준이되었습니다. 즉, 과거의 논리적 제품군과 기술 노드에서 이점을 제공하지 않았습니다.

포지티브 에지 트리거링이 표준이 된 시점을 확인하기 위해 인텔 CPU 클럭킹 체계 진화를 따르기로 결정했습니다 .

  1. ϕ2
  2. 8086 : CLK의 네거티브 에지 에서 데이터 래치가 수행되었습니다 .
  3. 80386 : CLK2의 양의 가장자리를 사용했습니다 .
  4. 80486 : CLK의 포지티브 에지를 사용했습니다 .
  5. 펜티엄 : CLK의 포지티브 에지 사용 ...

인텔은 네거티브 에지 트리거링으로 시작했지만 (이 용어가 첫 번째 CPU에 전혀 적용될 수있는 경우) 386부터 포지티브 에지 트리거링으로 전환 된 것으로 보입니다.

8086은 HMOS 기술 (일부 종류의 공핍 -로드 NMOS 로직 )을 사용했지만 80386은 CHMOS (일종의 CMOS 임)입니다. 포지티브 에지 트리거링 채택이 CMOS 기술 채택과 동시에 발생하는 것처럼 보입니다. CMOS는 포지티브 에지 트리거링에 어떠한 이점도 제공하지 않는다고 가정했기 때문에이 규칙은 임의적 인 것으로 보입니다.

그러나 다음 세 가지 사항을 명심해야합니다.

  • 현재의 CMOS 기술은 어떤 이점도 제공하지 않는다고 가정했습니다 .
  • 위의 가정은 어떤 형태로든 입증되거나 논의되지 않았습니다.
  • 데이터 시트에서 데이터 에지가 어느 에지에 래치되어 있는지 명확하지만 내부 구현을 나타내지 않을 수 있습니다.

분명히 추가적인 연구의 여지가 있습니다. 계속하려면 ...

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