+ All Categories
Home > Documents > La CAO Électronique sous Linux - ma. · (conception de circuits imprimés ou circuits intégrés)...

La CAO Électronique sous Linux - ma. · (conception de circuits imprimés ou circuits intégrés)...

Date post: 12-Sep-2018
Category:
Upload: vandat
View: 223 times
Download: 0 times
Share this document with a friend
20
La CAO Électronique La CAO Électronique sous Linux sous Linux 14 janvier 2005 Xavier NOURISSON Adrien ZANCAN Electronique Systèmes embarqués IT331: Linux embarqué IT331: Linux embarqué
Transcript

La CAO ÉlectroniqueLa CAO Électroniquesous Linuxsous Linux

14 janvier 2005

Xavier NOURISSONAdrien ZANCAN

ElectroniqueSystèmes embarqués

IT331: Linux embarquéIT331: Linux embarqué

ENSEIRB La CAO Électronique sous Linux

SSOMMAIREOMMAIRE

INDEX DES ILLUSTRATIONS....................................................3

INTRODUCTION......................................................................4

LES LOGICIELS DE CAO...........................................................5

I. CONCEPTION DE CIRCUITS 6

I.1. Bartels AutoEngineer® 6

I.2. CadSoft Eagle 7

I.3. gEDA et outils associés 7

I.4. Oregano 9

I.5. PCB 9

I.6. SoC GDS 9

I.7. TkGate 10

I.8. Xcircuit 11

II. CONCEPTION LOGICIELLE 11

II.1. AT51Programmer 11

II.2. Mprog 11

II.3. GCC 12

II.4. ICDPROG 12

II.5. GPUTILS + Tools 13

II.5.1. Assembleurs 13II.5.2. Compilateurs 14II.5.3. Simulateurs 15II.5.4. Programmateurs 15II.5.5. Librairies 16II.5.6. Environnements de développement (IDEs) 16

II.6. YaPIDE 16

CONCLUSION.......................................................................17

GLOSSAIRE..........................................................................18

RÉFÉRENCES........................................................................19

ANNEXE – COMPARATIF DES LOGICIELS.................................20

2/20

Index des illustrations Index des illustrations

IINDEXNDEX DESDES ILLUSTRATIONSILLUSTRATIONS

Illustration 1 - Bartels AUtoEngineer: Layout d'un circuit intégré 6

Illustration 2 - CadSoft Eagle: Routage 7

Illustration 3 - gEDA: Saisie de schémas 7

Illustration 4 - Oregano: Saisie de schéma et simulation 9

Illustration 5 - SoC GDS: Comparaison de layouts 9

Illustration 6 - TkGate: Fenêtre de saisie de schéma 10

Illustration 7 - XCircuit: Fenêtre principale 11

Illustration 8 - GPUTILS 13

Illustration 9 - PiKdev: Gestion d'un projet 16

Illustration 10 - YaPIDE: Visualisation de la mémoire 16

Illustration 11 - Comparatif des différents logiciels présentés 20

3/20

Introduction Introduction

IINTRODUCTIONNTRODUCTION

Le développement de Linux a débuté en 1991. Si, il y a quelques temps, son

utilisation été réservé à une poignée d'informaticiens prêts à réinventer la roue pour

fournir un système d'exploitation open-source assez crédible pour contrer le monopole

de Microsoft, avec aujourd'hui plus de 5% des parts de marché des systèmes

d'exploitations et les efforts considérables d'une immense communauté de

développeurs, il est devenu une alternative non négligeable. Depuis quelques années,

les efforts de cette communauté et des entreprises commerciales se multiplient pour

fournir des solutions Linux pour tous les corps de métiers.

Ainsi, on trouve aujourd'hui de nombreux outils de CAO électronique disponibles

pour Linux. Tout d'abord, des sociétés ont porté leurs logiciels commerciaux depuis

Windows ou Unix. Mais aussi, énormément de logiciels, très souvent open-source,

sont développés directement pour Linux.

Ce présent rapport a pour but de présenter les différentes solutions de CAO

électronique fonctionnant sous Linux. Bien sûr, il est impossible de présenter la

totalité des logiciels disponibles, on présentera tout de même un choix de logiciels

permettant de couvrir la totalité de la chaîne de développement d'un système

électronique, avec la conception matérielle (de la saisie de schéma au routage du

circuit imprimé ou du circuit intégré en passant par la simulation) et la conception

