본문으로 건너뛰기
code0.HDL

실습 언어 선택

문제는 각 과정의 장 순서를 따릅니다. 작성 중인 코드와 완료한 문제는 이 브라우저에 저장됩니다.

BSV

규칙으로 설계하는 동시 회로

규칙과 인터페이스로 동시 동작을 설계합니다.

만드는 것
  • 갱신이 원자적 rule로 표현되는 카운터와 상태 기계
  • 인터페이스의 method로 동작을 드러내고 서로 결합하는 모듈
  • 준비 조건을 컴파일러가 스케줄하는 FIFO 파이프라인
준비 개념
레지스터, 클록 에지, 조합 회로가 무엇인지 알면 충분합니다. 다른 HDL 경험은 필요하지 않습니다.

Verilog

신호와 클록으로 배우는 RTL 설계

신호와 RTL로 조합 회로와 순차 회로를 설계합니다.

만드는 것
  • 연속 대입과 벡터로 만드는 조합 논리 블록
  • 리셋이 있는 클록 레지스터와 상태 기계
  • 입력을 인가하고 결과를 출력하며 파형을 남기는 테스트벤치
준비 개념
이진수와 클록의 개념을 알면 충분합니다. 다른 HDL 경험은 필요하지 않습니다.

Chisel

하나의 회로에서 하드웨어 생성기까지

Scala 기반 생성기로 매개변수화한 회로를 설계합니다.

만드는 것
  • Chisel 하드웨어 타입으로 포트와 논리를 구성한 모듈
  • 레지스터, Bundle, Vec을 연결한 순차 설계
  • 매개변수화한 클래스 하나로 여러 회로를 만드는 생성기
준비 개념
레지스터와 클록 에지를 알면 충분합니다. Scala 문법은 각 장에서 필요한 지점에 설명합니다. 다른 HDL 경험은 필요하지 않습니다.