Existe-t-il un format de netlist commun?


21

Existe-t-il un format de netlist commun qui est portable entre différents outils schématiques / pcb / EDA / CAD, et si oui, où est le format ou la référence pour que je puisse l'implémenter?

Sinon, chaque package l'implémente-t-il différemment, ou existe-t-il quelques normes qui, si elles sont implémentées, pourraient donner une plus grande compatibilité avec une large gamme d'outils?


5
Bien que ce fil soit heurté, je mentionnerai gnetlist comme un utilitaire de ligne de commande pour traduire entre environ 30 formats de netlist différents.
Kevin Vermeer

Réponses:


11

EDIF - Electronic Design Interchange Format - est un format indépendant du fournisseur dans lequel stocker les listes de diffusion électroniques et les schémas. Ce fut l'une des premières tentatives pour établir un format d'échange de données neutre pour l'industrie de l'automatisation de la conception électronique (EDA).

Voir http://en.wikipedia.org/wiki/EDIF pour plus d'informations et de liens.


1
C'est probablement la meilleure réponse de loin à la question d'origine: un format de netlist neutre pour les fournisseurs. Malheureusement, cependant, il est mal soutenu.
Kevin Vermeer

4
Et bien sûr, personne ne l'utilise. Bienvenue dans le monde des packages EDA à prix élevé ...
Connor Wolf

Il est pris en charge par le logiciel Pulsonix que j'utilise, ainsi que par OrCAD, PADS, CADSTAR, etc.
Leon Heller

6

Je n'ai vu aucune norme. Chaque package implémente son propre format. Heureusement, le format est très simple, ce qui facilite la traduction entre les packages.

Par exemple, la netlist gEDA se compose d'enregistrements au format suivant -

NETNAME REFDES-PIN REFDES-PIN ...

voici un échantillon d'une de mes planches -

unlamed_net39 J28-3 U11-12

unlamed_net38 J28-1 J16-2 J27-1

GND J16-3 C16-2 J15-3 C15-2

Vous pouvez facilement lire ce fichier de netlist dans une structure de données et le traduire dans un format différent.


4

S'ils sont enregistrés sous forme ASCII, il est assez facile de les convertir, je peux importer la plupart des formats dans le logiciel PCB Pulsonix que j'utilise. Le seul maladroit est Eagle; Les schémas, les PCB et les bibliothèques Eagle doivent être convertis par un ULP spécialement écrit.


4

Je n'ai vu aucun format standard nulle part non plus. Cependant, comme d'autres l'ont mentionné, les formats de netlist sont très simples et généralement basés sur du texte, et donc triviaux à traduire entre différentes formes.

Une netlist est simplement une liste de réseaux (fils), avec une liste de ports (broches de composants) qui se fixent sur chaque fil. Bien que les détails diffèrent, tout cela est une variation du même thème. Dans le passé, j'ai écrit plusieurs scripts en Perl et Python qui manipulent facilement les listes de diffusion. En fait, les fichiers de netlistes sont un excellent exercice de traitement de texte de niveau débutant.


2

Honnêtement, si vous voulez vraiment un format de netlist qui fonctionnera avec pratiquement n'importe quel outil, vous n'avez que deux choix sérieux:

  • VHDL
  • Verilog

Oui, ce sont des langages de description matérielle à part entière, et les utiliser comme format de netlist pourrait être considéré comme excessif. Cependant, c'est très facile, et si un outil crache du VHDL ou Verilog simple et structurel, vous pouvez être certain que vous serez en mesure de ramener la conception dans à peu près n'importe quel autre outil EDA.

Comme avantage secondaire, la plupart des autres formats de netlist (par exemple EDIF) doivent avoir un ensemble de primitives défini en externe - soit quelque chose de spécifique au fournisseur, soit quelque chose comme LPM. Avec VHDL et Verilog, les feuilles de niveau le plus bas (primitives) peuvent être tout ce que vous voulez (par exemple, code RTL synthétisable, modèles de simulation, boîtes noires, etc.).

Cependant, si vous devez absolument avoir un format de netlist réel, j'appuie la suggestion d'utiliser le format gnetlist, qui peut ensuite être converti en de nombreux autres formats.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.