logicielle (compilation, simulation, programmation, etc.). On privilégiera les solutions

open-source.

4/20

Les logiciels de CAO Les logiciels de CAO

LLESES LOGICIELSLOGICIELS DEDE CAO CAO

On ne peut pas réellement classés ces logiciels dans des catégories distinctes

(saisie de schémas, routage, compilation,...). En effet, certains ne feront qu'une seule

tâche (ex: saisie de schémas) mais d'autre intégreront plusieurs outils (ex: saisie de

schémas + simulation + routage). On peut tout de même séparer les logiciels de CAO

électronique en deux grandes catégories : d'une part la conception matérielle

(conception de circuits imprimés ou circuits intégrés) et d'autre part la conception

logicielle (programmation de microcontrôleurs).

Même si tous ces logiciels fonctionnent sous Linux, il peut-être intéressant de

savoir si ils sont disponibles sur d'autres plate-formes, permettant ainsi une meilleurs

compatibilité avec d'autres personnes n'utilisant pas Linux.

Pour la plupart des logiciel présentés, il est indiqué si ce sont des logiciels open-

source ou commerciaux et sur quels architectures et systèmes d'exploitations il sont

disponibles. Aussi, pour les logiciels commerciaux, la disponibilité d'une version

d'évaluation ou d'usage non commercial est indiqué avec ses limitations éventuelles.

Enfin, un récapitulatif de tous les logiciels présentés avec leurs principales

caractéristiques peut être consulté en Annexe 1.

5/20

Les logiciels de CAO Conception de circuits

I. Conception de circuits

I.1. Bartels AutoEngineer®

BAE est un logiciel

complet permettant la

conception de circuits

imprimés ou de circuits

intégrés. Il intègre les

outils nécessaires à toute

la conception : du schéma

au routage en passant par

la simulation électrique.

Ce n'est pas un

logiciel libre et la version

professionnelle est assez

cher. Il propose tout de

même une multitudes de licences avec des prix s'étendant de 86€ à 6490€. Une

version d'évaluation, limitée à la saisie du schéma et génération de la netlist est

aussi proposée.

En plus de Linux, BAE est disponible sur MS Windows et sur de nombreux

systèmes d'exploitations Unix utilisant X11.

6/20

Illustration 1 - Bartels AUtoEngineer: Layout d'un circuit intégré

Les logiciels de CAO Conception de circuits

I.2. CadSoft Eagle

EAGLE (Easily Applicable Graphical Layout Editor) est un outil puissant et

facile d'utilisation pour la conception de circuits imprimés.

Il comprend trois

principaux modules (un

éditeur de schémas, un

éditeur de PCB et un auto-

routeur) qui sont intégrés

dans la même interface. Il

n'y a ainsi pas besoin de

convertir les netlists entre

la saisie de schéma et la

conception du PCB.

C'est un logiciel commercial à un prix raisonnable (entre 49$ et 399$). Il

offre une version à but non lucratif (ou de démonstration) seulement limitée en

taille de PCB (100*80mm, une couche).

Il est disponible sur Linux (i586), MacOSX et Windows.

I.3. gEDA et outils associés

gEDA/gaf est une

suite de logiciels CAO en

licence GPL (open-

source).

gEDA/gaf effectue

notamment la saisie de

schémas/symboles, la

création de netlists et la

gestion de projets.

7/20

Illustration 2 - CadSoft Eagle: Routage

Illustration 3 - gEDA: Saisie de schémas

Les logiciels de CAO Conception de circuits

Une grosse quantité de logiciel sont développés en association avec gEDA,

on peut par exemple citer les logiciels suivants :

• gerbv

Visualiseur de fichiers Gerber.

• gnetman

Outils de manipulation de fichiers netlist.

• gnucap

Simulateur de circuits mixtes.

• GTKWave

Visualiseur de courbes de simulation numériques.

• gwave

Visualiseur de courbes de simulation analogiques.

• Icarus

Simulateur et synthétiseur Verilog.

• PCB (voir le chapitre I.5)

Outils de création de PCB / routage.

• tclspice, ngspice

Versions améliorées de Spice.

• VBS

Simulateur Verilog.

• XCircuit (voir le chapitre I.8)

Saisie de schéma avec export postscript de haute qualité.

8/20

Les logiciels de CAO Conception de circuits

I.4. Oregano

Oregano est un

