Le modèle gate.mod

Ce forum contient un fil par modèle proposé. Chaque fil commence par un post-it contenant un descriptif et un lien de téléchargement.

Le modèle gate.mod

Messagepar P.Fradin » 18 Juin 2014 22:01

Le modèle gate est proposé par Joffrey Cottin, ce modèle charge les macros du fichier gate.mac qui permettent la réalisation
de circuits électroniques par des portes booléennes orientables.

Télécharger: gate.zip ( version 0.2 du 22/08/19)

Je laisse à Joffrey le soin de présenter un exemple !
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle gate.mod

Messagepar Joffrey » 19 Juin 2014 21:41

Voici quelques exemples :

Exemple 1
Code: Tout sélectionner
Fenetre(2.5*i,10-2.5*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("NOT",1.5*i,0),
draw("NOT",-1.5*i,0),
draw("line",[3+1.5*i,4+0.5*i]),
draw("line",[3-1.5*i,4-0.5*i]),
draw("AND",4,0),
draw("NOT",7,0),

donne
gate1.png
gate1.png (4.38 Kio) Consulté 26621 fois


Exemple 2
Code: Tout sélectionner
Fenetre(2.5*i,10-2.5*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("NOT",1.5*i,0),
draw("NOT",-1.5*i,0),
draw("line",[3+1.5*i,4+0.5*i]),
draw("line",[3-1.5*i,4-0.5*i]),
draw("OR",4,0),
draw("NOT",7,0)

donne
gate2.png
gate2.png (4.52 Kio) Consulté 26621 fois


Exemple 3
Code: Tout sélectionner
Fenetre(-2+3*i,11-3*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("NAND",0,0),
draw("NAND",4+2*i,0),
draw("NAND",4-2*i,0),
draw("NAND",8,0),
draw("line",[-2+2.5*i,4+2.5*i,jump,-2-2.5*i,4-2.5*i,jump,
             2.5*i,0.5*i,jump,-2.5*i,-0.5*i,jump,
             3,3.5,3.5+1.5*i,4+1.5*i,jump,3,3.5,3.5-1.5*i,4-1.5*i,jump,
             7+2*i,7.5+2*i,7.5+0.5*i,8+0.5*i,jump,7-2*i,7.5-2*i,7.5-0.5*i,8-0.5*i]),

donne
gate3.png
gate3.png (4.42 Kio) Consulté 26621 fois
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 287
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Le modèle gate.mod

Messagepar Joffrey » 19 Juin 2014 21:45

Exemple 4
Code: Tout sélectionner
Fenetre(-4+3*i,11-3*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("NOR",2*i,0),
draw("NOR",0,0),
draw("NOR",4+i,0),
draw("NOR",8-0.5*i,0),
draw("NOR",4-2*i,0),
draw("line",[-4+2*i,2*i,jump,2.5*i,1.5*i,jump,
             -2,0,jump,0.5*i,-0.5*i,jump,
             3+2*i,3.5+2*i,3.5+1.5*i,4+1.5*i,jump,3,3.5,3.5+0.5*i,4+0.5*i,jump,
             7+i,7.5+i,7.5,8,jump,
             -3+2*i,-3-2.5*i,4-2.5*i,jump,
             -1,-1-1.5*i,4-1.5*i,jump,
             7-2*i,7.5-2*i,7.5-i,8-i,jump
             ]),

donne
gate4.png
gate4.png (5.61 Kio) Consulté 26620 fois


Exemple 5
Code: Tout sélectionner
Fenetre(0+3*i,7-2.5*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("NOT",1.5*i,0),
draw("AND",-1.5*i,0),
draw("XOR",4,0),
draw("line",[3+1.5*i,4+0.5*i,jump,3-1.5*i,4-0.5*i]),

donne
gate5.png
gate5.png (4.31 Kio) Consulté 26620 fois


Exemple 6
Code: Tout sélectionner
Fenetre(0+3*i,7-2.5*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("XOR",1.5*i,0),
//draw("AND",-1.5*i,0),
draw("XOR",4,0),
draw("line",[-1.5*i,3-1.5*i,jump,3+1.5*i,4+0.5*i,jump,3-1.5*i,4-0.5*i]),

donne
gate6.png
gate6.png (4.25 Kio) Consulté 26620 fois


Je reste disponible pour vos commentaires.

Joffrey
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 287
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Le modèle gate.mod

Messagepar Joffrey » 21 Août 2019 19:56

Bonjour Patrick,

Je bute depuis quelques jours sur un problème concernant ce modèle.
Lorsque je compile ces lignes :
Code: Tout sélectionner
\documentclass[tikz]{standalone}

\usepackage{tikz}
\usepackage{texgraph}

\begin{document}

\begin{texgraph}[name=porteAND,preload="gate.mod",export=tkz]
Fenetre(-2.5+2*i, 5.5-2*i, 1+i),
Marges(0, 0, 0, 0),
draw("AND", 0, 0)
\end{texgraph}

\end{document}


J'obtiens de manière "aléatoire" soit :
essai_gate_ok.pdf
(1.15 Kio) Téléchargé 1090 fois

soit :
essai_gate_non.pdf
(1.15 Kio) Téléchargé 1118 fois


J'ai essayé de modifier plusieurs lignes dans mon code de ce modèle mais ça ne marche pas.
Je pense mais je peux me tromper que le problème vient de ellipticArc qui dessine l'arc de parabole soit d'un coté soit de l'autre sans tenir compte de l'orientation +/-1 que l'on peut rajouter.

Si des fois tu y vois plus clair ...

Joffrey
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 287
Inscription: 16 Juil 2009 17:05
Localisation: Vichy

Re: Le modèle gate.mod

Messagepar P.Fradin » 21 Août 2019 22:46

Je ne constate pas le souci, mais je pense que le problème vient de la macro ellipticArc, car il y avait bien un souci, il a été corrigé mais c'était peut-être juste après la sortie de la version 1.99, je ne sais plus, voici la macro corrigée (elle est dans TeXgraph.mac):
Code: Tout sélectionner
    ellipticArc = [$RX:=%4,$RY:=%5,$t:=RX/RY,$B:=%1,$A:=%2,$C:=%3,
     if %7=Nil then $ang_:=0 else ang_:=%7 fi,
     while ang_<0 do Inc(ang_,360) od,while ang_>=360 do Inc(ang_,-360) od,
     if ang_=0 then EllipticArc(B,A,C,RX,RY,%6) //il y avait une erreur ici (sens au lieu de%6)
     else
        $inclin:=A+exp(i*ang_*deg),
        $M:=GetMatrix(),
        $u:=i*(inclin-A),
        $mat1:=matrix( affin(z,[A,inclin],u,1/t) ),
        $mat2:=matrix( affin(z,[A,inclin],u,t) ),
        ComposeMatrix(mat1),
        $L:=Mtransform([B,C],mat2),
        EllipticArc(L[1],A,L[2],RX,RX,%6), //et peut être ici aussi
        SetMatrix(M)
    fi];


Il faut fermer et relancer TeXgraph pour la correction soit prise en compte.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle gate.mod

Messagepar P.Fradin » 22 Août 2019 11:21

Mise à jour du modèle vers la version 0.2.
Aucun changement de code, simplement la suppression du chargement de draw2d et de ses dépendances car il est automatiquement fait dans la version 1.99 de TeXgraph, l'aide a été recompilée.
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1887
Inscription: 29 Oct 2008 15:04

Re: Le modèle gate.mod

Messagepar Joffrey » 22 Août 2019 19:51

Bonjour Patrick,

Effectivement ça venait de là !
Je te confirme que la correction est apparue après la sortie de la 1.99, j'ai dû faire la modif "à la main".
En tout cas merci !

Joffrey
L'homme en noir fuyait à travers le désert, et le Pistoléro le suivait ...
Joffrey
 
Messages: 287
Inscription: 16 Juil 2009 17:05
Localisation: Vichy


Revenir vers Macros à télécharger

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 12 invités

cron