FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Simulateur de circuits logiques Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Simulateur de circuits logiques Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Simulateur de circuits logiques Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Simulateur de circuits logiques Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Simulateur de circuits logiques Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Simulateur de circuits logiques Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Simulateur de circuits logiques Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Simulateur de circuits logiques Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Simulateur de circuits logiques Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Simulateur de circuits logiques Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Simulateur de circuits logiques Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Simulateur de circuits logiques Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Simulateur de circuits logiques Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Simulateur de circuits logiques Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Simulateur de circuits logiques Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment :
LEGO Icons 10331 – Le martin-pêcheur
Voir le deal
35 €

 

 Simulateur de circuits logiques

Aller en bas 
4 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 0:56

Ceci est pour les amateurs de circuits logiques basés sur les portes NAND, AND, OR et XOR. Dans un passé encore pas si récent, on utilisait les circuits intégrés TTL, et plus tard CMOS etc, pour réaliser des objets élémentaires informatiques. Des exemples archi-connus sont des flip-flop (pardon, "bascules"...) de type RS, JK etc, et des horloges numériques, additionneurs etc.

Tous ces circuits peuvent être composés de portes NAND et OR, selon quelques règles simples. J'ai fait un programme de simulation de ces circuits, et pour la commodité, j'ai ajouté les portes AND et XOR. On peut définir des "liens" qui sont en fait les liaisons électriques entre une sortie de porte et une entre d'une autre porte, entre une borne de contact et une entrée de porte ou une sortie de porte et une borne de contact.

Le programme permet de saisir la configuration d'un circuit dans un memo, sous forme de commandes verbales avec les paramètres séparés par des virgules. Chaque objet (porte ou lien) doit avoir un nom qui est une chaîne de caractères libre. Il y a 30 bornes de contacts qui sont identifiés par #n où n est un numéro entre 1 et 30. Une sortie de porte est identifiée simplement par son nom, et une entrée de porte par son nom, suivi de /n où n représente le numéro de l'entrée. Les lignes commençant par un ";" sont des commentaires et sont ignorées.

Les objets ont les caractéristiques suivants:
- bornes: visibles dans une fenêtre séparée sous forme de cases à cocher. Les bornes utilisées comme entrée d'un lien sont visibles et actifs. On peut ainsi les cocher pour leur donner la valeur 1, ou les décocher pour leur donner la valeur 0. Les bornes utilisées comme sortie d'un lien sont visibles mais inactifs. On peut ainsi visualiser les sorties du circuit, voir des points de test ou de mesure à l'intérieur du circuit, sans toutefois pouvoir modifier leur état.
- LIEN: Un lien a exactement une entrée et une sortie. Il reporte la valeur de son entrée sur sa sortie. Il représente un câble électrique.
- NAND: porte logique de 1 à 8 entrées et une sortie. La sortie vaut 1 si au moins une des entrées est 0, et 0 sinon
- AND: porte logique de 1 à 8 entrées et une sortie. La sortie vaut 1 si toutes les entrées sont 1, et 0 sinon
- OR: porte logique de 1 à 8 entrées et une sortie. La sortie vaut 1 au moins une entrée est 1, et 0 sinon
- XOR: porte logique de exactement 2 entrées et une sortie. La sortie vaut 1 si les deux entrées sont
différentes, et 0 sinon
- JK: bascule JK, mémoire de 1 bit à 2 entrés de pilotage J et K et 1 entrée CLK (clock), et une sortie Q

Format des commandes:
Citation :
LIEN,nomLIEN,in,out
NAND,monNAND,n_in,val_out
AND,monAND,n_in,val_out
OR,monOR,n_in,val_out
XOR,monXOR,n_in,val_out
JK,monJK,val_out
Si le paramètre val_out n'est pas spécifié, la valeur de sortie par défaut est 0.

Les commandes de définition du circuit peuvent être saisies directement dans le mémo, ou être générés de façon assistée par un "expert" appelé par des boutons portant le libellé de l'objet à créer. On peut ainsi saisir les paramètres (avec un minimum de contrôle de validité), et la ligne correspondante est générée automatiquement. Les commandes pour les portes et liens peuvent être générés dans n'importe quel ordre, à condition que les éléments auquel fait appel un lien doit exister au moment de la création d'un lien.

