2 Punkte von GN⁺ 2024-02-06 | 1 Kommentare | Auf WhatsApp teilen
  • Einführung in atopile

    • atopile ist ein Projekt, das von Gründern entwickelt wird, die ein Werkzeug schaffen, um elektronische Geräte mit Code zu beschreiben.
    • Bei der Hardwareentwicklung empfanden sie eine ähnliche Schwierigkeit, wie wenn man ein Softwareprodukt ausschließlich mit Assembler bauen müsste.
    • Derzeit gibt es keine gute Möglichkeit, bestehende Entwürfe wiederzuverwenden und deren Beschreibung in ein Produkt zu kompilieren.
  • Ziel von atopile

    • atopile ist eine Open-Source-Sprache und Toolchain, um Schaltungen mit Code zu beschreiben.
    • Der Compiler ist auf GitHub verfügbar, die Dokumentation auf der atopile-Website.
    • Eine ausführliche Deep-Dive-Analyse zum Entwurf eines ESP32-Moduls ist über den bereitgestellten Videolink verfügbar.
  • Hintergrund der Entwicklung

    • Die Gründer mussten in ihrem früheren Job elektronische Leiterplatten manuell zeichnen und exportieren.
    • Nachdem ein befreundeter Softwareingenieur ihnen einen automatisierten Entwicklungs-Workflow gezeigt hatte, fragten sie sich, ob sich so etwas auch für Hardware bauen ließe.
  • Die Sprache ato

    • Um elektronische Geräte wirksam zu abstrahieren, entwickelten sie die Sprache "ato".
    • In ato lassen sich Schaltungen in Module, Komponenten und Schnittstellen aufteilen, und diese Blöcke können miteinander verbunden werden.
    • Es wird Beispielcode mit einem RP2040-Mikrocontroller bereitgestellt.
  • Funktionen des Compilers

    • Der Compiler erzeugt eine Netlist, die beschreibt, wie die Schaltung verbunden ist, und wählt für die Nutzer Jellybean-Komponenten aus.
    • Künftig sollen Funktionen wie die Wiederverwendung von Layouts, das Hinzufügen mathematischer Beziehungen zwischen Werten und eine an Rust-Features angelehnte Art der Schaltungsdefinition hinzukommen.
  • Einsatzbereich von atopile

    • atopile ist derzeit für den Entwurf aller Arten von Leiterplatten (PCB) mit niedriger bis mittlerer Komplexität gedacht.
    • Die Komplexität der Schaltungen, die der Compiler verarbeiten kann, soll schrittweise steigen, bis sie für den produktiven Einsatz geeignet ist.
    • Es wird klargestellt, dass der Compiler nur für PCBs und nicht für Chipdesign gedacht ist.
  • Open Source und Monetarisierungspläne

    • Dass die Software-Community floriert, verdankt sie Open Source und Open-Core-Technologien.
    • Damit auch Hardwareingenieure von diesen Vorteilen profitieren können, wird der Kern von atopile als Open Source (Apache 2.0) bereitgestellt.
    • Ähnlich wie GitLab soll Umsatz durch den Verkauf von Funktionen für Unternehmen erzielt werden.
  • Bitte um Feedback aus der Community

    • Es wird um Rückmeldungen zum Compiler gebeten, außerdem nach den Erfahrungen der Nutzer im Elektronikbereich und ihren Wünschen an atopile gefragt.

Meinung von GN⁺

  • Das atopile-Projekt kann als innovativer Versuch gesehen werden, Automatisierung und Wiederverwendbarkeit im Hardwaredesign zu verbessern.
  • Der Open-Source-Ansatz hat das Potenzial, in der Hardware-Engineering-Community eine Kultur der Zusammenarbeit und des Teilens zu fördern.
  • Das Projekt ist ein wichtiger Schritt, um Effizienz und Flexibilität aus der Softwareentwicklung auf Hardwaredesign zu übertragen, und könnte große Veränderungen im Hardware-Engineering auslösen.

