* ./src/m2e :
- Convertisseur MBK -> Eagle de Francois Dromard.
This commit is contained in:
parent
c07aca33e2
commit
9ba6f6a7c1
|
@ -0,0 +1,3 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
SUBDIRS = src doc
|
|
@ -0,0 +1,35 @@
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
AC_INIT(src/m2e.c)
|
||||||
|
|
||||||
|
M2E_MAJOR_VERSION=1
|
||||||
|
M2E_MINOR_VERSION=0
|
||||||
|
M2E_VERSION=$M2E_MAJOR_VERSION.$M2E_MINOR_VERSION
|
||||||
|
|
||||||
|
AC_SUBST(M2E_MAJOR_VERSION)
|
||||||
|
AC_SUBST(M2E_MINOR_VERSION)
|
||||||
|
AC_SUBST(M2E_VERSION)
|
||||||
|
|
||||||
|
# For automake.
|
||||||
|
VERSION=$M2E_VERSION
|
||||||
|
PACKAGE=m2e
|
||||||
|
|
||||||
|
dnl Initialize automake stuff
|
||||||
|
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
|
AC_PROG_CC
|
||||||
|
AC_PROG_MAKE_SET
|
||||||
|
|
||||||
|
AC_CHECK_LIB(m, pow)
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_C_CONST
|
||||||
|
|
||||||
|
AM_ALLIANCE
|
||||||
|
|
||||||
|
AC_OUTPUT([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
doc/Makefile
|
||||||
|
doc/man1/Makefile
|
||||||
|
])
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
SUBDIRS = man1
|
|
@ -0,0 +1,2 @@
|
||||||
|
man_MANS = m2e.1
|
||||||
|
EXTRA_DIST = $(man_MANS)
|
|
@ -0,0 +1,176 @@
|
||||||
|
mbk2eagle 01/07/2002
|
||||||
|
________________________
|
||||||
|
|
||||||
|
Cet outil permet, à partir d'une description structurelle d'une carte (.vst),
|
||||||
|
de générer un fichier script utilisable par Eagle (logiciel de routage de cartes).
|
||||||
|
Ce fichier permet de fournir à Eagle, la liste des composants utilisés
|
||||||
|
ainsi que l'interconnexion de ces composants.
|
||||||
|
|
||||||
|
La description structurelle doit être complétée par trois types de fichiers.
|
||||||
|
- Un fichier "nom__de_figure.pin" correspondant à la description des connexions de
|
||||||
|
la carte circuit imprimé, avec son environnement (connecteurs de la carte).
|
||||||
|
- Un ou plusieurs fichiers "composants.pin" correspondants aux différents modèles de
|
||||||
|
composants qui doivent être implantés sur la carte circuit imprimé.
|
||||||
|
- Un fichier "nom__de_figure.cls" dans lequel on définit la classe des
|
||||||
|
signaux ainsi que la rotation et le placement des différentes instances
|
||||||
|
des modèles. Par défaut la classe d'un signal est la classe 0.
|
||||||
|
|
||||||
|
|
||||||
|
Dans les fichiers, les lignes vides ou commençant par # sont ignorees.
|
||||||
|
|
||||||
|
|
||||||
|
1. Organisation du fichier "nom__de_figure.pin"
|
||||||
|
________________________________________________
|
||||||
|
|
||||||
|
Dans ce fichier on doit placer, pour chaque connecteur de la carte, les 2 rubriques dans l'ordre :
|
||||||
|
|
||||||
|
Rubrique 1
|
||||||
|
----------
|
||||||
|
/MODELE <instance> <modele> <rotation> <(coordonnees)>
|
||||||
|
|
||||||
|
<instance> correspond au nom d'instance du connecteur.
|
||||||
|
|
||||||
|
<modele> correspond au nom du fichier Eagle décrivant le connecteur. Il
|
||||||
|
est de la forme : nom_modele@nom_bibliotheque
|
||||||
|
|
||||||
|
<rotation> On peut mettrel'une des valeurs : R0, R90, R180, R270.
|
||||||
|
|
||||||
|
<(coordonnees)> position provisoire du connecteur (x y). Il doit etre entierement
|
||||||
|
dans la zone utilisable actuellement 100x160 mm.
|
||||||
|
|
||||||
|
|
||||||
|
Rubrique 2
|
||||||
|
----------
|
||||||
|
/CONNECTEURS
|
||||||
|
|
||||||
|
On énumère les signaux du connecteur à raison
|
||||||
|
d'un signal par ligne, sous la forme :
|
||||||
|
|
||||||
|
<repère de broche> <nom du signal>
|
||||||
|
|
||||||
|
|
||||||
|
EXEMPLE
|
||||||
|
|
||||||
|
/MODELE P1 IBM8BIT@con-pc R90 (6.5 0.5)
|
||||||
|
|
||||||
|
/CONNECTEURS
|
||||||
|
B1 VSS
|
||||||
|
B3 VDD
|
||||||
|
B29 VDD
|
||||||
|
B31 VSS
|
||||||
|
|
||||||
|
A2 DATA(7)
|
||||||
|
A3 DATA(6)
|
||||||
|
A4 DATA(5)
|
||||||
|
A5 DATA(4)
|
||||||
|
A6 DATA(3)
|
||||||
|
A7 DATA(2)
|
||||||
|
A8 DATA(1)
|
||||||
|
A9 DATA(0)
|
||||||
|
|
||||||
|
A11 AEN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2. Organisation des fichiers "composants.pin"
|
||||||
|
______________________________________________
|
||||||
|
|
||||||
|
Dans ce fichier doit placer 2 rubriques dans l'ordre :
|
||||||
|
|
||||||
|
Rubrique 1
|
||||||
|
----------
|
||||||
|
/MODELE <modele>
|
||||||
|
<modele> correspond au nom du fichier Eagle décrivant le connecteur. Il
|
||||||
|
est de la forme : nom_modele@nom_bibliotheque
|
||||||
|
|
||||||
|
|
||||||
|
Rubrique 2
|
||||||
|
----------
|
||||||
|
|
||||||
|
/CONNECTEURS
|
||||||
|
|
||||||
|
On énumère les signaux du composant sous la forme :
|
||||||
|
|
||||||
|
<repère de broche> <nom du signal>
|
||||||
|
|
||||||
|
|
||||||
|
EXEMPLE
|
||||||
|
|
||||||
|
/MODELE DIL08@dil (0.5 3.0)
|
||||||
|
|
||||||
|
/CONNECTEURS
|
||||||
|
1 DATA
|
||||||
|
2 CLK
|
||||||
|
3 OE_N
|
||||||
|
4 CE_N
|
||||||
|
5 VSS
|
||||||
|
6 CEO
|
||||||
|
7 VPP
|
||||||
|
8 VDD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
3. Organisation du fichier "nom__de_figure.cls"
|
||||||
|
________________________________________________
|
||||||
|
|
||||||
|
Dans ce fichier doit placer 2 rubriques dans l'ordre :
|
||||||
|
|
||||||
|
Rubrique 1
|
||||||
|
----------
|
||||||
|
/CLASS
|
||||||
|
|
||||||
|
On énumère ensuite les signaux avec leur numéro de classe, à raison
|
||||||
|
d'un signal par ligne, sous la forme :
|
||||||
|
|
||||||
|
<nom du signal> <numéro de la classe>
|
||||||
|
|
||||||
|
Inutile d'énumérer les signaux de classe 0. Cette rubrique peut être vide,
|
||||||
|
mais il doit y avoir "/CLASS".
|
||||||
|
|
||||||
|
|
||||||
|
Rubrique 2
|
||||||
|
----------
|
||||||
|
/PLACEMENT
|
||||||
|
|
||||||
|
On énumère ensuite les instances avec la rotation à effectuer et les
|
||||||
|
coordonnées de placement, à raison d'une instance par ligne, sous la forme :
|
||||||
|
|
||||||
|
<nom de l'instance> <rotation> <coordonnées>
|
||||||
|
|
||||||
|
<rotation> On peut mettrel'une des valeurs : R0, R90, R180, R270.
|
||||||
|
|
||||||
|
<(coordonnees)> position provisoire du composant (x y). Il doit etre entierement
|
||||||
|
dans la zone utilisable de la carte, actuellement 100x160 mm.
|
||||||
|
|
||||||
|
|
||||||
|
EXEMPLE
|
||||||
|
|
||||||
|
/CLASS
|
||||||
|
CLK 1
|
||||||
|
VSS 2
|
||||||
|
VDD 2
|
||||||
|
|
||||||
|
/PLACEMENT
|
||||||
|
IC1 R90 (4.25 1.2)
|
||||||
|
IC2 R180 (3.25 1.2)
|
||||||
|
IC3 R0 (3.25 1.4)
|
||||||
|
|
||||||
|
|
||||||
|
4. Ligne de commande
|
||||||
|
_________________
|
||||||
|
|
||||||
|
m2e [-v n ] [-o output] figure
|
||||||
|
|
||||||
|
-v definit le niveau des messages affiches ; par defaut 1
|
||||||
|
si 0 : affiche seulement les erreurs
|
||||||
|
si 1 : affiche les erreurs et les warning
|
||||||
|
si 2 : affiche en plus les noms des fichiers .pin utilises
|
||||||
|
si 3 : mode trace pour le debug
|
||||||
|
|
||||||
|
|
||||||
|
5. Variable d'environnement
|
||||||
|
________________________
|
||||||
|
|
||||||
|
M2E_PIN_LIB doit etre definie. Elle donne les chemins d'acces aux fichiers .pin
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
AM_CFLAGS = -g
|
||||||
|
|
||||||
|
|
||||||
|
bin_PROGRAMS = m2e
|
||||||
|
|
||||||
|
m2e_LDADD = -lMpu -lMlu \
|
||||||
|
-lMcl -lMcp \
|
||||||
|
-lMal -lMap \
|
||||||
|
-lMsl \
|
||||||
|
-lMel -lMgl \
|
||||||
|
-lMhl \
|
||||||
|
-lMvg \
|
||||||
|
-lMmg \
|
||||||
|
-lMlo \
|
||||||
|
-lMph -lMut \
|
||||||
|
-lRcn -lm
|
||||||
|
|
||||||
|
|
||||||
|
m2e_SOURCES = m2e.c m2e.h
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,42 @@
|
||||||
|
/* USER field codes */
|
||||||
|
#define DEDALE 7683
|
||||||
|
#define PLACEMENT "/PLACEMENT"
|
||||||
|
#define CLASSE "/CLASS"
|
||||||
|
#define MODEL_PIN "/MODELE"
|
||||||
|
#define ALIM_PIN "/ALIM"
|
||||||
|
#define PL_ALIM_PIN "/PLAN_ALIM"
|
||||||
|
#define PS_ALIM_PIN "/PISTE_ALIM"
|
||||||
|
#define CONN_PIN "/CONNECTEURS"
|
||||||
|
#define IMPL_DED /IMPLANTATION
|
||||||
|
|
||||||
|
#define MAXL 127 /* nombre max de car par ligne en entree */
|
||||||
|
#define MAXREP 5 /* nombre de "repere,broche" par ligne */
|
||||||
|
|
||||||
|
#define FIGURE 0
|
||||||
|
#define INSTANCE 1
|
||||||
|
|
||||||
|
#define SIZE_BUF 512 /* taille du tampon pour la concatenation */
|
||||||
|
|
||||||
|
int LigneSuiv(char *pbuf);
|
||||||
|
int LigneSlash(char *pbuf);
|
||||||
|
int OpenFileOut(char *name);
|
||||||
|
int OpenTempOut(void);
|
||||||
|
int GetPtrFichPin(char * pnom);
|
||||||
|
int GenRepFig(char *pbuf,char *prep);
|
||||||
|
int GenAlimFig(char *pbuf);
|
||||||
|
int GenAlimInst(char *pbuf);
|
||||||
|
void GenPatteAlim(char *pbuf,char *prep,char instance);
|
||||||
|
int NotAlimName(losig_list *ps);
|
||||||
|
void SauvPinCon(locon_list *pcon,char *pbuf,char *pb,char *pd);
|
||||||
|
int TraitConnect(locon_list *pcon,char *pbuf,char *prep);
|
||||||
|
int TraitFichFig(lofig_list *ptfig);
|
||||||
|
int GenRepIns(char *pbuf,loins_list *ptins);
|
||||||
|
int TraitFichInst(loins_list *ptins);
|
||||||
|
int TraitListInst(lofig_list *ptfig);
|
||||||
|
void ConcatFich();
|
||||||
|
void TraitSignaux(lofig_list *ptfig);
|
||||||
|
int ParseCommand(int argc,char *argv[]);
|
||||||
|
int LoadPinPath(void);
|
||||||
|
int ChercheSignal(losig_list *psig,char *pname);
|
||||||
|
int TraitFichClass(lofig_list *ptfig);
|
||||||
|
loins_list* ChercheInst(loins_list *pins,char *pname);
|
Loading…
Reference in New Issue