logiciel de saisie de

schémas et simulation

électrique. Il permet aussi

de générer les netlists et

contient une grande

variété de librairies de

composants.

Oregano est

distribué en licence GPL

pour Unix / Linux.

I.5. PCB

PCB est, comme son nom l'indique, un éditeur de circuits imprimés. Il

intègre les fonctions habituelles d'un tel logiciel, comme l'auto-routage, l'export

dans des formats standards de l'industrie (Gerber, Drill,...). Il est distribué pour

Unix / Linux sous licence GPL.

I.6. SoC GDS

SoC GDS est un logiciel de visualisation et de

traitements rapide de layouts de circuits intégrés. Il

intègre des fonctions puissantes permettant entre

autre l'automatisation du changement de nom des

cellules, la vérification de grilles, la fusion ou la

comparaison physique de fichiers GDS II et LEF, les

modifications hiérarchiques et la conversion au

format texte.

9/20

Illustration 5 - SoC GDS:Comparaison de layouts

Illustration 4 - Oregano: Saisie de schéma et simulation

Les logiciels de CAO Conception de circuits

SoC GDS est disponible pour plate-formes Linux(x86), HP-UX, SUN/Solaris

et Windows sous un licence commerciale. Une version allégée est disponible

gratuitement avec une limitation en vitesse de fonctionnement.

I.7. TkGate

TkGate est un

simulateur de circuits

électroniques numériques.

Il supporte une grande

quantité d'éléments de

bases aussi bien que des

modules personnalisés

pour la conception

hiérarchique. La

distribution inclue de

nombreux tutoriels et

exemples.

TkGate est disponible pour Unix / Linux sous les termes de la licence GPL.

10/20

Illustration 6 - TkGate: Fenêtre de saisie de schéma

Les logiciels de CAO Conception de circuits

I.8. Xcircuit

XCircuit est un

logiciel de saisie de

schémas permettant de

générer des schémas de

qualité "imprimerie" tout

en autorisant la

génération des netlists. Il

écrit à la fois la sortie

PostScript et la netlists

SPICE pour ne pas créer

de compromis entre la

qualité artistique et la

conception électronique.

XCircuit est disponible pour Unix / Linux sous licence GPL.

II. Conception logicielle

II.1. AT51Programmer

AT51Programmer est un programmateur intelligent universel pour les

microcontrôleurs ATMEL 8051 et les mémoires Flash parallèles et EEPROM.

Ce logiciel sous licence GPL est encore en version bêta mais fonctionnelle.

II.2. Mprog

mprog est un logiciel permettant la programmation de microcontrôleurs.

Encore en version bêta, ce logiciel open-source ne supporte pour le moment que

les microcontrôleurs ATMEL AVR série "mega" programmés via SPI en utilisant la

carte STK200. Deux format de fichiers sont supportés : binaire et Intel hex. Une

11/20

Illustration 7 - XCircuit: Fenêtre principale

Les logiciels de CAO Conception logicielle

interface graphique sera bientôt disponible.

II.3. GCC

GCC (GNU Compiler Collection) est probablement le compilateur le plus

connu, le plus utilisé et un des plus efficaces. Il permet de compiler beaucoup de

langages (C, C++, Objective-C, Fortran, Java, Ada) et inclue toutes les librairies

nécessaires pour ces langages.

L'un des nombreux avantages de GCC pour la conception logicielle

électronique est sa possibilité de réaliser les compilations croisées pour de très

nombreuses architectures. Parmi les architectures disponibles, on trouve : ARM,

ARM-Xscale, Atmel AVR, Intel x86, x86-64bits(AMD64), Motorola 68HC11,

68HC12, famille Motorola 68k, MIPS, IBM-Motorola PowerPC, Sparc et bien

d'autres. De plus, on trouve très facilement de la documentation sur la

compilation croisée avec GCC.

GCC est disponible en licence GPL pour toutes les architectures

d'ordinateurs actuels et la plupart des systèmes d'exploitation.

II.4. ICDPROG

ICDPROG est un programmateur pour Microchip PIC en lignes de

commandes utilisant le système de programmation Microchip ICD (In Circuit

Debugger).

Cette version bêta sous licence GPL est dors et déjà disponible pour Linux

et Windows et supporte les PIC16F87x, (x = [0,1,2,3,4,6,7]).

12/20

Les logiciels de CAO Conception logicielle