Après la constitution du "script", on utilise le bouton "Générer le circuit" qui analyse le script et remplit les tables internes. Toute erreur est signalée par un "--> " devant la ligne en défaut, et il faut regarder ce qui ne va pas.

S'il n'y a pas d'erreur, on peut utiliser le bouton "Simuler une étape" pour obtenir le résultat en fonction de l'état des cases des contacts d'entrée. On peut alors cocher ou décocher une ou plusieurs cases d'entrée et refaire une étape pour voir le changement de résultat.

A chaque modification du script, if faut regénérer le circuit.

Un circuit simple est ceci:
Citation :

NAND,maporte,3
LIEN,#1,maporte/1
LIEN,#2,maporte/2
LIEN,#3,maporte/3
LIEN,maporte,#30
La borne 30 doit être cochée (valeur 1) si au moins une des bornes 1 à 3 sont décochées (valeur 0) et être décochée sinon (valeur 0).


Voici un exemple plus complexe: le flip-flop JK:

Un dernier mot: le programme est insensible à la casse: de façon interne, il transforme tout en minuscules.
Citation :
; flipflop JK
; portes commandées
nand,a1,2
nand,a2,2
lien,J,#1,a1/1
lien,Tick1,#2,a1/2
lien,Tick2,#2,a2/1
lien,K,#3,a2/2
; puis un flipflop RS
nand,gate3,2
nand,gate4,2
; entrées
lien,l1,a1,gate3/1
lien,l2,a2,gate4/2
; liens croisés
lien,l3,gate3,gate4/1
lien,l4,gate4,gate3/2
; sorties
lien,l5,gate3,#11
lien,l6,gate4,#13

et voici le même flipflop en objet natif:
Citation :
JK,monJK,0
lien,l1,#1,monJK/1
lien,l2,#2,monJK/2
lien,l3,#3,monJK/3
lien,l4,monJK,#12

Il y a aussi la possibilité de faire des macros afin de pouvoir réutiliser des morceaux de circuit. Exemple:
Citation :
macro RS
nand,nanda%,2
nand,nandb%,2
lien,f1%,nanda%,nandb%/1
lien,f2%,nandb%,nanda%/2
fin
et on l'utilise comme ceci:
Citation :
copier,RS,1
copier,RS,2
copier,RS,3
Ceci crée 3 copies de la bascule RS, et à chaque fois, le signe "%" sera remplacé par "1", "2" ou "3" pour personnaliser chaque exemplaire de la bascule.

Il y a la possibilité d'établir le circuit graphique. Pour cela, on attribue des coordonnées (x,y) à chaque objet (sauf les liens). On bouton permet de dessiner le schéma, un autre permet de l'afficher ou de le cacher. Une commande supplémentaire est introduite pour positionner un objet:
Citation :
position,nom,x,y

Le programme est dorénavant trop long pour pouvoir être posté dans un message. Il est donc disponible sur mon WEBDAV aux coordonnées suivantes:

Site: http://www.mydrive.ch/
Identifiant: panoramic@klausgunther
Mot de passe: panoramic123
Dossier: Logic Circuit


Dernière édition par Klaus le Lun 30 Avr 2012 - 12:23, édité 11 fois
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 2:03

Salut Klaus !
J’été un grand amateur de circuits logiques, il y a bien longtemps !
J’ai essayé très rapidement ton programme (sans même lire les informations pour l’utilisation du programme).
J’ai détecté une toute petite erreur à la ligne 214, il faut mettre : au lieu de ;
J’y retournerai sûrement, au moins pour voir comment ça marche.
A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 2:09

Exact ! Merci beaucoup ! C'est corrigé dans le source du premier post.

Pour le coup, je suis étonné que Panoramic n'ait pas rejeté le programme - aucune erreur au lancement et à l'exécution ! Bizarre...

Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 11:25

Une nouvelle version avec un traçage beaucoup plus lisible...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 14:31

Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 15:16

