2 คะแนน โดย GN⁺ 2024-02-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • แนะนำ atopile

    • atopile เป็นโปรเจกต์ที่สร้างโดยผู้ก่อตั้งซึ่งกำลังพัฒนาเครื่องมือสำหรับอธิบายอุปกรณ์อิเล็กทรอนิกส์ด้วยโค้ด
    • พวกเขารู้สึกว่าการออกแบบฮาร์ดแวร์นั้นยากลำบากพอ ๆ กับการสร้างผลิตภัณฑ์ซอฟต์แวร์โดยใช้แค่ assembly code เท่านั้น
    • ปัจจุบันยังไม่มีวิธีที่ดีในการนำแบบออกแบบเดิมกลับมาใช้ซ้ำ และคอมไพล์คำอธิบายนั้นให้กลายเป็นผลิตภัณฑ์
  • เป้าหมายของ atopile

    • atopile คือภาษาและ toolchain แบบโอเพนซอร์สสำหรับอธิบายวงจรด้วยโค้ด
    • คอมไพเลอร์เปิดให้ใช้งานบน GitHub และเอกสารสามารถดูได้บนเว็บไซต์ของ atopile
    • การวิเคราะห์เชิงลึกเกี่ยวกับการออกแบบโมดูล ESP32 สามารถดูได้จากลิงก์วิดีโอที่ให้ไว้
  • ที่มาของการพัฒนา

    • ผู้ก่อตั้งเคยต้องวาดและส่งออกแผงวงจรอิเล็กทรอนิกส์ด้วยมือในที่ทำงานก่อนหน้า
    • หลังจากเพื่อนที่เป็นวิศวกรซอฟต์แวร์แสดงเวิร์กโฟลว์การพัฒนาแบบอัตโนมัติให้ดู พวกเขาก็เริ่มตั้งคำถามว่าสามารถสร้างสิ่งเดียวกันสำหรับฮาร์ดแวร์ได้หรือไม่
  • ภาษา ato

    • ได้พัฒนาภาษา "ato" ขึ้นมาเพื่อทำ abstraction ของอุปกรณ์อิเล็กทรอนิกส์อย่างมีประสิทธิภาพ
    • ในภาษา ato สามารถแบ่งวงจรออกเป็นโมดูล องค์ประกอบ และอินเทอร์เฟซ และเชื่อมบล็อกเหล่านี้เข้าด้วยกันได้
    • มีตัวอย่างโค้ดที่ใช้ไมโครคอนโทรลเลอร์ RP2040
  • ความสามารถของคอมไพเลอร์

    • คอมไพเลอร์จะสร้าง netlist ที่อธิบายว่าวงจรถูกเชื่อมต่อกันอย่างไร และเลือกชิ้นส่วน jellybean ให้ผู้ใช้
    • ในอนาคตมีแผนจะเพิ่มความสามารถด้านการนำ layout กลับมาใช้ซ้ำ การเพิ่มความสัมพันธ์ทางคณิตศาสตร์ระหว่างค่าต่าง ๆ และการนิยามวงจรในลักษณะที่คล้ายกับ trait ของ Rust
  • ขอบเขตการใช้งานของ atopile

    • ปัจจุบัน atopile ตั้งใจให้ใช้กับการออกแบบแผงวงจรพิมพ์ (PCB) ทุกประเภทที่มีความซับซ้อนระดับต่ำถึงปานกลาง
    • ความซับซ้อนของวงจรที่คอมไพเลอร์รองรับจะค่อย ๆ เพิ่มขึ้นจนเหมาะสำหรับการใช้งานจริงในระดับโปรดักชัน
    • มีการย้ำชัดว่าคอมไพเลอร์นี้ใช้สำหรับ PCB เท่านั้น ไม่ใช่การออกแบบชิป
  • แผนโอเพนซอร์สและการสร้างรายได้

    • ชุมชนซอฟต์แวร์เติบโตได้อย่างรุ่งเรืองด้วยเทคโนโลยีโอเพนซอร์สและ open core
    • เพื่อให้วิศวกรฮาร์ดแวร์ได้รับประโยชน์เหล่านี้เช่นกัน แกนหลักของ atopile จึงเปิดเป็นโอเพนซอร์สภายใต้ Apache 2.0
    • มีแผนสร้างรายได้ด้วยการขายฟีเจอร์สำหรับองค์กรในลักษณะคล้ายกับ GitLab
  • ขอความเห็นจากชุมชน

    • ขอความคิดเห็นเกี่ยวกับคอมไพเลอร์ พร้อมถามถึงประสบการณ์ด้านอิเล็กทรอนิกส์ของผู้ใช้และสิ่งที่อยากเห็นจาก atopile

ความเห็นของ GN⁺

  • โปรเจกต์ atopile อาจมองได้ว่าเป็นความพยายามเชิงนวัตกรรมในการยกระดับระบบอัตโนมัติและการนำกลับมาใช้ซ้ำในการออกแบบฮาร์ดแวร์
  • แนวทางโอเพนซอร์สมีศักยภาพในการส่งเสริมวัฒนธรรมการร่วมมือและการแบ่งปันในชุมชนวิศวกรรมฮาร์ดแวร์
  • โปรเจกต์นี้เป็นก้าวสำคัญในการนำประสิทธิภาพและความยืดหยุ่นของการพัฒนาซอฟต์แวร์มาปรับใช้กับการออกแบบฮาร์ดแวร์ และอาจสร้างความเปลี่ยนแปลงครั้งใหญ่ในวงการวิศวกรรมฮาร์ดแวร์