II.5. GPUTILS + Tools

GPUTILS (GNU PIC Utilities) est un ensemble d'outils pour les

microcontrôleurs Microchip PIC.

Il est composé de

trois principaux outils que

sont gpasm, gplink et

gplib mais de nombreux

outils ont été développés

autour de GPUTILS,

ajoutant de nouvelles

fonctionnalités telles que

la simulation ou la prise

en charge d'autres

modèles de

microcontrôleurs.

GPUTILS est distribué

sous licence GPL mais

certains des outils cités

ci-dessous ne sont pas

open-source.

Ces outils variés comprennent des assembleurs, désassembleurs,

compilateurs, simulateurs, programmateurs, librairies et environnements de

développement (IDEs). En voici les principaux :

II.5.1. Assembleurs

• gpasm est l'assembleur par défaut de GPUTILS.

• tpasm est un autre assembleur de grande qualité supportant les Atmel AVR,

Motorola 6805 et 68HC11 et les 8051.

• miSim combine un éditeur (avec coloration syntaxique), un macro-

13/20

Illustration 8 - GPUTILS

Les logiciels de CAO Conception logicielle

assembleur, un désassembleur et un simulateur, dans un environnement de

développement complet. Écrit en JAVA, il est totalement portable.

Malheureusement, il n'est plus distribué comme logiciel libre depuis la

version 2.0.

• PTK4L (PIC ToolKit For Linux) inclue un assembleur, un désassembleur et

un programmateur.

II.5.2. Compilateurs

• Pyastra (Python to ASembler TRAnslator) est un compilateur Python pour

PICs.

• John Favata's picc_cc est un compilateur dédié aux PIC16C84 produisant un

code pseudo-8051 seulement reconnu par l'assembleur de Parallax.

L'assembleur Parallax est gratuit mais ne fonctionne que sous DOS. Depuis

peu, un autre logiciel dérivé (ebs_cc) permet de générer du code compatible

avec gpasm.

• Pavel Baranow a écrit un compilateur C/C++ non open-source pour

processeurs SX et PICs fonctionnant sous Windows et Linux.

• JAL (Just Another Language) est un compilateur d'un langage de haut niveau

ressemblant à du Pascal pour PIC 16x84. Il n'est pas open-source et

fonctionne sous Windows et Linux.

• AnyC est un projet de compilateur open-source pour microcontrôleurs.

• SIL est un compilateur dans un langage de haut niveau combinant les

langage BASIC, MODULA2 et Pascal.

• SDCC est un compilateur croisé qui supporte les 8051, Z80 et DS390. Il est

entrain d'être porté sur PIC.

14/20

Les logiciels de CAO Conception logicielle

II.5.3. Simulateurs

• gpsim (GNUPIC Simulateur) est le simulateur par défaut de GPUTILS. Il

supporte les cœurs PICs 12, 14 et 16 bits, presque tous leur périphériques

internes et des composants externes (comme les modules LCD).

• Le simulateur de miSim (décrit dans la section "Assembleurs") est très

abouti et permet la simulation en temps réel ou plus rapide

• SxSim est simulateur de processeurs Ubicom Sx offrant beaucoup de

puissants outils de débogage.

• nitpic est un simulateur de PIC16C84 en construction fonctionnant avec X

Windows.

• pictutils combine un simple simulateur et un assembleur pour PICs.

II.5.4. Programmateurs

• picp est le programmateur idéal pour le Microchip Picstart+.

• Odyssey est originellement écrit pour fonctionner avec la carte de

programmation EPIC de microEngineering Labs mais est assez flexible pour

être utilisé avec d'autres matériels de programmation.

• prog84 permet de programmer les PIC 16c6x/7X/923/924, 1§f87x et 24c16

via un port parallèle. Un version USB est aussi disponible.

• PP06 est un autre programmateur de PIC open-source.

• PTK4L (présenté dans la section "Assembleurs") permet la programmation

via un port parallèle.

15/20

Les logiciels de CAO Conception logicielle

• picprg est un programmateur pour port parallèle bien abouti. Il reconnaît

beaucoup de modèles de processeurs et de carte de programmation.

II.5.5. Librairies

De nombreuses librairies open-source pour PIC ont été développées. On

peut citer les librairies de Mark Crosbie (en C : LCD série, Moteurs), de Antonio

