PRBS란 무엇인가요?
PRBS: 의사 난수 코드인 의사 난수 바이너리 시퀀스(Pseudo-Random Binary Sequence)는 고속 직렬 채널을 테스트하는 데 자주 사용됩니다. 왜 의사 난수라고 불리는가? 채널 상으로는 패턴이 무작위로 보이고 불규칙하게 나타나기 때문입니다. 그러나 실제 패턴은 생성기 다항식에 의해 결정되며 반복 주기를 갖습니다. 이를 이해하려면 구현 메커니즘부터 시작하십시오.
선형 피드백 시프트 레지스터라는 이름은 우선 시프트 레지스터이고 이 시프트 레지스터의 입력은 이전 상태의 선형 결합입니다. 예를 살펴보겠습니다.
이 LFSR에 해당하는 생성기 다항식은 다음과 같습니다.
다항식의 1은 입력, 즉 x^0을 나타냅니다. x^3과 x^4는 각각 시프트 레지스터의 3번째와 4번째 비트를 나타냅니다.
시프트 레지스터의 동작 프로세스는 위 그림과 같습니다. 각 시프트로 인해 시프트 레지스터가 다음 상태로 전환됩니다. 4비트 시프트 레지스터는 총 2^4를 가질 수 있습니다. = 0000 상태를 제외하고 16개 상태가 있으며, LFSR은 나머지 15개 상태를 순환할 수 있습니다.
LFSR의 상태를 0001에서 시작하고 각 교대가 x^4를 출력한다면 생성될 수 있는 무작위 코드 시퀀스는 다음과 같습니다.
100010011010111 - 100010011010111 - 100010011010111… …
15비트 출력이 완료된 후 주기가 반복됩니다.
그렇다면 왜 세 번째와 네 번째 숫자의 가산 피드백을 선택합니까? 2위와 4위가 선정되면 어떻게 될까요?
또한 0001부터 시작하여 LFSR의 상태 전환 과정은 다음과 같습니다.
6개의 상태만 통과한 후 초기 상태로 돌아가는 것을 볼 수 있으며, 생성된 랜덤 시퀀스는 다음과 같습니다. 100010...
랜덤 코드는 6개뿐이고 이후 주기가 반복되기 시작합니다. 랜덤성은 이전 다항식만큼 좋지 않으며, 다른 초기 상태를 사용하면 다른 랜덤 코드가 발생할 수 있습니다. 생성될 수 있습니다. (예를 들어 초기 상태는 1111입니다.)
이전 생성 다항식(1 x^3 x^4)을 MLS(Maximum Length Sequence)라고 합니다. MLS 분석은 나중에 시간이 나면 따로 다루겠습니다. 일반적으로 사용되는 PRBS는 MLS입니다.
다양한 PRBS 생성 다항식은 서로 다른 코드 패턴을 생성하고 다양한 애플리케이션 시나리오를 가질 수 있습니다. PRBS7을 예로 들면 시프트 레지스터는 0000000을 제외한 모든 상태를 순회할 수 있으므로 순회 가능한 상태는 2^7-1입니다. 생성된 패턴 자릿수는 2^7-1입니다. 패턴에서 가장 긴 연속 1은 7자리이고, 가장 긴 연속 0은 6자리입니다. 실제 애플리케이션에서는 8B/10B 인코딩의 채널 테스트에 자주 사용됩니다. 8B/10B 인코딩 패턴에서 1 또는 0 비트 중 가장 긴 수는 5입니다. PRBS7 코드를 사용하는 동일한 채널은 8B/10B 코딩보다 약간 더 나쁜 결과를 생성하므로 특정 설계 마진도 보장할 수 있습니다.