학습 언어 선택
각 언어의 교재를 첫 장부터 읽거나 필요한 절부터 읽을 수 있습니다. 공통 기초는 세 언어에 모두 적용됩니다.
BSV
규칙으로 설계하는 동시 회로
규칙과 인터페이스로 동시 동작을 설계합니다.
- 만드는 것
- 갱신이 원자적 rule로 표현되는 카운터와 상태 기계
- 인터페이스의 method로 동작을 드러내고 서로 결합하는 모듈
- 준비 조건을 컴파일러가 스케줄하는 FIFO 파이프라인
- 준비 개념
- 레지스터, 클록 에지, 조합 회로가 무엇인지 알면 충분합니다. 다른 HDL 경험은 필요하지 않습니다.
Verilog
신호와 클록으로 배우는 RTL 설계
신호와 RTL로 조합 회로와 순차 회로를 설계합니다.
- 만드는 것
- 연속 대입과 벡터로 만드는 조합 논리 블록
- 리셋이 있는 클록 레지스터와 상태 기계
- 입력을 인가하고 결과를 출력하며 파형을 남기는 테스트벤치
- 준비 개념
- 이진수와 클록의 개념을 알면 충분합니다. 다른 HDL 경험은 필요하지 않습니다.
Chisel
하나의 회로에서 하드웨어 생성기까지
Scala 기반 생성기로 매개변수화한 회로를 설계합니다.
- 만드는 것
- Chisel 하드웨어 타입으로 포트와 논리를 구성한 모듈
- 레지스터, Bundle, Vec을 연결한 순차 설계
- 매개변수화한 클래스 하나로 여러 회로를 만드는 생성기
- 준비 개념
- 레지스터와 클록 에지를 알면 충분합니다. Scala 문법은 각 장에서 필요한 지점에 설명합니다. 다른 HDL 경험은 필요하지 않습니다.
공통 기초
하드웨어 기초
비트·논리·상태·시간을 페이지 안에서 직접 조작하는 실험과 함께 익힙니다. 아직 HDL은 필요하지 않으며, 각 언어 과정이 어느 장을 전제로 하는지 밝힙니다.
과정 보기