@ Jean-Claude: tout ceci traite effectivement du type de circuit qu'on peut simuler avec mon programme. C'étaient mes débuts en informatique, à la fac, et j'en, ai fait, des platines avec des circuits intégrés TTL genre SN7400, SN7410, etc...

Nouvelle version:
- correction d'un petit bug au niveau de l'affichage du traçage
- ajout d'une fonctionnalité majeure: la possibilité de faire des macros pour pouvoir réutiliser facilement une partie du circuit, en le dédoublant. Tout est documenté dans le premier post et dans le source.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 15:45

Ca me rappelle le bon vieux temps. J'ai toujours ma platine de test et mes circuits dans mon sous-sol ... Je ne tarderais pas à le ressortir pour mon fils, mais c'est encore un peu tot.
Je teste ton programme ce soir
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 19:49

Nouvelle version.

Nouveautés:
- correction d'un petit bug
- ajout d'un paramètre supplémentaire pour la définition de toutes les portes: valeur de sortie initiale ! Ceci permet d'avoir initialement une situation aberrante qui conduit à une boucle infinie.

Avec tout ça, on peut simuler un flipflop JK, de la manière suivante:
Citation :
; flipflop JK
; portes commandées
nand,a1,3,1
nand,a2,3,1
lien,J,#1,a1/2
lien,Tick1,#2,a1/3
lien,Tick2,#2,a2/1
lien,K,#3,a2/2
; puis un flipflop RS
nand,b1,2,0
nand,b2,2,1
; entrées
lien,l1,a1,b1/1
lien,l2,a2,b2/2
; liens croisés
lien,l3,b1,b2/1
lien,l4,b2,b1/2
; sorties
lien,l5,b1,#11
lien,l6,b2,#13
; liens de rebouclage
lien,l7,b1,a2/3
lien,l8,b2,a1/1

Le schéma d'un flipflop JK est:
Simulateur de circuits logiques Flipfl10
Dans mon exemple, J=contact 1, CLK=contact 2, K=contact 3, Q=contact 11, notQ=contact 13
Le flipflop réagit si CLK (contact 2) est mis à 1. Il utilise alors les valeurs de J et K pour définir son nouvel état. Remettre CLK à 0 bloque toute modification de l'état.

La table de vérité est:
Citation :

J K C Q
=======================
0 0 0 pas de changement
0 0 1 pas de changement
1 0 1 1
0 1 1 0
1 1 1 interdit !
Un conseil: après la génération du circuit, effectuer la simulation d'une étape, de sorte que le système s'initialise bien. Après, on peut agir sur J, K et CLK pour voir l'effet. Attention: J=K=1 est interdit et conduit à une boucle infinie - ceci est normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 20:00

Bon désolé Klaus, mais je n'ai pas tout compris et mes lignes sont en erreur, mais je relirais les explications à tête reposée demain, je n'ai pas le courage de m'y replonger ce soir ...
Quand je créé un porte, je peux entrer le nom et modifier le nombre d'entrée, mais les 2 lignes en dessous ne sont pas modifiable Entrée et Sortie. Mais c'est sans doute normale, je n'arrive juste pas à me mettre dedans, ce soir ...
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 20:48

Par l'expert de saisie, les zones qui ne s'appliquent pas à un objet, restent inactives. Les zones "Entrée" et "Sortie" ne s'appliquent qu'à un objet LIEN.

Essaie ceci:
Citation :

; définir un NAND avec 3 entrées. La sortie vaut 1 par défaut
NAND,porte_nand,3,1
; contact 1 sur entrée 1 du NAND
LIEN,lien_1,#1,porte_nand/1
; contact 2 sur entrée 2 du NAND
LIEN,lien_2,#2,porte_nand/2
; contact 3 sur entrée 3 du NAND
LIEN,lien_3,#3,porte_nand/3
; sortie du NAND sur contact 12
LIEN,lien_4,porte_nand,#12
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 21:29

OK, j'ai compris, je n'étais pas loin, mais je n'avais pas compris qu'il fallait utiliser le nom seul pour la sortie ^^ Ca marche mieux comme ça, en effet !!
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyVen 27 Avr 2012 - 21:34

