2 puan yazan GN⁺ 2024-02-06 | 1 yorum | WhatsApp'ta paylaş
  • atopile, elektronik devreleri kodla tanımlayan açık kaynaklı bir dil ve araç zinciri; PCB tasarımında gereksinimlerin ifade edilmesini, tasarımın yeniden kullanımını ve çıktı üretimini yazılım geliştirme gibi ele almayı amaçlıyor
  • Çıkış noktası, donanım tasarımının yalnızca assembly ile yazılım geliştirmek gibi hissettirmesi olmuş; GitHub tarzı otomatik build·test·merge akışını devre tasarımına da uygulama girişimi
  • Kendi dili ato, devreleri modüllere, bileşenlere ve arayüzlere ayırıp iç içe geçirmeye ve bağlamaya izin veriyor; RP2040, LED, 3.3V LDO ve USB-C konnektörünü birleştiren bir Blinky modülü örneği var
  • Derleyici, devre bağlantılarını gösteren bir netlist oluşturuyor ve genel amaçlı parçaları seçiyor; ileride yerleşim yeniden kullanımı, değerler arasındaki matematiksel ilişkiler ve Rust trait'ine benzer devre tanımlarını güçlendirmeyi hedefliyor
  • Mevcut hedef, düşük ila orta karmaşıklıktaki PCB tasarımı; çip tasarımı için değil ve çekirdek kısmı Apache 2.0 ile açık kaynak olarak sunulurken kurumsal özelliklerin satışıyla gelir elde edilmesi planlanıyor

Donanım tasarımını kod iş akışına taşıma girişimi

  • atopile, elektronik devreleri kodla açıklamak için geliştirilmiş açık kaynaklı bir dil ve araç zinciri
  • Hızlı akış kısa demo üzerinden görülebilir
  • Derleyici GitHub deposu üzerinde açık olarak yayımlanmış durumda ve belgeler getting started sayfasında bulunuyor
  • ESP32 modülü tasarım sürecini daha ayrıntılı ele alan içerik deep dive videosu olarak sunuluyor
  • Kurucular, önceki işlerinde elektronik devre kartlarını doğrudan çizip dışa aktarmak zorundaydı; bir yazılım mühendisi arkadaşlarının GitHub tabanlı otomasyon iş akışını görünce aynı yaklaşımın donanım için de uygulanıp uygulanamayacağını düşünmüşler

ato dili ve derleme çıktısı

  • ato dili, devreleri modüllere, bileşenlere ve arayüzlere ayırıyor; bu blokların iç içe geçirilmesine veya birbirine bağlanmasına olanak tanıyor
  • RP2040 örneği aşağıdaki öğeleri alıp Blinky modülünde birleştiriyor
    • RP2040Kit
    • LEDIndicatorBlue
    • LDOReg3V3
    • USBCConn
    • USB-C güç → voltaj regülatörü girişi → mikrodenetleyici gücü → GPIO13 ile LED girişinin bağlanması
    • LED direnç değeri 100ohm +/- 10% olarak belirtiliyor
  • Derleyici, devre bağlantılarını açıklayan bir netlist oluşturuyor ve genel amaçlı parça seçimini de yapıyor

Mevcut kapsam ve geliştirme yönü

  • Bir sonraki geliştirme odağı yerleşim yeniden kullanımı, değerler arasındaki matematiksel ilişkiler ve Rust trait'ine benzer şekilde devre tanımlama özellikleri
  • atopile şu anda düşük ila orta karmaşıklıktaki her tür baskılı devre kartı (PCB) tasarımını hedefliyor
    • Derleyicinin işleyebileceği devre karmaşıklığını zamanla kademeli olarak artırmayı planlıyorlar
    • Çip tasarımı için değil, PCB'ye özel bir dil
  • atopile çekirdeği Apache 2.0 ile açık kaynak hale getirilmiş
  • Gelir modeli, GitLab'e benzer şekilde kurumsal müşterilere yönelik özelliklerin satılması olarak planlanıyor

