Repolode
chipsalliance

chipsalliance/chisel

Verilog를 생성하는 매개변수화된 디지털 회로 생성기를 작성할 수 있도록 Scala에 내장된 오픈 소스 하드웨어 기술 언어입니다.

스타
4,829
포크
664
열린 이슈
522
마지막 커밋
18시간 전

어떤 프로젝트인가요?

Chisel(Constructing Hardware in a Scala Embedded Language)은 레지스터 전송 수준에서 디지털 전자 회로를 설계하기 위한 하드웨어 기술 언어입니다. Verilog를 직접 작성하는 대신 회로를 구성하는 Scala 코드를 작성하므로, 함수, 클래스, 루프 같은 일반적인 프로그래밍 구문을 사용해 하드웨어를 생성할 수 있습니다. 출력은 ASIC과 FPGA 설계 모두에 사용할 수 있는 합성 가능한 Verilog 또는 SystemVerilog입니다.

핵심은 회로 생성기입니다. 예를 들어 계수 목록으로 정의한 FIR 필터 같은 매개변수화된 Scala 클래스를 인스턴스화해 여러 설계에서 재사용할 수 있습니다. Chisel 표준 라이브러리(chisel3.util)는 FIFO 큐, 중재기, ready-valid 인터페이스 같은 재사용 가능한 구성 요소를 제공합니다. Chisel은 FIRRTL 중간 표현과 CIRCT firtool 컴파일러를 기반으로 합니다.

이 프로젝트는 Apache 2.0 라이선스로 배포되며 CHIPS Alliance에서 개발합니다. 저장소에는 핵심 라이브러리, 컴파일러 플러그인, Verilator와 VCS를 대상으로 하는 svsim 시뮬레이션 라이브러리 등의 하위 프로젝트가 포함되어 있습니다. 튜토리얼, 교재, 프로젝트 템플릿은 문서에서 확인할 수 있습니다.

핵심 기능

  • 01매개변수화된 회로를 위해 클래스, 함수, 루프를 재사용하며 Scala로 하드웨어를 기술합니다.
  • 02ChiselStage와 firtool을 통해 합성 가능한 Verilog 또는 SystemVerilog를 생성합니다.
  • 03FIFO 큐, 중재기, Decoupled ready-valid 인터페이스를 포함한 표준 라이브러리를 제공합니다.
  • 04Verilator와 VCS에서 시뮬레이션을 실행할 수 있는 svsim을 포함합니다.
  • 05Mill로 빌드하며 sbt 프로젝트에서 사용할 수 있는 아티팩트를 게시합니다.

활용 사례

  • ASIC 또는 FPGA 설계에 사용할 재사용 가능한 매개변수화 IP 블록 작성.
  • 생성기 스타일의 코드가 필요한 프로세서 또는 가속기 설계.
  • 현대적인 프로그래밍 언어와 온라인 튜토리얼을 활용한 디지털 설계 학습.
  • 후속 합성 및 시뮬레이션 흐름을 위해 Scala 코드에서 Verilog 생성.

빠른 시작

  1. 1

    미리 구성된 프로젝트를 제공하는 Chisel Template 리포지토리에서 시작하세요

  2. 2

    또는 build.sbt에 Chisel 의존성과 컴파일러 플러그인을 추가해 직접 프로젝트를 설정하세요

  3. 3

    설정 없이 브라우저에서 온라인 Chisel Bootcamp 튜토리얼을 이용해 보세요

사용 전 알아둘 점

  • JVM에서 Scala와 sbt 툴체인이 필요하므로 설정에 추가 작업이 듭니다.
  • Verilog 생성에는 firtool 컴파일러가 필요하므로 Scastie 같은 일부 온라인 플레이그라운드에서는 Verilog를 출력할 수 없습니다.

토픽

#hardware-description-language#rtl#scala#verilog#fpga#asic#chip-design#hdl#chip-generator#chisel

자주 묻는 질문

chisel은(는) 무엇인가요?
Verilog를 생성하는 매개변수화된 디지털 회로 생성기를 작성할 수 있도록 Scala에 내장된 오픈 소스 하드웨어 기술 언어입니다. Chisel(Constructing Hardware in a Scala Embedded Language)은 레지스터 전송 수준에서 디지털 전자 회로를 설계하기 위한 하드웨어 기술 언어입니다. Verilog를 직접 작성하는 대신 회로를 구성하는 Scala 코드를 작성하므로, 함수, 클래스, 루프 같은 일반적인 프로그래밍 구문을 사용해 하드웨어를 생성할 수 있습니다. 출력은 ASIC과 FPGA 설계 모두에 사용할 수 있는 합성 가능한 Verilog 또는 SystemVerilog입니다.
chisel은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
chisel은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
chisel은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. chisel의 마지막 커밋은 2026년 11월 5일입니다.
chisel은(는) 어디에 사용할 수 있나요?
ASIC 또는 FPGA 설계에 사용할 재사용 가능한 매개변수화 IP 블록 작성. 생성기 스타일의 코드가 필요한 프로세서 또는 가속기 설계. 현대적인 프로그래밍 언어와 온라인 튜토리얼을 활용한 디지털 설계 학습. 후속 합성 및 시뮬레이션 흐름을 위해 Scala 코드에서 Verilog 생성.
chisel는 어떻게 설치하나요?
미리 구성된 프로젝트를 제공하는 Chisel Template 리포지토리에서 시작하세요 또는 build.sbt에 Chisel 의존성과 컴파일러 플러그인을 추가해 직접 프로젝트를 설정하세요 설정 없이 브라우저에서 온라인 Chisel Bootcamp 튜토리얼을 이용해 보세요
chisel은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/chipsalliance/chisel

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트

XiangShan 프로젝트에서 개발한 Scala와 Chisel 기반의 오픈소스 고성능 RISC-V 프로세서 코어입니다.

기타#risc-v#processor#chisel
7.4천+13 이번 주977ScalaMulanPSL-2.0활발히 관리됨업데이트 13시간 전

RTL, 검증 환경, 문서를 모두 Claude Code로 작성한 SystemVerilog 기반 64비트 RISC-V CPU 코어로, Arty A7 FPGA 보드에서 Linux를 부팅합니다.

기타#risc-v#cpu#fpga
168+8 이번 주32SystemVerilogApache-2.0업데이트 17일 전