Petite mise à jour: la valeur par défaut de la sortie est maintenant gérable dans l'expert de saisie !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptySam 28 Avr 2012 - 19:38

Nouvelle version:

Il y a un nouvel objet natif: la bascule JK. Commande: JK,nom,out_val

Voici un extrait des commentaires du programme:
Citation :
' La bascule JK est une cellule de mémorisation de 1 bit. Elle a 3 entrées
' et 2 sorties, mais les deux sorties sont complémentaires (nommées Q et not-Q).
' Les 3 entrées sont J, CLK et K. L'entrée CLK (clock comme horloge) détermine
' un cycle de l'objet. Il faut une transition de 0->1 puis de 1->0 pour
' compléter un cycle. Tant que CLK=0, aucun changement des entrées J et K n'est
' pris en compte. Si CLK=1: J=K=0 maintient l'état de la bascule, J=1 et K=0
' forcent l'état à 1 (la sortie Q produit 1), et J=0 et K=1 force l'état de la
' bascule à 0 (la sortie Q produit 1). La combinaison J=K=1 est interdite et
' produit des résultats imprédictibles. La table de vérité est:
' J 0 0 0 0 1 1 1 1
' K 0 0 1 1 0 0 1 1
' T 0 1 0 1 0 1 0 1
' Q x x x 0 x 1 ? ?
' (x signifie valeur inchangée)

Avec ça, on peut faire des compteurs, un horloge, ...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptySam 28 Avr 2012 - 19:56

Hum, Klaus, je suis fort pour donner du boulot aux autres ... La preuve ... maintenant que ton moteur de traitement est opérationnel, ça ne te dirait pas de faire une interface visuelle ?
A priori, tu connais les symboles des portes logiques. Tu peux mettre des interrupteur 0/1 en entrée et de leds éteintes / allumées en sortie pour voir l'état, par exemple.
En fait, on se servirait de tes menu actuels pour éditer ou créer une nouvelle entrée / porte, mais les liens seraient géré à la souris en cliquant sur les entrées ou sortie des objets.
Ton traçage d'étapes pourrait alors être directement visualisé sur les entrées sorties (par exemple par un petit rond qui représente l'entrée ou la sortie et qui s'allume quand l'état est à 1)

Bon, c'est juste une idée de la part du mec qui a toujours des idées pour donner du travail ..... Smile
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptySam 28 Avr 2012 - 21:08

Pourquoi pas ? Je vais voir ce que cela implique.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyDim 29 Avr 2012 - 20:02

Nouvelle version:

début de la représentation graphique du circuit. Pour le moment, on peut placer les objets sur un canvas de 800x400 pixels. Les liens ne sont pas encore gérés, mais on peut déjà voir les objets et les contacts.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyDim 29 Avr 2012 - 20:45

