42 / 63 · 개념
시프트 회로 검증과 데이터·valid 정렬
대칭 패턴만으로는 드러나지 않는 오류와 유효 신호가 한 사이클 어긋나는 문제를 찾습니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
오류를 드러내는 비트열을 선택합니다
0000이나 1111만 이동시키면 방향이 뒤집혀도 알아보기 어렵습니다. 1000처럼 비대칭인 패턴이나 한 비트만 1인 입력으로 각 위치를 추적하세요. 초기 상태도 항상 모두 0으로만 두면 초기화나 값 유지 기능의 오류를 놓칠 수 있습니다.
3비트 레지스터레지스터 여러 비트의 상태를 저장하는 회로입니다. 이 과정의 동기식 레지스터는 클록 에지에서 정해진 입력을 저장합니다. 자세히 보기에 초기 000, 입력 1,0,0을 차례로 넣으면 001→010→100입니다. 반대 방향 구현에서는 100→010→001이므로 첫 에지부터 구별됩니다.
수치 모델과 RTL을 비교합니다
이 수치 모델과 실제 슬라이스슬라이스 벡터에서 연속된 비트 범위를 선택하는 연산입니다. 선택한 범위가 결과의 폭과 비트 순서를 정합니다. 자세히 보기·연결 RTL이 일치하는지 매 유효 에지마다 비교합니다. N=3처럼 작은 경우라면 정상 상태 8개와 입력 2개, 총 16개 전이를 전수 확인할 수 있습니다. 여기에 reset과 enable 조합을 별도로 추가합니다.
각 열은 한 상승 에지상승 에지 클록이 0에서 1로 바뀌는 순간입니다. CLK=1인 구간 전체를 뜻하는 레벨과 구별합니다. 자세히 보기에서 관찰한 값을 보여 줍니다. 입력은 에지 직전의 값이고, 이름에 after가 붙은 상태는 갱신 직후의 값입니다. 열은 샘플링 순서대로 놓았으며, 실제 전파 지연전파 지연 입력이 바뀐 뒤 출력이 올바른 값으로 안정되기까지 걸리는 시간입니다. 논리식의 등가성과 시간 특성은 별개입니다. 자세히 보기을 나타내지는 않습니다. 초기 q=000입니다. 두 번째 에지는 enable=0이므로 din이 바뀌어도 q=001을 유지합니다. 에지 수와 수락 수를 따로 세어 보세요.
파형 데이터 보기
| 신호 | 파형 | 버스 값 |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| enable | 101. | |
| din | 10.1 | |
| q after | 2.34 | 001 → 010 → 101 |
위 파형을 직접 재현합니다. 먼저 din=1로 한 에지를 진행해 001을 만드세요. enable=0, din=0으로 한 에지를 더 진행하면 001을 유지합니다. enable을 다시 켜고 din=0,1을 차례로 적용하면 010,101입니다. 이 모델은 데이터 레지스터만 다루므로, valid도 같은 enable 조건으로 정지해야 한다는 점은 다음 절에서 별도로 검토하세요.
동기 reset이 enable보다 우선합니다. enable=0이면 현재 값을 유지합니다. q=000; q_next = (2q + din) mod 8
valid도 데이터 경로의 일부입니다
데이터만 멈추고 valid가 계속 이동하거나, 데이터는 이동하는데 valid가 멈추면 출력을 받는 회로가 잘못된 샘플을 사용하게 됩니다. '출력 비트는 맞다'는 검증만으로는 인터페이스가 맞다는 결론을 내릴 수 없습니다.
| 테스트 | 기대 동작 |
|---|---|
| 정상 입력 연속 | 비트 순서와 고정 유효 지연 일치 |
| 중간 enable=0 | 데이터와 valid가 함께 유지 |
| 중간 reset | 이전 프레임의 유효 상태 제거 |
| 새 프레임 연속 | 이전 프레임의 끝과 새 프레임의 시작 구별 |
실패를 분석할 때 몇 번째로 받은 입력인지 함께 기록하면 실제 클록 번호와 혼동하지 않습니다. 프레임 경계가 포함된 최소 반례를 남기는 것이 긴 파형 전체를 반복해서 보는 것보다 효과적입니다.
직접 생각해 보기
데이터 레지스터는 enable이 1일 때만 이동하지만 valid 지연선은 매 클록 이동합니다. 어떤 입력으로 가장 쉽게 오류를 볼 수 있나요?
해설 보기
서로 다른 두 데이터 사이에 enable=0인 정지 에지를 넣습니다. valid가 먼저 도착하거나 다른 데이터에 붙는 현상이 나타납니다. 데이터와 메타데이터에 같은 수락 조건을 적용한 참조 모델과 비교해야 합니다.