CIRCT 커뮤니티, 목표, 참여 방법 및 하드웨어 설계 도구를 위한 프로젝트의 동기를 소개합니다.
“CIRCT”는 “회로 IR 컴파일러 및 도구”를 의미합니다. 이를 재귀적으로 “CIRCT IR 컴파일러 및 도구”로 해석할 수도 있습니다. T는 도구, 변환기, 팀, 기술, 대상, 트리, 타입, … 등으로 선택적으로 확장할 수 있습니다. 이러한 모호성은 괜찮습니다.
CIRCT 커뮤니티는 개방적이고 환영하는 커뮤니티입니다. 참여하고 싶다면 여러 방법이 있습니다.
LLVM Discourse 서버의 Discourse 포럼에 참여하세요. 메일링 리스트와 비슷한 환경을 원하면 오른쪽 상단의 종 아이콘을 클릭하고 “주시”로 전환하세요. Discourse 프로필로 이동한 뒤 “이메일” 탭에서 “메일링 리스트 모드 활성화”를 선택하는 것도 도움이 됩니다.
실시간 토론을 위해 LLVM Discord 서버의 CIRCT 채널에 참여하세요.
매주 열리는 화상 채팅에 참여하세요. 자세한 내용은 회의 기록 문서를 참고하세요.
코드에 기여하세요. CIRCT는 모든 LLVM 정책을 따릅니다. CIRCT 저장소에 풀 리퀘스트를 만들고, 표준 LLVM 정책에 따라 커밋 권한을 얻을 수 있습니다.
또한 현재 방언과 그 상호작용을 간략히 보여 주는 다음 다이어그램도 살펴보세요.
전자 설계 자동화 업계에는 잘 알려져 널리 사용되는 독점 및 오픈 소스 도구가 있습니다. 그러나 이들 도구는 일관성이 부족하고 사용성 문제가 있으며, 공통 플랫폼으로 함께 설계되지 않았습니다. 또한 이러한 도구는 일반적으로 서로 교환하는 IR로 Verilog와 VHDL를 사용하여 구축됩니다. Verilog에는 잘 알려진 설계 문제가 있고, 예를 들어 위치 추적 지원이 미흡하다는 한계가 있습니다.
CIRCT 프로젝트는 하드웨어 설계 도구 영역에 MLIR과 LLVM 개발 방법론을 적용하려는 실험적 시도입니다. 우리 중 많은 사람은 모듈식이고, 라이브러리 기반 설계 기법을 사용하며, 더 일관되고, 컴파일러 인프라 및 컴파일러 설계 기법의 모범 사례를 바탕으로 하는 재사용 가능한 인프라를 꿈꿉니다.
함께 협력함으로써, 오픈 하드웨어 도구를 개발하는 작지만 열정적인 사람들로 이루어진 커뮤니티의 기여를 끌어들일 새로운 구심점을 만들 수 있기를 바랍니다. 이를 통해 오픈 도구가 발전하고, 하드웨어 설계를 위한 새로운 고수준 추상화가 가능해지며, 어쩌면 일부 구성 요소는 시간이 지나 독점 도구에도 채택될 수 있기를 바랍니다.
더 자세한 내용은 긴 헌장 문서를 참고하세요.
야간 성능 그래프: https://circt.org/perf/