1 Kommentare

 
GN⁺ 2024-02-06
Hacker-News-Kommentare
  • Meinungen dazu, Schaltungen als Code auszudrücken

    • Dabei handelt es sich nicht darum, Schaltungen als Code auszudrücken, sondern als Text. Es ist eine nicht standardisierte Darstellung einer Netzliste mit zusätzlichen Metadaten; nützlich zwar, aber tatsächliche Partitionierungseigenschaften oder Toleranzen werden nicht spezifiziert.
    • Wünschenswert wäre es, Funktionen zur Modulerzeugung zu definieren, die auf Basis des gewünschten Verhältnisses, der Ausgangstoleranz und des maximalen Ausgangsstroms ein Verteilermodul erzeugen. Außerdem ist es wichtig, mögliche Komponenten zur BOM hinzuzufügen.
    • Dieser Ansatz reduziert wiederkehrende Arbeiten im Schaltungsdesign und ermöglicht es, Schaltungsdateien ähnlich wie bei einem Code-Review zu prüfen.
  • Meinungen zu Werkzeugen für elektronische Bauteile

    • Der Zustand von Tools für elektronische Bauteile ist sehr schlecht, und bei den meisten Designs besteht der aktuelle Stand der Technik darin, beim Hinzufügen eines Reglers oder Mikrocontrollers zum Schaltplan die benötigten Kondensatoren, Kristalle oder Programmierports aus PDFs zu kopieren.
    • Es ist sehr schwierig, wenn mehrere Personen an derselben Designaufgabe arbeiten und Änderungen zusammengeführt werden müssen.
    • Der Wechsel in eine modularisierte Welt würde das Design vereinfachen, und das ist eine sehr spannende Aussicht.
  • Meinungen zum Teilen von Modulen

    • Das Teilen und Bibliothekisieren von Modulen wie einem Spannungsteiler ist eine gute Idee.
    • Wenn Layout-Beschränkungen modularisiert werden, kann das Layout des gesamten Projekts automatisch erzeugt werden, was ein effizientes Design ermöglicht.
  • Meinungen zu einem neuen Ansatz für PCB-Design

    • Es ist eine großartige Idee, die Grundlage für Datenreichtum und Interoperabilität für einen neuen Ansatz im PCB-Design zu schaffen.
    • Da elektrische Schaltpläne Elektroingenieuren vertrauter sind, wird eine Funktion benötigt, mit der zwischen Text und visuellen Schaltplänen gewechselt werden kann.
  • Vorschlag zur Nutzung von Verilog

    • Es wird vorgeschlagen, Verilog oder SystemVerilog zu verwenden, um Bauteilinformationen als Parameter zu definieren und daraus Schaltpläne zu erzeugen.
    • Mit Verilog-AMS wären auch analoge Simulationen möglich.
  • Meinungen zu den Unterschieden zwischen EDA-Programmen und Mechanical CAD

    • Im Vergleich zu Mechanical CAD überrascht der Mangel an „Beziehungen“ in EDA-Programmen.
    • Tools wie KiCad bieten „netclasses“, mit denen die Leiterbahnbreite manuell festgelegt wird, aber es werden effizientere Werkzeuge benötigt.
  • Meinungen zur Code-Import-Syntax

    • import Y from X sollte in etwas wie import X.Y oder from X import Y geändert werden, damit Autovervollständigungs-Tools genutzt werden können.
  • BFH - Health Without Borders

    • BFH, also BorderFreeHealth, setzt sich für universellen Zugang zu Gesundheitsprodukten ein, beseitigt geografische Barrieren und bietet weltweiten Versand verschiedener medizinischer Produkte.
  • Leidenschaft für Home-Automation-Arbeiten

    • Es besteht große Begeisterung für Home-Automation-Arbeiten, zugleich aber Unzufriedenheit darüber, viel Zeit mit Breadboards oder dem Entwerfen von Relaismodulen mit benutzerdefiniertem IO zu verbringen.
    • Es wird gefragt, ob es eine Möglichkeit gibt, zu dem Projekt beizutragen.