RTL 설계: 시스톨릭 배열
부호 있는 MAC에서 시작해 입력 스큐, 처리 요소, 타일링과 흐름 제어를 설계하고, 수치와 클록별 검증으로 매개변수화한 행렬곱 배열을 완성합니다.
이 코스에서 배우는 것
- 행렬 인덱스와 내적으로 각 처리 요소의 계산을 설명하기
- 곱셈·누산·고정소수점 출력의 비트 폭과 오버플로 정책 정하기
- 출력 고정 데이터 흐름과 입력 스큐로 2×2 및 N×N 배열 설계하기
- valid·태그·정지·리셋을 포함한 정확한 클록 계약 작성하기
- 타일 경계와 대역폭을 계산하고 점수판으로 캡스톤 검증하기
시작하기 전에
브라우저 실습은 교육용 모델이며 HDL을 컴파일·실행하지 않습니다. 제공된 소스를 별도로 실행하려면 운영체제에 맞는 Digital Design Studio 안내를 따르고 해당 작업에서 요구할 때 로그인하세요.
설치·첫 실행 안내 ↗ · 다운로드 ↗커리큘럼
- 행렬과 수치 계약
- 내적을 처리 요소에 배치하기개념
행·열·축약 인덱스를 분리하고 작은 행렬의 결과를 직접 계산합니다.
- 부호 있는 곱과 누산기 폭개념
최악의 입력 범위에서 안전한 누산 폭을 유도합니다.
- 고정소수점 출력 정책개념
입력 스케일, 음수 반올림, 포화와 랩어라운드를 구분합니다.
- 수치 계약 확인이해 확인
입력 폭과 전체 축약 길이를 기준으로 누산기를 선택합니다.
- 처리 요소와 유효 토큰
- 한 상승 에지의 계약개념
클록 번호, 등록된 전달, 누산과 초기화 우선순위를 고정합니다.
- 실습: 부호 있는 MAC 처리 요소실습
독립 실행 가능한 모델로 유효 입력, 정지와 clear를 검사합니다.
- valid·태그·배열 비우기개념
값이 0인 항, 버블과 다른 작업의 토큰을 구별합니다.
- 처리 요소 제어 확인이해 확인
정지 중 유지해야 할 상태를 고릅니다.
- 배열과 입력 스케줄
- 출력 고정과 다른 데이터 흐름개념
무엇을 PE에 남기는지에 따라 저장과 전달 비용을 비교합니다.
- 실습: 스큐된 2×2 배열실습
전달 지연을 한 에지씩 모델링하고 모든 중간 누산값을 확인합니다.
- N×N으로 확장하고 완료 에지 세기개념
공간 크기 N과 축약 길이 K를 따로 매개변수화합니다.
- 스케줄과 완료 확인이해 확인
마지막 입력과 마지막 결과의 시점을 구분합니다.
- 타일·대역폭·흐름 제어
- 타일링과 경계 패딩개념
작은 배열에 큰 행렬을 배치하고 경계의 0과 출력 마스크를 처리합니다.
- 대역폭과 유용한 처리율개념
피크 MAC 수와 채움·비움·패딩·메모리 비용을 분리합니다.
- 실습: backpressure와 리셋실습
전역 정지, 결과 보관, 중단한 작업의 초기화를 실행해 확인합니다.
- 패딩과 대역폭 확인이해 확인
값의 유효성과 결과 주소의 유효성을 구분합니다.
- 검증과 캡스톤
- 점수판과 불변 조건개념
최종 행렬 외에도 항·태그·에지·출력 전송을 독립적으로 검사합니다.
- 부호·폭·경계 시험 설계개념
예제 하나의 성공을 넘어 연산·크기·제어의 경계를 조합합니다.
- 캡스톤: 타일링된 N×N 검증 모델실습
임의 N, K와 패딩·pause를 결합하여 독립적인 행렬 참조와 비교합니다.
- RTL 통합 검토와 확장 계획개념
학습 모델을 RTL 인터페이스와 검증 증거에 연결합니다.