Le logiciel de conception de circuits que j'ai vu a la capacité de router automatiquement les traces, etc. sur un PCB.
Mais pourquoi ce logiciel n'a-t-il pas la capacité de placer automatiquement des composants sur un PCB, par exemple pour minimiser la taille totale de la carte?
Est-ce simplement trop compliqué pour être automatisé?
23
Réponses:
J'ai récemment conçu certains PCB et je vous suggère de NE PAS utiliser d'auto-placer ou d'auto-routeur pour votre produit final. (Proteus a un placeur automatique.)
Tout d'abord - Votre logiciel est aussi intelligent qu'un ver de terre en ce qui concerne le placement automatique ou le routage automatique. En d'autres termes, c'est stupide comme une pomme de terre.
Le routage automatique ne saurait pas quel emplacement vous donnera un meilleur motif de trace qui vous permettra non seulement de faire une conception efficace, mais aussi de minimiser le bruit dans le circuit. De même, le routage automatique ne sait pas que le fait de déplacer légèrement un composant vers la gauche ou la droite vous permettrait de router une piste d'une meilleure manière. Ces outils vous donneront juste un design correct selon le circuit. Mais quand il s'agit de performances réelles, les choses sont différentes.
Par exemple:
Votre logiciel ne respectera pas ces concepts car ils ne sont pas mentionnés dans votre schéma. Vous ne saurez que lorsque vous aurez fabriqué le PCB et qu'il ne fonctionnera pas comme prévu tout le temps. Je ne dis pas que cela ne fonctionnera pas. Cela pourrait fonctionner, dans 90% des cas, mais vous devez également prendre ces 10% en considération.
Ma suggestion est que vous devriez apprendre certains concepts de conception de PCB et essayer de les placer et de les router vous-même. Vous pouvez toujours publier votre schéma et la disposition du tableau dans les forums et les experts vous donneront leur avis / suggestions.
la source
Mon routeur a un placeur et un support pour les "chambres". Cela vous permet de dessiner des zones et d'affecter des pièces à des "pièces" à partir du schéma. Le placeur automatique les regroupera dans la pièce à laquelle la pièce est affectée. À peu près sûr qu'il prend en charge ce connecteur devrait également aller à cet emplacement. Il existe également un outil qui peut effectuer le placement de découplage automatique et la sélection / optimisation de pièces en fonction des résultats de la simulation. Ce n'est pas bon marché :) mais ça marche.
Le placeur automatique peut vous faire gagner un peu de temps en plaçant tout ensemble comme ça. Mais je préfère toujours le cross-probing du schéma au mode layout in place.
Tout comme le routeur automatique, vous obtenez ce que vous mettez en termes de contraintes et comment vous pouvez l'utiliser. Si vous essayez simplement d'utiliser votre routeur automatique sans le contraindre correctement, il route simplement partout. Lorsqu'il est correctement configuré, nous l'utilisons pour acheminer correctement les sections DDR de grande longueur correspondante. Sur des planches beaucoup plus grandes et plus denses, c'est presque une nécessité, et certainement une exigence pour un magasin de services de mise en page qui a besoin de vitesse. Cependant, ces choses ne valent pas la peine pour quelqu'un qui ne fait que quelques petites planches par an.
la source
Une chose que vous ne considérez pas est qu'un schéma ne contient pas suffisamment d'informations pour disposer correctement un tableau .
Fondamentalement, la disposition des PCB nécessite une prise en compte et une adaptation pour quelques dizaines d'exigences de disposition par pièce , dont aucune n'est codifiée dans le schéma. Considérez uniquement les condensateurs de dérivation. Pour qu'un système automatisé place correctement le condensateur de dérivation pour chaque composant, vous devez disposer de directives supplémentaires sur le schéma qui dictent à l'autorouteur que la trace entre les deux nœuds doit être inférieure à une certaine longueur.
Vraisemblablement, vous auriez alors besoin de directives supplémentaires pour coder la priorité de la minimisation de la longueur pour divers réseaux, quelque chose pour dicter les paires différentielles / l'impédance contrôlée, les traces de garde (si nécessaire), etc.
Fondamentalement, il existe de nombreuses variables supplémentaires qui déterminent le placement, qui ne sont généralement pas codées du tout dans les documents schématiques / ratsnest.
De plus, même si vous supposez que vous avez toutes les contraintes de conception ci-dessus, la taille de l'espace problématique pour une mise en page commune est énorme . C'est l'équivalent d'essayer de résoudre une équation avec des milliers d'entrées, où chaque entrée a un effet non linéaire différent sur toutes les autres. En effet, le problème est complètement insoluble du point de vue de la force brute. Toute solution doit donc impliquer une sorte de mécanisme heuristique, qui a ses propres complexités.
En réalité, la principale raison pour laquelle il n'y a pas au moins de meilleures autorouteurs est qu'il n'y a tout simplement pas de marché. Le marché de l'EDA est relativement petit par rapport à de nombreux autres marchés de logiciels spécialisés et de niche, et même le meilleur autorouteur n'a jamais approché une véritable mise en page par un humain réel.
Quand au milieu d'une mise en page particulièrement ennuyeuse, j'ai généralement quelques fantasmes d'essayer de concevoir mon propre autorouteur, en faisant quelque chose avec des champs vectoriels et un recuit simulé, mais même cela n'aborderait qu'un optimum local, plutôt qu'une mise en page optimale générale.
la source
En 1974-1975, j'ai travaillé dans le département Design Automation de Honeywell. Le problème n'a pas changé depuis:
Il existe des approches basées sur l'IA pour traiter de tels problèmes. Cependant, à un moment donné, il est plus facile pour le concepteur d'essayer des choses et d'obtenir des commentaires du logiciel sur les critères de conception qui l'intéressent. Dire aux logiciels d'IA tout ce que vous savez peut être une tâche sans fin et ingrate. En fin de compte, le logiciel doit vous satisfaire, vous, le concepteur, et votre ensemble de compromis.
Le meilleur moyen pour que cela fonctionne, alors, est de le voir comme une collaboration entre le concepteur et le logiciel, le concepteur prenant les décisions finales. Le logiciel peut fournir des informations sur les propriétés, et peut suggérer des moyens d'améliorer une propriété d'intérêt, et aider à explorer les conséquences d'un changement.
Mais je prédis que nous ne verrons jamais, jamais, une mise en page entièrement automatisée - tant que des humains regarderont et se soucieront du résultat.
la source
Mon logiciel a un placeur. Je l'ai couru une fois juste pour voir ce qui allait se passer. Il est allé rugir à travers la planche et a obtenu tous les composants dessus. Quand je l'ai regardé, les pièces étaient PARTOUT. L'IC était dans un coin, et son capuchon de découplage était dans l'autre. Le chemin critique zigzague d'avant en arrière sur toute la ligne.
Mon point ici est que le placement est la partie la plus difficile de la mise en page. Il y a d'abord les contraintes mécaniques. Le ME / designer industriel veut que votre connecteur / interrupteur / pot / LED / tout autre composant d'interface externe se détache de la carte à un certain endroit. Certains composants peuvent être trop hauts pour se trouver dans certaines zones à l'intérieur du boîtier. Il peut y avoir des parties du circuit qui doivent garder un certain dégagement pour l'isolement.
Le logiciel peut être configuré pour gérer certains de ces facteurs, mais il ne fera jamais un aussi bon travail ou ne pourra voir visuellement les problèmes de la même manière qu'un humain. Dans un monde parfait, si vous obtenez le bon placement, effectuez le routage de l'alimentation, de la terre et du chemin critique, un passage rapide de l'autorouteur devrait être en mesure de terminer la mise en page.
la source
J'ai déjà utilisé des auto-placers, et ils sont en effet aussi stupides qu'un tas de rochers. La seule chose pour laquelle vous pouvez les utiliser judicieusement est de démêler une pile d'empreintes de pas qui ont toutes été importées dans votre planche au même endroit; tout autre chose est tout simplement trop demander.
la source