Todobom (contrôleur LCD en assembleur), de James Cameron (librairies

mathématiques, piles informatiques...) et la librairie PICFLOAT de Mike Gore

(opérations en virgule flottante).

II.5.6. Environnements de développement (IDEs)

• PiKdev est un

environnement de

développement pour

PICs basé sur KDE.

Il supporte l'édition,

la gestion de projet

et la programmation

de circuits. Il existe

une version en ligne

de commande

nommé pkp.

• miSim (présenté dans la section "Assembleurs") présente aussi un

environnement de développement.

II.6. YaPIDE

YaPIDE (Yet Another PIC IDE) est un simulateur

avec interface graphique pour Microchip PIC

fonctionnant sous Unix / Linux.

16/20

Illustration 9 - PiKdev: Gestion d'un projet

Illustration 10 - YaPIDE:Visualisation de la mémoire

Conclusion Conclusion

CCONCLUSIONONCLUSION

La quantité du nombre de logiciels disponibles montre bien l'activité du monde

Linux. Si les logiciels commerciaux sont de bonne facture, les logiciels open-source

sont de qualités très diverses. Beaucoup de ces derniers sont en version bêta mais

pourraient devenir des solutions efficaces.

Aussi, de nombreux développeurs se lancent dans des projets différents ayant

des fonctionnalités identiques. Il en résulte une énorme quantité de logiciels

effectuant la même chose mais qui ne sont pas pleinement fonctionnels. On peut citer

comme exemple le nombre de simulateurs ou de programmateurs disponibles pour

microcontrôleurs PICs.

D'autre part, la plupart des projets ont des objectifs très spécifiques (ex:

visualiseur de courbes de simulation numérique), ce qui a pour conséquence de

demander une multitudes de logiciels pour réussir à réaliser une chaîne complète de

développement. Heureusement, certains projets (comme gEDA ou GPUTILS) essaient

de regrouper les logiciels complémentaires. La prochaine étape pour la communauté

open-source sera de créer deux logiciels tout-en-un permettant d'un côté la

conception matérielle et de l'autre la conception logicielle.

Malgré tout, l'utilisation de logiciels open-source pour la CAO ne doit pas être

négligée. En effet, certains d'entre eux sont pleinement fonctionnels (on peut citer par

exemple TkGate) voire même mieux que beaucoup d'outils commerciaux, comme c'est

le cas de GCC.

Que ce soit avec des logiciels commerciaux ou open-source, la CAO électronique

est aujourd'hui tout à fait viable pour toute la chaîne de développement matérielle et

logicielle.

17/20

Glossaire Glossaire

GGLOSSAIRELOSSAIRE

CAO : Conception Assisté par Ordinateur

EDA : Electronics Design Automation

ENSEIRB : École Nationale Supérieure d'Électronique, Informatique et

Radiocommunication de Bordeaux (http://www.enseirb.fr/)

GNU : Gnu is Not Unix (http://www.gnu.org/)

GPL : General Public License (http://www.gnu.org/copyleft/gpl.html)

LCD : Liquid Cristal Display

USB : Universal Serial Bus

18/20

Références Références

RRÉFÉRENCESÉFÉRENCES

Logiciels de CAO électronique, toutes plate-formes (la plupart sont commerciaux)

http://etronics.free.fr/dossiers/softs/soft00/logiciels.htm

Logiciels de CAO électronique pour plate-formes Unix (la plupart sont open-source)

http://freshmeat.net/browse/246/

Barttels AutoEngineer http://www.bartels.de/bae.htm

CadSoft Eagle http://www.cadsoftusa.com/

gEDA http://www.geda.seul.org/

Oregano http://arrakis.gforge.lug.fi.uba.ar/

GCC http://gcc.gnu.org/

ICDPROG http://icdprog.sourceforge.net/

PCB http://pcb.sourceforge.net/

PiKdev http://pikdev.free.fr/

YaPIDE http://www.mtoussaint.de/yapide.html

gputils http://gputils.sourceforge.net/

SoC GDS http://www.dolphin-integration.com/medal/socgds/socgds_overview.html

TkGate http://www.tkgate.org/

XCircuit http://bach.ece.jhu.edu/~tim/programs/xcircuit/

19/20

Annexe – Comparatif des logiciels Annexe – Comparatif des logiciels

AANNEXENNEXE – C – COMPARATIFOMPARATIF DESDES LOGICIELSLOGICIELS

20/20


Recommended