1 yorum

 
GN⁺ 2024-02-06
Hacker News görüşü
  • Devreleri kodla ifade etme konusundaki görüşler

    • Bu, devreleri kodla ifade etmekten ziyade metinle ifade etmek anlamına geliyor. Netlist’i standart dışı bir biçimde gösterip meta veriler ekliyor; faydalı olsa da gerçek bölme özellikleri veya toleranslar gibi unsurlar belirtilmiyor.
    • İstenen oran, çıkış toleransı ve maksimum çıkış akımına göre bölücü modülü üreten modül oluşturma fonksiyonları tanımlamak daha tercih edilir. Ayrıca mümkün olan bileşenleri BOM’a eklemek de önemlidir.
    • Bu yaklaşım, devre tasarımındaki tekrar eden işleri azaltır ve devre dosyalarının kod incelemesi yapar gibi gözden geçirilmesini sağlar.
  • Elektronik bileşen araçları hakkındaki görüşler

    • Elektronik bileşen araçlarının durumu çok kötü; bugün çoğu tasarımcı, şemaya bir regülatör veya mikrodenetleyici eklerken gereken kapasitörleri, kristali, programlama portlarını vb. PDF’lerden kopyalıyor.
    • Birden fazla kişinin aynı tasarım üzerinde çalışması ve değişiklikleri birleştirmesi çok zor.
    • Modüler bir dünyaya geçildiğinde tasarım daha kolay hale gelecek; bu da oldukça heyecan verici bir perspektif.
  • Modül paylaşımı hakkındaki görüşler

    • Gerilim bölücü gibi modülleri paylaşmak ve kütüphaneleştirmek iyi bir fikir.
    • Yerleşim kısıtlarını modüler hale getirmek, tüm projenin yerleşimini otomatik olarak oluşturabilir ve bu da verimli tasarımı mümkün kılar.
  • PCB tasarımına yeni yaklaşım hakkındaki görüşler

    • PCB tasarımına yönelik yeni bir yaklaşım için veri zenginliği ve birlikte çalışabilirlik temelini atmak harika bir fikir.
    • Elektrik şemaları elektrik mühendislerine daha tanıdık geldiği için, metin ve görsel şema arasında geçiş yapabilme özelliğine ihtiyaç var.
  • Verilog kullanım önerisi

    • Bileşen bilgilerini parametre olarak tanımlamak ve bunları kullanarak şema üretmek için Verilog veya SystemVerilog kullanılması öneriliyor.
    • Verilog-AMS ile analog simülasyon da yapılabilir.
  • EDA programları ile mekanik CAD arasındaki fark hakkındaki görüşler

    • Mekanik CAD’e kıyasla EDA programlarında “ilişkilerin” eksik olması şaşırtıcı bulunuyor.
    • KiCad gibi araçlar, iz genişliğini elle ayarlamayı sağlayan netclasses sunuyor, ancak daha verimli araçlara ihtiyaç var.
  • Kod içe aktarma sözdizimi hakkındaki görüşler

    • import Y from X, otomatik tamamlama araçlarının kullanılabilmesi için import X.Y veya from X import Y gibi bir yapıya dönüştürülmeli.
  • BFH - Sınırlar Olmadan Sağlık

    • BFH, yani BorderFreeHealth, coğrafi engelleri ortadan kaldırmayı ve çeşitli tıbbi ürünlerin küresel teslimatını sunan evrensel sağlık ürünü erişimini savunuyor.
  • Ev otomasyonu çalışmalarına duyulan tutku

    • Çok fazla ev otomasyonu işi yapılıyor ve breadboard kullanmaya ya da özel IO’ya sahip röle modülleri tasarlamaya çok zaman harcamaktan duyulan memnuniyetsizlik dile getiriliyor.
    • Projeye bağış yapılabilecek bir yol olup olmadığı soruluyor.