IT_Study55 [CDC] 06. Gray Code vs. Binary Code(2) 이전 포스트에서는 Gray Code와 Binary Code에 대해서 살펴보았다. Binary Code는 일반적으로 숫자를 세기 위해서 사용된다. 예를 들어 Binary Code에서는 '0001(1)'에 +1을 할 경우, 직관적으로 '0010(2)'이 됨을 알 수 있다. 그러나 Gray Code는 해당 값이 직관적으로 어떤 숫자를 나타낸다는 걸 알기 어렵다. 예를 들어 Gray Code는 순서에 따라서 '0001' 다음 '0011'이기 때문에, '0001'에 다음 값(+1)이 바로 '0011'이라고 생각하기 쉽지 않으며, 2라는 값을 생각하기 어렵다. 물론 Table 형태로 관리하여 '0001' 1, '0011' 2로 매칭해서 생각해도 된다. 그런데 Table로 관리하기 어렵다면, Gray Code를 Bi.. 2022. 3. 28. [CDC] 05. Gray Code vs. Binary Code(1) Multi-bit CDC를 수행할 때, 동시에 여러 Bit이 Clock domain을 넘어가면 skew에 의해 전혀 다른 값이 전달될 수도 있다는 것을 알 수 있었다. 여기에서 살펴봐야 하는 점이 있다. skew에 의해 전혀 다른 값(의도와 다른 값, 예를들어 a를 b로 변경해서 전달하는데 c로 인식한 경우 의도와 다른 값이 전달.)이 전달되려면, 전달되는 Bit 중 2-bit 이상 데이터가 변경되어야 한다. 예를 들어 4-bit CDC를 수행함에 있어서, 1001 -> 1010로 변경되는 경우를 살펴보자. [3]: 1 -> 1 [2]: 0 -> 0 [1]: 0 -> 1 [0]: 1 -> 0 위와 같이 각 BIT의 데이터 변경이 이뤄진다. 각 BIT마다 Skew가 있다고 가정하고, 이전 값을 전달하는 경.. 2022. 3. 26. [CDC] 04. Multi-bit Clock Domain Crossing(2) 이전 포스트에서는 Multi-bit CDC(Clock domain Crossing)의 해결책 중에 하나로 2-bit 신호를 1-bit 신호로 만들어서 전송하는 예제에 대해서 다뤘다. 그런데 항상 1-bit으로 변경할 수 있는 것은 아니다. 그러면 Multi-bit CDC를 수행할 수 있는 다른 방법을 알아보자. Multi-bit 신호를 전달하는 데 문제점은 Multi-bit 간의 Skew로 인하여 발생하였다. 그렇다면 Clock 2 Domain에서 Multi-bit 간의 Skew가 없는 상태에서 capture 하도록 만들면 해결되지 않을 까? Multi-bit 신호의 Skew가 없다는 말은 일정 값으로 Multi-bit이 유지되고 있는 상황과 같다. Clock 2 Domain에서 일정하게 값을 유지하고 .. 2022. 3. 21. [CDC] 03. Multi-bit Clock Domain Crossing(1) 이전 포스트에서는 1-bit CDC(Clock domain crossing)를 수행하는 방법과 주의할 점에 대해서 언급하였다. 이번 포스트에서는 1-bit이 아닌 multi-bit CDC를 수행하는 방법에 대해서 알아보도록 하겠다. multi-bit CDC에서 가장 주의해야 할 점은 모든 BIT이 동일한 순간에 전달되어야 한다는 것이다. 1-bit CDC에서는 1-bit 만 전송이 되므로 전달되는 타이밍은 크게 중요하지 않았다. 그렇기 때문에, 1-bit CDC 방식을 multi-bit CDC에 적용한다면 각 bit이 전송되는 시점이 다 다를 수 있다. 이는 의도하지 않는 동작이며, 이로 인해 오동작을 일으킬 수 있다. '전송되는 시점이 왜 달라 지는 가?'에 조금 더 자세히 살펴보자. Clock 2 d.. 2022. 3. 19. 이전 1 ··· 10 11 12 13 14 다음