Table of Contents
카운터는 디지털 시스템에서 이벤트, 수량, 또는 주를 추적하는 데 사용됩니다. 과잉 흐름과 하류는 신뢰할 수있는 시스템을 설계하는 데 필수적입니다. 카운터가 최대 또는 최소 값을 초과 할 때 이러한 현상이 발생하면 오류 또는 예상치 못한 행동으로 이어집니다.
오버플로우란?
오버플로는 카운터가 최대 값을 초과할 때 발생합니다. 예를 들어, 8비트 카운터는 0에서 255로 계산할 수 있습니다. 255 및 증가에 도달하면 0에 주위를 감싸고 오버플로를 발생시킵니다. 이렇게 제대로 관리하지 않으면 잘못된 데이터로 이어질 수 있습니다.
언더 플로우란?
아래 카운터가 최소값을 초과할 때, 일반적으로 0이 발생합니다. 카운터가 0에서 열릴 때, 최대값으로 감싸는 경우가 있습니다. 이는 정확한 계산에 의존하는 시스템의 오류를 일으킬 수 있습니다.
과잉 및 하류의 계산
카운터의 최대 값은 비트 너비에 따라 다릅니다. n-bit 카운터의 경우 최대 값은 2^n - 1. 과잉을 방지하기 위해, 증가하기 전에 체크를 구현합니다. 이와 마찬가지로, 언플로우의 경우, 주변을 감싸기 위해 결정하기 전에 체크하십시오.
예방 기술
- 더 큰 비트 폭 카운터를 사용하여 더 큰 가치를 수용합니다.
- incrementing 또는 decrementing 전에 경계 검사를 실행하십시오.
- 범위 내에서 값 제한을 제한하기 위해 포화 arithmetic을 사용합니다.
- 오버플로우 및 언더 플로우 이벤트를 명시적으로 처리하는 설계 시스템.