GN⁺: Show HN: Atopile – 코드로 회로 기판 설계
(news.ycombinator.com)-
atopile 소개
- atopile은 전자 장치를 코드로 설명하는 도구를 개발 중인 창업자들이 만든 프로젝트임.
- 소프트웨어 제품을 오직 어셈블리 코드만 사용하여 구축하는 것과 같은 어려움을 하드웨어 설계 시 느꼈음.
- 기존 설계를 재사용하고, 그 설명을 제품으로 컴파일하는 좋은 방법이 현재 없음.
-
atopile의 목표
- atopile은 회로를 코드로 설명하기 위한 오픈 소스 언어 및 툴체인임.
- 컴파일러는 GitHub에서 제공되며, 문서는 atopile 웹사이트에서 확인 가능함.
- ESP32 모듈 설계에 대한 자세한 심층 분석은 제공된 비디오 링크를 통해 볼 수 있음.
-
개발 배경
- 창업자들은 이전 직장에서 전자 회로 보드를 수동으로 그리고 내보내야 했음.
- 소프트웨어 엔지니어인 친구가 자동화된 개발 워크플로우를 보여준 후, 하드웨어에도 같은 것을 구축할 수 있는지 의문을 가짐.
-
ato 언어
- 전자 장치를 효과적으로 추상화하기 위해 "ato" 언어를 개발함.
- ato 언어에서는 회로를 모듈, 구성 요소, 인터페이스로 나누고, 이러한 블록들을 서로 연결할 수 있음.
- RP2040 마이크로컨트롤러를 사용한 예시 코드 제공.
-
컴파일러의 기능
- 컴파일러는 회로가 어떻게 연결되어 있는지 설명하는 넷리스트를 생성하고, 사용자를 위해 젤리빈 구성 요소를 선택함.
- 향후 레이아웃 재사용, 값 사이의 수학적 관계 추가, Rust의 특성과 유사한 방식으로 회로를 정의하는 기능을 추가할 예정임.
-
atopile의 사용 범위
- atopile은 현재 저-중간 복잡성을 가진 모든 종류의 인쇄 회로 기판(PCB) 설계를 위해 의도됨.
- 컴파일러가 처리할 수 있는 회로의 복잡성은 점차 증가하여 생산 사용에 적합해질 것임.
- 컴파일러가 칩 설계가 아닌 PCB용으로만 사용됨을 명확히 함.
-
오픈 소스와 수익 창출 계획
- 소프트웨어 커뮤니티가 번성하는 데 오픈 소스와 오픈 코어 기술 덕분임.
- 하드웨어 엔지니어들도 이러한 혜택을 누릴 수 있도록 atopile의 핵심을 오픈 소스(Apache 2.0)로 제공함.
- GitLab과 유사하게 기업 대상 기능 판매를 통해 수익을 창출할 계획임.
-
커뮤니티의 의견 요청
- 컴파일러에 대한 의견을 요청하며, 사용자들의 전자 분야 이야기와 atopile에 바라는 점을 물음.
GN⁺의 의견
- atopile 프로젝트는 하드웨어 설계의 자동화와 재사용성을 향상시키려는 혁신적인 시도로 볼 수 있음.
- 오픈 소스 접근 방식은 하드웨어 엔지니어링 커뮤니티에 협업과 공유의 문화를 촉진할 잠재력을 가지고 있음.
- 이 프로젝트는 소프트웨어 개발의 효율성과 유연성을 하드웨어 설계에 적용하려는 중요한 발걸음으로, 하드웨어 엔지니어링 분야에 큰 변화를 가져올 수 있음.
Hacker News 의견
-
회로를 코드로 표현하는 것에 대한 의견
- 이것은 회로를 코드로 표현하는 것이 아니라 텍스트로 표현하는 것임. 비표준적인 방식으로 넷리스트를 나타내고 메타데이터를 추가하는 것으로, 유용하긴 하지만 실제 분할 특성이나 허용 오차 등은 명시되지 않음.
- 모듈 생성 함수를 정의하여 원하는 비율, 출력 허용 오차, 최대 출력 전류를 기반으로 분배 모듈을 생성하는 것이 바람직함. 또한, 가능한 구성 요소를 BOM에 추가하는 것도 중요함.
- 이러한 접근 방식은 회로 설계의 반복 작업을 줄이고, 코드 리뷰와 같이 회로 파일을 검토할 수 있게 함.
-
전자 부품 도구에 대한 의견
- 전자 부품 도구의 상태가 매우 나쁘며, 대부분의 설계자들이 회로도에 레귤레이터나 마이크로컨트롤러를 추가할 때 필요한 캐패시터나 크리스탈, 프로그래밍 포트 등을 PDF에서 복사하는 것이 현재의 기술 상태임.
- 여러 사람이 동일한 설계 작업을 하고 변경 사항을 병합하는 것은 매우 어려움.
- 모듈화된 세계로 이동하면 설계가 더 쉬워질 것이며, 이는 매우 흥미로운 전망임.
-
모듈 공유에 대한 의견
- 전압 분배기와 같은 모듈을 공유하고 라이브러리화하는 것은 좋은 아이디어임.
- 레이아웃 제약 조건을 모듈화하면 전체 프로젝트의 레이아웃을 자동으로 생성할 수 있으며, 이는 효율적인 설계를 가능하게 함.
-
PCB 설계에 대한 새로운 접근 방식에 대한 의견
- PCB 설계에 대한 새로운 접근 방식을 위한 데이터 풍부함과 상호 운용성의 기초를 마련하는 것은 멋진 아이디어임.
- 전기 회로도가 전기 엔지니어에게 더 친숙하므로 텍스트와 시각적 회로도 간에 전환할 수 있는 기능이 필요함.
-
Verilog 사용 제안
- Verilog나 SystemVerilog를 사용하여 부품 정보를 매개변수로 정의하고, 이를 이용해 회로도를 생성하는 것이 제안됨.
- Verilog-AMS를 사용하여 아날로그 시뮬레이션도 가능함.
-
EDA 프로그램과 기계 CAD의 차이에 대한 의견
- 기계 CAD에 비해 EDA 프로그램에서는 "관계"의 부족에 놀람.
- KiCad와 같은 도구는 수동으로 트레이스 너비를 설정하는 'netclasses'를 제공하지만, 더 효율적인 도구가 필요함.
-
코드 임포트 구문에 대한 의견
-
import Y from X
는 자동완성 도구를 사용할 수 있도록import X.Y
또는from X import Y
와 같은 방식으로 변경되어야 함.
-
-
BFH - Health Without Borders
- BFH, 즉 BorderFreeHealth는 지리적 장벽을 없애고 다양한 의료 용품의 글로벌 배송을 제공하는 보편적인 건강 제품 접근을 지지함.
-
홈 자동화 작업에 대한 열정
- 홈 자동화 작업을 많이 하며, 빵판을 사용하거나 맞춤형 IO가 있는 릴레이 모듈을 설계하는 데 많은 시간을 소비하는 것에 대한 불만이 있음.
- 프로젝트에 기부할 수 있는 방법이 있는지 물음.