1 ความคิดเห็น

 
GN⁺ 2024-02-06
ความคิดเห็นจาก Hacker News
  • ความคิดเห็นเกี่ยวกับการแสดงวงจรด้วยโค้ด

    • สิ่งนี้ไม่ใช่การแสดงวงจรด้วยโค้ด แต่เป็นการแสดงด้วยข้อความ เป็นการแทน netlist ในรูปแบบที่ไม่เป็นมาตรฐานและเพิ่มเมทาดาทาเข้าไป ซึ่งมีประโยชน์ แต่ไม่ได้ระบุคุณลักษณะการแบ่งจริงหรือค่าความคลาดเคลื่อน เป็นต้น
    • ควรกำหนดฟังก์ชันสร้างโมดูลเพื่อสร้างโมดูลแบ่งสัญญาณตามอัตราส่วนที่ต้องการ ค่าความคลาดเคลื่อนของเอาต์พุต และกระแสเอาต์พุตสูงสุด นอกจากนี้ การเพิ่มคอมโพเนนต์ที่เป็นไปได้ลงใน BOM ก็สำคัญเช่นกัน
    • แนวทางนี้ช่วยลดงานซ้ำในการออกแบบวงจร และทำให้สามารถตรวจทานไฟล์วงจรได้เหมือนกับการทำ code review
  • ความคิดเห็นเกี่ยวกับเครื่องมือชิ้นส่วนอิเล็กทรอนิกส์

    • สถานะของเครื่องมือชิ้นส่วนอิเล็กทรอนิกส์นั้นแย่มาก และในปัจจุบันผู้ออกแบบส่วนใหญ่ยังคงคัดลอกข้อมูลจาก PDF เมื่อต้องเพิ่มคาปาซิเตอร์ คริสตัล หรือพอร์ตสำหรับโปรแกรม เข้าไปพร้อมกับเรกูเลเตอร์หรือไมโครคอนโทรลเลอร์ในแผนผังวงจร
    • การที่หลายคนทำงานออกแบบเดียวกันและรวมการเปลี่ยนแปลงเข้าด้วยกันนั้นยากมาก
    • หากย้ายไปสู่โลกที่เป็นโมดูลมากขึ้น การออกแบบจะง่ายขึ้น และนี่เป็นแนวโน้มที่น่าสนใจมาก
  • ความคิดเห็นเกี่ยวกับการแชร์โมดูล

    • การแชร์และทำให้เป็นไลบรารีสำหรับโมดูลอย่างตัวแบ่งแรงดันไฟฟ้าเป็นไอเดียที่ดี
    • หากทำข้อจำกัดด้านเลย์เอาต์ให้เป็นโมดูล ก็อาจสร้างเลย์เอาต์ของทั้งโปรเจกต์แบบอัตโนมัติได้ ซึ่งช่วยให้การออกแบบมีประสิทธิภาพ
  • ความคิดเห็นเกี่ยวกับแนวทางใหม่สำหรับการออกแบบ PCB

    • การวางรากฐานด้านข้อมูลที่สมบูรณ์และการทำงานร่วมกันได้สำหรับแนวทางใหม่ในการออกแบบ PCB เป็นไอเดียที่ยอดเยี่ยม
    • เนื่องจากแผนผังวงจรไฟฟ้าคุ้นเคยกับวิศวกรไฟฟ้ามากกว่า จึงจำเป็นต้องมีความสามารถในการสลับไปมาระหว่างข้อความกับแผนผังวงจรแบบภาพ
  • ข้อเสนอให้ใช้ Verilog

    • มีข้อเสนอให้ใช้ Verilog หรือ SystemVerilog เพื่อกำหนดข้อมูลชิ้นส่วนเป็นพารามิเตอร์ และใช้สิ่งนั้นสร้างแผนผังวงจร
    • ยังสามารถใช้ Verilog-AMS สำหรับการจำลองแบบแอนะล็อกได้ด้วย
  • ความคิดเห็นเกี่ยวกับความแตกต่างระหว่างโปรแกรม EDA กับ CAD เชิงกล

    • รู้สึกประหลาดใจกับการขาด "ความสัมพันธ์" ในโปรแกรม EDA เมื่อเทียบกับ CAD เชิงกล
    • เครื่องมืออย่าง KiCad มี 'netclasses' สำหรับกำหนดความกว้างของลายทองแดงด้วยตนเอง แต่ก็ยังต้องการเครื่องมือที่มีประสิทธิภาพกว่านี้
  • ความคิดเห็นเกี่ยวกับไวยากรณ์การ import โค้ด

    • import Y from X ควรถูกเปลี่ยนเป็นรูปแบบอย่าง import X.Y หรือ from X import Y เพื่อให้ใช้เครื่องมือ autocomplete ได้
  • BFH - Health Without Borders

    • BFH หรือ BorderFreeHealth สนับสนุนการเข้าถึงผลิตภัณฑ์เพื่อสุขภาพอย่างทั่วถึง โดยขจัดอุปสรรคทางภูมิศาสตร์และให้บริการจัดส่งเวชภัณฑ์หลากหลายประเภททั่วโลก
  • ความหลงใหลในงานโฮมออโตเมชัน

    • มีการทำงานด้านโฮมออโตเมชันจำนวนมาก และรู้สึกไม่พอใจกับการต้องใช้เวลามากไปกับการใช้ breadboard หรือออกแบบรีเลย์โมดูลที่มี IO แบบกำหนดเอง
    • ถามว่ามีวิธีใดบ้างที่จะสามารถบริจาคให้กับโปรเจกต์นี้ได้