35 / 63 · 이해 확인
설계 확인: 비트 폭·제어 우선순위·순환 조건
주어진 상태 전이 명세로 경계값과 동시 제어 입력을 판단합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
modulo-10 카운터의 동작 조건
4비트 unsignedunsigned 비트열을 음수가 없는 정수로 해석하는 규칙입니다. n비트의 범위는 0부터 2^n−1이며, 같은 비트열의 signed 해석과 다를 수 있습니다. 자세히 보기 count에 대해 우선순위는 reset, enable, hold 순서입니다. reset이 1이면 0으로, enable이 1이면 9 이상에서 0으로 돌아가고 나머지 상태에서는 1 증가합니다.
4비트에는 16개 상태를 저장할 수 있습니다. 그중 10개만 사용하도록 하려면 별도로 동작을 정의해야 합니다. 특히 count=9에서 enable=0일 때는 0으로 돌아가면 안 됩니다.
각 열에는 한 상승 에지상승 에지 클록이 0에서 1로 바뀌는 순간입니다. CLK=1인 구간 전체를 뜻하는 레벨과 구별합니다. 자세히 보기에서 관찰한 값을 기록했습니다. 입력은 에지 직전의 값이고, 이름에 after가 붙은 상태는 갱신 직후의 값입니다. 열은 값을 관찰한 순서대로 배치한 것이며, 실제 전파 지연전파 지연 입력이 바뀐 뒤 출력이 올바른 값으로 안정되기까지 걸리는 시간입니다. 논리식의 등가성과 시간 특성은 별개입니다. 자세히 보기을 나타내지는 않습니다. 초기 count=9입니다. reset이 없는 첫 열에서 enable=0이면 9를 유지하고, 다음 열에서 enable=1일 때만 0으로 돌아갑니다.
파형 데이터 보기
| 신호 | 파형 | 버스 값 |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| reset | 0.10 | |
| enable | 01.. | |
| count after | 23.4 | 9 → 0 → 1 |
추가 설계 문제
- count=9, reset=0, enable=0일 때 다음 값을 구하세요.
- count=15에서 enable=1을 넣었을 때 복귀 정책을 설명하세요.
- count=9, reset=1, enable=1이면 종료 펄스가 나와야 하는지 명세를 정하세요. 리셋리셋 상태를 명세한 초기값으로 돌리는 제어입니다. 동기식인지 비동기식인지, 다른 제어보다 우선하는지를 함께 정해야 합니다. 자세히 보기 중 출력은 0으로 정의했다고 가정합니다.
직접 생각해 보기
0~15의 모든 count 값과 reset·enable 조합을 전수 검사하려면 몇 개의 한 단계 전이 사례가 필요합니까? 이 검사만으로 긴 상태열에 관한 모든 요구사항도 증명할 수 있나요?
해설 보기
개입니다. 이 설계처럼 count가 회로의 상태를 모두 나타내고 다음 상태와 출력이 정확히 명세되어 있다면, 이 검사로 각 상태의 다음 동작을 빠짐없이 확인할 수 있습니다. 다만 초기화, 입력에 대한 가정, 종료 펄스를 저장하는 별도 상태, 실제 타이밍처럼 검사에서 빠진 요구사항까지 확인한 것은 아닙니다.
현재 count=9에서 reset=1과 enable=1이 동시에 샘플링됐습니다. 리셋 우선 명세에 맞는 다음 count와 종료 펄스는?
동시 조건에서는 명시된 우선순위가 동작을 결정합니다. reset 분기에서 count와 종료 펄스를 모두 0으로 정했으므로 count=9였다는 이유로 순환 펄스를 발생시키지 않습니다.