%3C/text%3E%3C/svg%3E">
💻
💻 IT·개발

LFSR 계산기 (선형 되먹임 시프트 레지스터 수열·주기)

입력하면 바로 계산됩니다.

입력값

LFSR 계산기 쉽게 이해하기 — 개념과 원리

선형 되먹임 시프트 레지스터(LFSR)는 길고 무작위처럼 보이는 비트열을 만드는 간단한 회로입니다. 시험 패턴 생성, 스크램블러, 카운터, 검사합에 쓰입니다. 이 계산기는 레지스터 길이, 탭, 되먹임 게이트, 시드를 넣으면 피보나치형 LFSR을 실행해 출력 비트를 보여 주고 주기를 구합니다.

선형 되먹임 시프트 레지스터4비트 LFSR, 탭 4·311020304출력⊕주기 15 = 2⁴ − 1최대 길이0001 0011 0101 1110 …주기마다 1이 8개, 0이 7개
4번과 3번 비트의 XOR가 되돌아 들어가 0이 아닌 15개 상태를 모두 거칩니다.

계산 방법

클럭마다

주기 = 시드로 돌아올 때까지의 단계 수

최대 길이 = 2ⁿ − 1이며, 알맞은 탭(공개된 표)으로 얻습니다.

최대 길이 수열에는 1이 2ⁿ⁻¹개, 0이 2ⁿ⁻¹ − 1개 들어 있습니다.

원리

n비트 레지스터에는 2ⁿ가지 상태가 있고 각 상태가 다음 상태를 정하므로 수열은 결국 반복됩니다. XOR 되먹임에서는 전부 0인 상태가 자기 자신으로 가므로 더 긴 순환에 낄 수 없고, 가장 긴 순환은 나머지 2ⁿ − 1개 상태를 모두 돕니다. 어떤 탭이 이를 이루는지는 두 원소 위 대수에서 원시 다항식을 고르는 문제와 같으며, 길이별로 알맞은 탭이 표로 정리되어 있습니다. 되먹임이 선형이라 수열은 무작위처럼 보여도 완전히 예측할 수 있습니다.

예제 풀이

기본값인 n = 4, 표의 최대 길이 탭, XOR, 시드 1000, 30단계 표시로 계산합니다.

  1. 사용한 탭 = 4, 3입니다.
  2. 출력 비트는 0001 0011 0101 1110 0010 0110 1011 11입니다.
  3. 15단계 뒤 시드로 돌아오며 2⁴ − 1 = 15와 같으므로 최대 길이 예입니다.
  4. 30단계(두 주기) 뒤 레지스터는 다시 1000입니다.
  5. 한 주기의 1 개수 = 8(= 2³), 0은 7개입니다.

결과 해석

주기가 2ⁿ − 1이면 탭이 최대 길이를 만든다는 뜻입니다. 주기가 더 짧으면 상태의 일부만 돌며, 시험 패턴이나 카운터에는 보통 바람직하지 않습니다. 레지스터가 길면 주기가 천문학적으로 길어져 하드웨어에서 긴 시험 수열을 싸게 만드는 데 쓰입니다.

흔한 실수

주의: LFSR 수열은 예측할 수 있으므로 보안이나 암호 키에 쓰면 안 됩니다.

자주 묻는 질문

최대 주기가 왜 2ⁿ이 아니라 2ⁿ − 1인가요?

잠김 상태는 자기 자신으로 돌아가 주 순환에 낄 수 없기 때문입니다.

XOR과 XNOR 되먹임은 어떻게 다른가요?

XOR은 전부 0 상태에서, XNOR은 전부 1 상태에서 잠깁니다.

LFSR은 어디에 쓰이나요?

내장 자체 시험, 스크램블러, 의사 난수 카운터, CRC 계산에 쓰입니다.

출처: P. Alfke, "Efficient Shift Registers, LFSR Counters, and Long Pseudo-Random Sequence Generators", Xilinx Application Note XAPP 052 (1996)

2026년 11월 8일 확인. P. Alfke, “Efficient Shift Registers, LFSR Counters, and Long Pseudo-Random Sequence Generators”, Xilinx 응용 노트 XAPP 052, v1.1 (1996년 7월 7일): 표 3 최대 길이 LFSR 카운터의 탭 (n = 3–24), 최대 길이 2ⁿ − 1, XOR/XNOR 멈춤 상태.

💻 IT·개발 계산기 전체 →🏠 홍라이프 계산기 홈 →