01 · Ce qu’est RNL
Des netlists riches en sémantique de circuit
RNL comble le fossé de sémantique de haut niveau entre les netlists et les schémas : structures, intention et dessin
Un cas réel en RNL conçu par un agent, et le schéma rendu à partir de celui-ci
La relecture ne demande pas de lire la netlist ligne par ligne, mais seulement de vérifier la sémantique qu’elle déclare. Les informations exactes du schéma peuvent être générées par un solveur ou produites directement par un modèle.
La netlist détient les composants et leurs types, les paramètres, les connexions, l’interface de sous-circuit
RNL détient les structures, l’intention, le dessin, les symboles d’affichage ; il ne fait que référencer la netlist
La netlist décrit les faits électriques, et Rich Netlist décrit comment comprendre et présenter le circuit
Logé dans les commentaires
Écrit dans les commentaires valides de la netlist hôte, tels que * @RNL {…} en SPICE. Les simulateurs l’ignorent ; rien n’a besoin d’être retiré.
Laisse le circuit intact
Il référence uniquement les composants, nets et bornes de la netlist ; il ne peut ajouter ni composants, ni connexions, ni paramètres.
Niveau de détail libre
De « M1 et M2 forment une paire différentielle » jusqu’à chaque coordonnée et chaque coude, mêlés librement dans un même fichier.
RNL n’est pas
- Un langage de netlist de plus
- Une seconde liste de connexions
- Un format qui impose un dessin unique
- Une archive d’image au pixel près
02 · Pourquoi
Aux netlists comme aux schémas, il manque une moitié du tableau
La simulation s’exécute sur des netlists ; comprendre un circuit demande un schéma. Chacun est insuffisant à lui seul.
| Tâche | Netlist | Schéma (format propriétaire) | Netlist + RNL |
|---|---|---|---|
| Le simulateur le lit directement | Elle est faite pour cela | Exporter d’abord une netlist | RNL n’est que des commentaires |
| Voir la structure du circuit d’un coup d’œil | Seulement des lignes de texte | Oui | Une visionneuse le dessine |
| Texte brut comparé par diff et suivi dans Git | Oui | Base de données binaire | Oui |
| L’IA peut le lire et l’écrire | Texte | Format graphique | Le dessin aussi est du texte |
| S’ouvre sans l’outil d’origine | N’importe quel éditeur de texte | Nécessite le même logiciel et la même version | N’importe quelle visionneuse RNL |
| Porte l’intention de conception | Non | Uniquement dans l’image ; les machines ne peuvent pas la lire | Paires et symétries sont des instructions |
| Une seule source de vérité pour le circuit | Oui | Le schéma et la netlist peuvent diverger | La connectivité provient uniquement de la netlist |
Nouveaux défis des flux de conception pilotés par l’IA
L’IA écrit des netlists que l’humain ne peut pas relire
Quelques centaines de lignes générées ne disent pas au relecteur ce qu’est le circuit.
L’IA dessine des schémas de façon peu fiable
Dessiner un schéma trait par trait est difficile pour les modèles de langue, et les résultats varient fortement d’un modèle à l’autre.
Les agents n’accèdent aux schémas qu’à travers les outils EDA
Le schéma se trouve dans une base de données binaire propriétaire : le lire ou modifier un seul fil passe par l’interface de l’outil.
Les palliatifs actuels
Redessiner à la main
Lent, et chaque modification de la netlist oblige à redessiner.
Générer automatiquement
Le placement automatique connaît les connexions mais pas la structure : impossible de voir quels transistors forment une paire.
Captures d’écran et exportations
On garde l’image et on perd le circuit : plus de simulation, plus d’édition.
Dépendre des API d’EDA
L’IA ne peut modifier le circuit qu’à travers l’API de l’outil EDA, prisonnière de l’écosystème EDA.
L’approche de RNL : un format en texte brut que les humains et l’IA peuvent lire et modifier directement, indépendant de tout outil EDA particulier
03 · Avantages
Ce que l’on gagne à écrire le sens
Le sens d’abord
Indiquez quels composants forment une paire différentielle ou un miroir de courant, ce qui est symétrique, où circule le courant. Ces instructions restent dans le fichier quelle que soit l’évolution du dessin.
Un seul fichier en texte brut
Les simulateurs l’exécutent comme avant ; il se compare par diff et se fusionne dans Git ; le dessin et la netlist ne peuvent pas diverger.
L’IA écrit, l’humain relit
L’IA écrit le circuit avec ses structures et son dessin ; l’humain relit dans une visionneuse les structures et l’intention déclarées.
Ouvert
Une norme et des bibliothèques de symboles publiques, des outils open source, une visionneuse qui s’ouvre dans le navigateur.
Le circuit séparé du style
La netlist définit ce qu’est le circuit ; les paquets décident de son aspect, comme HTML pour le contenu et CSS pour le style. Incluez les paquets publics eda-symbol et eda-style, et le même fichier se dessine comme un schéma EDA traditionnel. Changez l’aspect dans l’exemple.
04 · Scénarios
Même tâche, deux façons de faire
Des situations courantes, traitées aujourd’hui et avec RNL.
Concevez-moi un OTA à cinq transistors.
La netlist est là, mais rien n’y indique ce qu’est le circuit.
Quelques centaines de lignes générées ne disent pas au relecteur ce qu’est le circuit, et les modèles dessinent son schéma de façon peu fiable.
Concevez-moi un OTA à cinq transistors.
L’agent écrit les structures et le dessin en même temps que le circuit ; une personne relit dans une visionneuse ce qu’il a déclaré.
L’humain relit les structures et l’intention, pas la netlist ligne par ligne.
Le schéma est une base de données binaire, si bien que la gestion de versions peut seulement dire « le fichier a changé ».
Une modification tient en une ligne lisible : M2 déplacé en x = 30. Git, les pull requests et la CI s’y appliquent comme à du code.
Les modifications de schémas peuvent elles aussi être relues et annulées.
Le schéma et la netlist conservent chacun leur propre copie des connexions, et les deux peuvent diverger.
La connectivité est définie uniquement par la netlist. Des traits qui se croisent, ou des extrémités qui tombent simplement au même endroit, ne deviennent jamais une connexion ; les fils dessinés ne se rejoignent que là où ils partagent un point ou une borne.
Le circuit n’a qu’une seule source de vérité : la netlist.
Chaque outil a son propre format de schéma et ses propres bibliothèques de symboles.
Changer d’outil oblige souvent à redessiner le schéma ; changer de simulateur oblige à réécrire le dialecte de la netlist.
Le préfixe de commentaire suit le format de la netlist ; le contenu RNL reste identique.
Le contenu RNL est le même dans tous les formats de netlist, et les symboles sont définis en RNL, de sorte qu’ils voyagent avec le fichier ou une bibliothèque.
Changez de simulateur ou de visionneuse, et le dessin est toujours là.
Les formats traditionnels ne s’ouvrent que dans l’outil EDA qui les a écrits, de sorte que le destinataire a besoin du même environnement. Une capture d’écran associée à une netlist devient obsolète dès que l’un des deux change.
- Le simulateur l’exécute comme d’habitude
- Un navigateur affiche le schéma
- Collègues et IA peuvent le lire et le modifier
RNL est du texte brut, facile à partager et à publier en open source : le simulateur exécute le fichier et une visionneuse dans le navigateur le dessine.
Le schéma voyage avec le circuit, et non avec l’outil.
05 · Vision
Un écosystème ouvert, et un flux de conception bâti dessus
RNL est la couche de données : les circuits et leur sens dans des fichiers que chacun peut ouvrir.
Un écosystème ouvert
Des circuits et des bibliothèques de symboles publiés et réutilisés comme des logiciels open source.
- Une norme publiqueLe langage et ses paquets, spécifiés ouvertement
- Bibliothèques de symbolesLe dessin de chaque symbole et le texte qui le définit
- Une galerie de circuitsDes circuits dans des dépôts publics, ouverts dans la visionneuse web
- Outils open sourceL’environnement d’exécution, la ligne de commande et les visionneuses
Un flux de conception bâti sur RNL
Les agents écrivent et modifient les circuits ; l’humain relit leurs structures et leur intention ; les outils EDA simulent et vérifient.
Agents
Écrivent et modifient les circuits, avec leurs structures et leur dessin.
Humains
Relisent dans une visionneuse les structures et l’intention déclarées.
ota5t.sp
RNL, la couche de données : netlist + sens
Outils EDA
Simulent et vérifient ; un simulateur ignore les commentaires RNL.
06 · État d’avancement
Où en sont les choses
Le langage est publié sous forme de la norme 0.3 ; les visionneuses web et de bureau lisent, dessinent et éditent les netlists, et le solveur dispose d’une première version. Vous trouverez ci-dessous les derniers jalons publiés ainsi que la suite du programme ; la chronologie complète recense tous les jalons publiés.
- Cœur RNL 0.5.4
Core 0.5.4: rnl solve says the solver is a preview; each object lists the usages and groups it is a member of, in the Document, the snapshot and the new rnl explain; package files and hardware-description files are known by their format; the solver tells supply, ground and port symbols by their drawing. Notes de version
- Cœur RNL 0.5.5
Core 0.5.5: the Document carries the parameters of subcircuits, those a definition gives, those an instance writes and the numbers they come to, and a build can bind values to them; an instance of a subcircuit that Auto Include found defined several times lists the definitions. Notes de version
- Visionneuse de bureau 0.5.3
RNL Viewer 0.5.3: entering an instance of a subcircuit that Auto Include found defined several times asks which definition to open; a subcircuit shows its parameters in a bar under the path, and a dialog changes them; entering a subcircuit of another file takes the values its instance writes. Notes de version
- Chronologie complète
- À venir
- Norme du langage 0.4
Prévu : choix des symboles selon le nombre de bornes ; introduction de
@SOLVER-CONFIG. - Objectifs du solveur, deuxième version
Prévu : sortir les noms du paquet standard de la logique codée en dur du solveur pour les placer dans sa configuration, afin que les objectifs de sens du courant, d’orientation de la masse et de flux du signal fonctionnent sur les fichiers 0.3.
Questions fréquentes
Les simulateurs vont-ils rejeter une netlist contenant du RNL ?
Non. Le RNL est écrit uniquement dans les commentaires valides de la netlist hôte, que les simulateurs ignorent sans prétraitement. Quel marqueur exact est sans risque dans le simulateur de chaque éditeur est encore en cours de vérification.
RNL va-t-il modifier mon circuit ?
Non. Les composants, les paramètres et les connexions sont définis uniquement par la netlist ; RNL ne peut que les référencer. Lorsque seul le RNL change, le corps de la netlist reste tel quel.
Dois-je obligatoirement écrire des coordonnées ?
Non. « M1 et M2 forment une paire différentielle, symétrique par rapport à l’axe central » est une description valide à elle seule ; les coordonnées peuvent être laissées au solveur ou ajoutées plus tard.
Des outils différents dessineront-ils le même RNL de la même façon ?
Les parties dotées d’une géométrie exacte concorderont. Les parties qui n’expriment qu’une intention peuvent être dessinées différemment par différents solveurs tout en satisfaisant cette intention ; RNL ne promet pas un rendu identique au pixel près.
En quoi cela diffère-t-il des fichiers de schémas de Virtuoso ou de KiCad ?
Ceux-ci sont les formats graphiques propres à chaque outil, enregistrés séparément de la netlist. RNL est attaché à la netlist, tout outil qui le prend en charge peut le lire, et les symboles sont eux-mêmes définis en RNL.
Pourquoi est-il si souvent question d’IA ?
Les modèles de langue savent bien lire et écrire du texte tel que des netlists. RNL transforme aussi la structure, l’intention et le dessin du circuit en texte, de sorte qu’un agent écrit un circuit et son sens dans un seul fichier et que l’humain relit dans une visionneuse ce qu’il a déclaré. Le texte libre entre les instructions aide les humains à lire, mais ne change jamais ce que comprennent les machines.
Peut-on écrire du RNL dans d’autres langues ?
Les mots-clés et les noms des paquets standards peuvent avoir des alias dans une autre langue. Un fichier peut déclarer des alias individuels avec @ALIAS dans son enregistrement d’en-tête, ou charger un paquet d’alias (un fichier de paquet rassemblant les alias d’une langue) avec @USE-ALIASES(name=…, version=…), ou path=… pour un fichier personnalisé. La série standard 0.3 en intègre un seul pour le moment, le chinois (rnl-zh) : écrivez @USE-ALIASES(name="rnl-zh", version="0.3") dans l’enregistrement d’en-tête pour utiliser ses alias. Un alias n’est qu’une graphie alternative : les deux peuvent être mêlées librement et les machines lisent les mêmes instructions ; l’enregistrement d’en-tête lui-même utilise toujours la graphie standard.
Puis-je l’utiliser dès maintenant ?
Pour consulter des schémas et éditer le texte des netlists, oui : les visionneuses ouvrent les netlists avec RNL dans le navigateur ou sous Windows, Linux et macOS, dessinent les objets placés, et vous permettent de modifier le texte et de relancer le rendu. Le placement automatique en est à ses débuts : un premier solveur est disponible dans rnl solve et, en aperçu, dans la visionneuse de bureau. La visionneuse web ne l’exécute pas encore, et liste donc les objets non placés dans sa vue Non dessinés. L’édition par glisser-déposer n’est pas encore disponible.
07 · Pour aller plus loin
Pour les détails, consultez ces pages
- →Présentation du langageÀ quoi ressemble le langage, neuf sections et quelques exemples, tous interactifs
- →NormeLe texte formel, accompagné d’un guide abrégé et des principes
- →PaquetsComment chaque symbole est dessiné, et le texte qui le définit
- →OutilsLes visionneuses web et de bureau, ainsi que toute la chaîne d’outils
- →Pour les agentsLe paquet de compétence, llms.txt et comment les utiliser