* ./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