2 points par GN⁺ 2024-02-06 | 1 commentaires | Partager sur WhatsApp
  • Présentation d’atopile

    • atopile est un projet créé par des fondateurs qui développent un outil permettant de décrire des appareils électroniques en code.
    • Ils ont ressenti, dans la conception matérielle, une difficulté comparable à celle de construire un produit logiciel en n’utilisant que du code assembleur.
    • Il n’existe actuellement pas de bonne méthode pour réutiliser des conceptions existantes et compiler leur description en produit.
  • Objectif d’atopile

    • atopile est un langage open source et une toolchain destinés à décrire des circuits en code.
    • Le compilateur est disponible sur GitHub, et la documentation peut être consultée sur le site web d’atopile.
    • Une analyse détaillée de la conception d’un module ESP32 est disponible via le lien vidéo fourni.
  • Contexte de développement

    • Les fondateurs devaient, dans leur précédent emploi, dessiner et exporter manuellement des cartes de circuits électroniques.
    • Après qu’un ami ingénieur logiciel leur a montré un workflow de développement automatisé, ils se sont demandé s’il était possible de construire la même chose pour le matériel.
  • Le langage ato

    • Ils ont développé le langage « ato » afin d’abstraire efficacement les appareils électroniques.
    • Dans le langage ato, un circuit est divisé en modules, composants et interfaces, et ces blocs peuvent être reliés entre eux.
    • Un exemple de code utilisant le microcontrôleur RP2040 est fourni.
  • Fonctions du compilateur

    • Le compilateur génère une netlist décrivant la manière dont le circuit est connecté et sélectionne pour l’utilisateur des composants jellybean.
    • À l’avenir, il est prévu d’ajouter la réutilisation de layout, des relations mathématiques entre les valeurs, ainsi qu’une manière de définir des circuits similaire aux traits de Rust.
  • Périmètre d’utilisation d’atopile

    • atopile est actuellement destiné à la conception de tous types de cartes de circuits imprimés (PCB) de complexité faible à moyenne.
    • La complexité des circuits que le compilateur pourra traiter augmentera progressivement afin de convenir à un usage en production.
    • Il est clairement précisé que le compilateur est uniquement destiné aux PCB, et non à la conception de puces.
  • Open source et plan de monétisation

    • La prospérité de la communauté logicielle est attribuée aux technologies open source et open core.
    • Afin que les ingénieurs hardware puissent eux aussi bénéficier de ces avantages, le cœur d’atopile est proposé en open source (Apache 2.0).
    • À l’image de GitLab, le projet prévoit de générer des revenus en vendant des fonctionnalités destinées aux entreprises.
  • Appel aux retours de la communauté

    • Le projet demande des retours sur le compilateur et interroge les utilisateurs sur leur expérience en électronique ainsi que sur leurs attentes vis-à-vis d’atopile.

Avis de GN⁺

  • Le projet atopile peut être vu comme une tentative innovante d’améliorer l’automatisation et la réutilisabilité de la conception hardware.
  • L’approche open source a le potentiel de favoriser une culture de collaboration et de partage dans la communauté de l’ingénierie hardware.
  • Ce projet constitue une étape importante pour appliquer l’efficacité et la flexibilité du développement logiciel à la conception matérielle, et pourrait entraîner de grands changements dans le domaine de l’ingénierie hardware.

1 commentaires

 
GN⁺ 2024-02-06
Avis Hacker News
  • Avis sur l'expression des circuits en code

    • Il ne s'agit pas d'exprimer des circuits en code, mais en texte. C'est une représentation non standard d'une netlist avec des métadonnées ajoutées ; c'est utile, mais cela ne précise pas réellement des caractéristiques de partitionnement ni les tolérances, par exemple.
    • Il serait préférable de définir des fonctions de génération de modules afin de créer un module de distribution en fonction du rapport souhaité, de la tolérance de sortie et du courant de sortie maximal. Il est également important d'ajouter les composants possibles à la BOM.
    • Cette approche réduit le travail répétitif dans la conception de circuits et permet de relire les fichiers de circuit comme on ferait une revue de code.
  • Avis sur les outils pour composants électroniques

    • L'état des outils pour composants électroniques est très mauvais, et aujourd'hui encore, la plupart des concepteurs copient depuis des PDF les condensateurs, quartz, ports de programmation et autres éléments nécessaires lorsqu'ils ajoutent un régulateur ou un microcontrôleur à un schéma.
    • Il est très difficile pour plusieurs personnes de travailler sur la même conception et de fusionner les modifications.
    • Passer à un monde modulaire rendrait la conception plus facile, et c'est une perspective très intéressante.
  • Avis sur le partage de modules

    • Partager et mettre en bibliothèque des modules comme un diviseur de tension est une bonne idée.
    • Si l'on modularise les contraintes de layout, on peut générer automatiquement le layout de l'ensemble du projet, ce qui permet une conception efficace.
  • Avis sur une nouvelle approche de la conception PCB

    • Poser les bases, en matière de richesse des données et d'interopérabilité, d'une nouvelle approche de la conception PCB est une idée formidable.
    • Comme les schémas électriques sont plus familiers aux ingénieurs électriciens, il faut pouvoir basculer entre le texte et un schéma visuel.
  • Suggestion d'utiliser Verilog

    • Il est proposé d'utiliser Verilog ou SystemVerilog pour définir les informations sur les composants sous forme de paramètres, puis de générer le schéma à partir de cela.
    • Verilog-AMS permettrait également la simulation analogique.
  • Avis sur la différence entre les programmes EDA et la CAO mécanique

    • Le manque de « relations » dans les programmes EDA, comparé à la CAO mécanique, est surprenant.
    • Des outils comme KiCad proposent des netclasses pour définir manuellement la largeur des pistes, mais des outils plus efficaces sont nécessaires.
  • Avis sur la syntaxe d'import de code

    • import Y from X devrait être remplacé par une forme comme import X.Y ou from X import Y afin de permettre l'utilisation d'outils d'autocomplétion.
  • BFH - Health Without Borders

    • BFH, c'est-à-dire BorderFreeHealth, défend un accès universel aux produits de santé en supprimant les barrières géographiques et en proposant une livraison mondiale de divers fournitures médicales.
  • Passion pour les travaux de domotique

    • La personne fait beaucoup de travaux de domotique et exprime sa frustration face au temps passé à utiliser des breadboards ou à concevoir des modules relais avec des E/S personnalisées.
    • Elle demande s'il existe un moyen de contribuer au projet.