RTL 설계: 데이터패스와 파이프라인
숫자와 사이클 계약을 정하고 ALU, 제어 FSM, 파이프라인, ready-valid 버퍼를 설계합니다. 네 가지 실행 가능한 기준 모델로 산술 경계, 정지, FIFO와 순서 보존을 검증하고 스트리밍 연산기를 완성합니다.
이 코스에서 배우는 것
- 비트 폭과 부호, carry와 overflow의 계약을 구분하기
- 레지스터 전송과 FSM·동기 메모리의 사이클 일정 설계하기
- 지연시간·처리량·개시 간격을 수치로 비교하기
- ready-valid 정지와 FIFO 경계를 손실 없이 처리하기
- hazard와 reset을 포함한 scoreboard 검사 만들기
- 독립 실행 모델로 스트리밍 연산기 capstone 검증하기
시작하기 전에
브라우저 실습은 교육용 모델이며 HDL을 컴파일·실행하지 않습니다. 제공된 소스를 별도로 실행하려면 운영체제에 맞는 Digital Design Studio 안내를 따르고 해당 작업에서 요구할 때 로그인하세요.
설치·첫 실행 안내 ↗ · 다운로드 ↗커리큘럼
- 숫자와 연산의 계약
- 계산식에서 데이터패스 계약으로개념
연산 결과뿐 아니라 폭, 입력 수락 시점, 출력 유효 조건까지 명시합니다.
- 비트 폭, 부호 확장과 오버플로개념
같은 비트열의 다른 의미와 축소 위치를 수치 예제로 확인합니다.
- 실습: 8비트 ALU의 기준 모델실습
독립 실행 파일로 ADD, SUB, AND, XOR와 carry·borrow 경계를 검증합니다.
- 확인: carry와 signed overflow이해 확인
숫자 해석에 따라 다른 경계 정보를 구분합니다.
- 레지스터 전송과 제어
- 레지스터 전송을 에지 기준으로 읽기개념
이전 상태와 다음 상태를 나누고 enable이 값을 보존하는 조건을 추적합니다.
- FSM으로 자원 사용을 예약하기개념
하나의 가산기로 네 값을 누산하고 상태 전이와 입력 보관을 설계합니다.
- 메모리 요청과 응답의 시간 계약개념
동기 읽기, 주소·tag 지연과 같은 주소 읽기/쓰기를 구분합니다.
- 확인: 완료 상태에서 값 보존이해 확인
DONE 상태의 valid·ready와 다음 요청 수락을 구분합니다.
- 파이프라인의 시간과 처리량
- 파이프라인 레지스터에 거래 전체 저장하기개념
합·곱 연산을 두 단계로 나누고 valid, tag와 수치 폭을 함께 이동시킵니다.
- 지연시간, 처리량과 개시 간격개념
한 거래의 시간과 여러 거래의 완료 속도를 따로 계산합니다.
- 실습: 두 단계와 bubble의 사이클 추적실습
이전 상태로 다음 상태를 계산하고 출력 tag·값·에지를 함께 비교합니다.
- 확인: II=1의 의미이해 확인
단계 수와 지속 처리량을 혼동하지 않습니다.
- ready-valid 흐름 제어
- 수락 이벤트와 정지 중 안정성개념
valid와 ready를 각각의 책임으로 나누고 payload 보존 규칙을 적용합니다.
- 한 칸 elastic 레지스터 설계개념
빈 칸 또는 동시 배출일 때 입력을 받아 정지와 교체를 처리합니다.
- 실습: 1024개 정지 패턴 검사실습
한 칸 버퍼의 hold·교체·비우기를 모든 10사이클 ready 패턴으로 검사합니다.
- 확인: 멈춘 거래의 수락 횟수이해 확인
valid 지속 시간과 실제 handshake 횟수를 구분합니다.
- FIFO와 hazard 경계
- FIFO의 empty, full과 동시 입출력개념
점유 수와 포인터를 구분하고 경계에서의 push·pop 계약을 정합니다.
- 의존성, 자원 hazard와 forwarding개념
앞선 결과가 필요한 연산에서 stall과 forwarding의 적용 조건을 비교합니다.
- flush와 reset에서 거래 회계 유지하기개념
취소와 전달을 구분하고 유효 비트, 외부 응답과 기대 큐를 함께 처리합니다.
- 확인: full FIFO의 교체이해 확인
동시 push·pop의 점유와 순서를 계산합니다.
- 검증과 스트리밍 연산기
- scoreboard와 국소 불변식 함께 사용하기개념
수락한 거래를 기준으로 값·순서·점유와 정지 안정성을 검사합니다.
- 종합 실습: FIFO와 두 단계 스트리밍 연산기실습
깊이 2의 입력 FIFO, 두 elastic 단계와 scoreboard를 한 실행 모델로 연결합니다.
- 성능 측정과 설계 검토 마무리개념
관찰 구간과 정지 원인을 명시하고 기능 모델의 증거 범위를 정리합니다.
- 최종 확인: 손실 없는 정지와 drain이해 확인
계산 결과, outstanding과 완료 조건을 통합해 판단합니다.