"시계를 문"한다는 것은 무엇을 의미합니까?


11

강의 노트에서 나는 "시계를 게이트하지 마십시오"를 계속 읽습니다. 인터넷에서 검색을 시도했지만이 구의 정확한 의미를 찾을 수 없습니다.



3
@ user129048이 사이트에서이 주제를 다루는 다른 질문이 있습니다. 요컨대, 시계를 게이트하면 지연이 발생합니다. 대부분의 FPGA에는 전용 클럭 라인이 있으며 클럭 게이팅은 해당 라인을 사용하지 않습니다.
전압 스파이크

1
개 / 말 등을 출입 할 수있는 게이트를 사용하는 것처럼 게이트가 열려 있으면 통과 할 수 있습니다. 클럭 및 리셋은 다른 신호와 마찬가지로 로직 모듈로 전달되는 신호입니다. 해당 시계가 계속 통과하지 못하도록 허용하거나 차단할 수 있습니다. 다른 쪽의 로직이 해당 신호를 입력으로 사용하지 못하게합니다.
old_timer

답변:


19

"클럭을 게이트"한다는 것은 로직 게이트를 클록 라인에 놓아이를 켜거나 끕니다.

개략도

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

위의 다이어그램은 클럭을 게이트하는 데 사용되는 AND 및 OR을 보여줍니다. 하나는 시계를 다른 하나는 낮게 만듭니다.

높거나 낮은 '너무 짧은'클록 펄스 ( "런트 펄스")를 방지하려면 다음을 확인해야합니다.

  • AND 게이트에 대한 제어 신호는 클럭이 낮을 때만 변경되어야합니다 .
  • OR 게이트의 제어 신호는 클럭이 높을 때만 변경되어야합니다 .

게이트 클록은 클록이 정지 된 동안 로직이 '정숙 한'상태를 유지하므로 CMOS의 전력을 줄이는 데 매우 유용합니다. 최신 합성 도구에는 클럭 게이팅을 자동으로 삽입하는 특별한 옵션이 있습니다.

개략도

이 회로를 시뮬레이션

위는 게이트 클럭을 안전하게 생성하는 두 개의 회로입니다. 회로는 제어 신호가 레지스터에서 나오는 데 약간의 지연 (클럭에서 Q)이 있다는 사실에 의존합니다. 따라서 클럭이 알려진 극성을 가질 때 게이트에서 제어 신호가 변경됩니다.


3
아주 좋은 대답입니다. 게이트 클록의 전력 이점을 확대하겠습니다. IC의 클록 네트워크, 특히 마이크로 프로세서와 같은 복잡한 클록 네트워크는 실제로 광대 할 수 있습니다. 클록 네트워크의 전환만으로 전체 전력 소비의 30 %를 차지할 수있는 것은 매우 광범위합니다 (미안하지만 참고 자료는 없습니다). 예를 들어 실제 로직에 의해 클럭킹되는 것은 아무 관련이없는 경우에도 소비됩니다. 레지스터와 출력은 전혀 바뀌지 않습니다. 클럭을 게이팅하면 영향을받는 네트워크 부분에서 클럭을 완전히 비활성화 할 수있어 전력 소비를 크게 줄일 수 있습니다.
ultimA

4
@Curd : OP가 "시계를 게이트하지 마십시오"라고 읽은 경우, 교수는 "단일 논리 게이트로 문자 그대로 게이트를 게이트하지 마십시오"를 의미합니다. 좋은 조언입니다. 실제로 "시계 게이팅"은 "시계 비활성화"또는이를 수행 할 수 있음을 의미하지만, 올바르게 수행하는 방법을 알고 있다면 (즉, 논리가 아닌) 전력상의 이유로 그렇게하는 것이 좋습니다. 게이트 라인에 런트와 글리치를 피할 수있는 충분한 로직이있는 게이트).
ultimA

8
여기 교수가 왜 이렇게 말하는지 추측해야합니다. 클록 게이팅은 간단하지만 여기에는 많은 함정이 있습니다. 그러므로 그것은 매우 눈살을 찌푸리게합니다. ASIC 설계 (내가 어디에서 왔는가)에서는 신뢰할 수있는 도구 나 수석 엔지니어가 수행하는 작업을 알고 있다고 가정합니다.
Oldfart

4
@oldfart 이것은 아마도 설명 일 것입니다. 영업 이익은 FPGA 클래스에 특히 경우, 그는 않을 그들은한다 이제까지 클럭 게이팅 될 수있다.
mbrig

3
@MITURAJ, 클럭 게이팅은 디자인 입력에서 가장 확실합니다. 나는 당신이 '보통'이 아닌 무엇을해야하는지 설명하고 있다고 생각합니다. FPGA의 자유로 인해 누구나 나쁜 아이디어를 구현할 수 있습니다. 나쁜 디자인이 많이 있습니다.
TonyM

6

이와 관련하여 게이팅은 신호를 제어하기 위해 로직 게이트를 통해 신호를 전달하는 것을 의미합니다.

2 입력 AND 게이트의 한 입력을 통해 전달하면 다른 입력의 제어 비트가 AND 게이트 출력을 강제로 낮추거나 신호가 통과하고 나가도록 할 수 있습니다. OR 게이트로 비슷한 기능을 수행 할 수 있으며, 신호를 강제로 높이거나 통과시킵니다.

따라서 시계를 게이팅하는 것은 시계를 낮게 또는 높게 설정하거나 통과시키는 것을 의미합니다.

시계를 게이팅하지 않는 것이 좋습니다. 가능한 결과를주의 깊게 이해하고 수행 할 수 있습니다. 여기에는 클럭 신호를 게이트 클럭 도메인으로 가져올 때의 준 안정성 및 타이밍 기반 합성 / 레이아웃의 결과가 나빠집니다.

그러나 모든 위험과 페널티없이 시계를 게이팅하는 것과 동일한 회로를 제어 할 수있는 다른 방법은 거의 항상 있습니다.


6

의미 :
AND 또는 OR 게이트 (또는 더 복잡한 조합 용어)를 사용하여 다른 클록 신호에서 클록 신호를 도출하지 마십시오.

이 규칙의 이유 는 결합 항의 다중 입력 중 경쟁 조건으로 인해 하나의 클록 에지 만 예상되는 다중 클록 에지 (글리치)가 발생할 수 있기 때문입니다.


2
downvoter가이 답변에서 자신이 잘못한 것을 설명 할 수 있다면 좋을 것입니다.
Curd

4

고속의 경우 클럭에 전파 지연을 추가하는 로직 게이트를 추가하지 않으면 원래 클럭을 사용하여 데이터 작업시 경쟁 조건이 발생할 수 있습니다.


시계 게이팅이라는 용어가 이런 식으로 사용되는 것을 들어 본 적이 없습니다.
BeB00

@ BeB00 : Google에서 "시계 게이팅 글리치 무료"를 검색하면 많은 정보를 얻을 수 있습니다.
Curd


이것은 이전에 사용 된 용어를 듣지 못한 첫 번째 생각이지만 버퍼링이 필요할 때가 있으며 게이팅은 아마도이 경우 버퍼링보다 더 많은 의미가 있습니다. 간단한 버퍼링으로 슬루 및 에지 특성이 변경 될 수 있으며 어떤 경우에도 고려해야합니다.
KalleMP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.