Tu as bien avancé Wink (J'ai réussi sans problème a afficher mes 2 circuit sur le schéma, il a juste fallu que je fasse attention au bouton dessiner les portes a cliquer après avoir généré le circuit
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyDim 29 Avr 2012 - 21:09

Oui, c'est ça. Avant la génération, les informations ne sont pas "connues" puisqu'elles ne sont pas encore dans les tables.

Au moment du dessin, le programme demande si l'on veut déplacer les objets. En cas de réponse négative, les positionnements mémorisés seront maintenues; sinon, le programme propose chaque objet pour modification des seules coordonnées, et retrace le circuit avec les nouvelles coordonnées.

Petite info: la grille affichée est une grille de 10x10 pixels.

Le gros morceau vien maintenant: le traçage des liens !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyLun 30 Avr 2012 - 12:36

J'ai mis une nouvelle version en ligne, avec le début du traçage des lignes.

Pour le moment, les lignes se tracent si le point de départ est à gauche du point d'arrivée. On peut utiliser les contacts comme départ et arrivée, et les objets divers comme départ.

Les autres cas:
- départ à la verticale de l'arrivée
- départ à droite de l'arrivée
- entrées des objets
sont en cours de réalisation.

Les liens se dessinent en bleu. L'algorithme de création de liens ne tien pas compte de la superposition des liens. Mais les liens sont TOUJOURS en segments perpendiculaires. Le programme affiche une combo avec la listre des liens. En choisissant un lien, une liste des segments pour ce lien apparaît. On peut choisir un segment, puis utiliser le bouton "Déplacer" pour le décaler (verticalement pour un segment horizontal, horizontalement pour un segment vertical). Si le décalage concerne le premier ou dernier segment, il sera automatiquement divisé en 3 segments, et le décalage aura lieu sur celui le plus à l'intérieur, de sorte à ne pas décaler les points de départ ou arrivée.

Reste à faire:
- les cas cités ci-dessus
- couper un segment "intérieur"
- optimiser les segments en cas de "boucles" inutiles

Un lien peut avoir 30 segments. Si le déplacement des liens gêne l'affichage, il suffit de redessiner les portes, et le dessin sera neuf et propre, en respectant le nouveau tracé des liens.

Je prévois la sauvegarde d'un circuit AVEC le tracé de ses liens, et le chargement d'un circuit préalablement sauvegardé. C'est pour bientôt.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyLun 30 Avr 2012 - 15:39

Tu continues d'avancer, j'ai fais un programme test pour voir les avancées.
A ce jour, il trace le segment allant de la sortie du Nand au contact 13
Je le resterais avec les versions à venir (les entrées principalement)
Code:
JK,monJK,0
position,monJK,40,20
lien,l1,#1,monJK/1
lien,l2,#2,monJK/2
NAND,monNand,2,0
position,monNand,120,40
lien,l3,monNand,monJK/3
lien,l4,monJK,monNand/1
lien,l5,#3,monNand/2
lien,l6,monNand,#13
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyLun 30 Avr 2012 - 19:51

Je me suis rendu compte que pour un résultat acceptable pour le tracé des liens, il faut tenir compte de l'orientation, à la fois de l'entrée ET de la sortie du lien. Je reprends donc le mécanisme de construction de tracé. J'ai trouvé le moyen de tenir compte de cet aspect de façon simple - donc, c'est à venir bientôt.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyLun 30 Avr 2012 - 21:40

C'est un gros boulot, mais je pense que le principe est utilisable pour différentes applications Wink
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyLun 30 Avr 2012 - 21:54

Oui, je pense aussi. Ceci dit, ça avance très bien - j'ai trouvé un moyen de discriminer les cas possibles et de les traiter par des pavés indépendants. Toute la routine "optimiser_lien" sera remplacé par un moteur de génération de tracé plus approprié, et modifiable qui plus est.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyMar 1 Mai 2012 - 10:15

Nouvelle version.

Il n'y a pas encore les entrées, mais le moteur de génération de liens est entièrement revu, et tient compte des différents cas: début à gauche, à droite ou à la verticale de l'arrivée, début plus haute, plus basse ou à l'horizontale de l'arrivée, orientation du début et de l'arrivée vers la droite, le bas, la gauche ou vers le haut - ça fait beaucoup de combinaisons possibles.

Je ferai les entrées maintenant.

Mais il y a un grand plus: à partir de maintenant, quand on sélectionne un segment, il s'affiche en rouge. C'est beaucoup plus visible comme ça.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques EmptyMar 1 Mai 2012 - 10:47

J'ai testé mon circuit de test en mettant la sortie du Nand sur le contact 6, pas de problème de traçage Wink maintenant que ton moteur de tracé fonctionne, les entrées sont presque une formalité ...
Est-ce que tu affichera les états des entrées par un petit rond vert / rouge ou rouge / vide ou autre truc du genre ? En fait ce serait sympa, si on fait des boucles, mais il faudrait définir un temps pour afficher les changement d'état. (Si ça va trop vite, on ne verrait rien je sens que la nouvelle commande (pause) va être utilisée bientôt ...)
Revenir en haut Aller en bas
Contenu sponsorisé





Simulateur de circuits logiques Empty
MessageSujet: Re: Simulateur de circuits logiques   Simulateur de circuits logiques Empty

Revenir en haut Aller en bas
 
Simulateur de circuits logiques
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Graphisme avec les fonctions logiques binaires
» Simulateur de vol spatial genre 2001

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: