AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 TICS - The Integrated Circuit Simulator

Aller en bas 
AuteurMessage
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: TICS - The Integrated Circuit Simulator   Sam 3 Fév 2018 - 14:33

Un petit projet sur lequel je bosse, qui permet d’interpréter des circuits logiques facilement a partir de bêtes images bitmaps.

J'ai documenté tout le projet sur github ICI.

Quelques exemples visuels:
Un compteur binaire qui affiche la valeur hexa sur un afficheur 7-segment:


Une RAM de 64 octets:


Une grosse RAM de 1ko:
https://i.imgur.com/jxnkkHN.gif

Les circuits sont de simples images avec des code couleurs spécifiques.
Par ex un compteur comme celui du gif (mais qui utilise des blocs de mémoire a la place des ou en cascade):


L'interpreteur est dispo pour linux/windows: https://github.com/onidev/TICS/releases

Si vous faites des circuits cool hésitez pas a les poster ou a les pull sur github Smile

_________________
                 
Revenir en haut Aller en bas
En ligne
daminetreg
Administrateur
avatar

Messages : 16996
Localisation : Siege du CBNA!
Projet Actuel : Site Web du CBNA, version beta :

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Dim 4 Fév 2018 - 12:36

C'est vraiment abouti !
Tu l'utilises à des fins de vérification de tes propres circuits ou tu as une autre idée en tête ?

_________________
Mon CV : fr - de - en
Le CBNA Tous Ensemble! Réalisons!
Revenir en haut Aller en bas
http://lecbna.org/
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Dim 4 Fév 2018 - 12:46

Dans l'idée, c'est juste un test pour voir si je pourrais intégrer ça dans centauri sous forme d’électronique bas niveau (facultative, couplée a l'electronique haut niveau).
En l'état le système bien que performant n'est pas viable, il faut encore que je fasse un système de compilation et que j'ai un proof of concept assez gros (genre un petit ordinateur programmable 8 bit conçu avec) pour faire mes tests. Car dans centauri on pourrait se retrouver avec des centaines de simulations simultanées...

Par contre le système ne prend pas en compte plusieurs choses comme les décalages temporels donc en théorie on ne peut pas l'utiliser pour une application réelle.
C'est vraiment juste sous forme de jeu, comme the powder toy, mais pour la logique combinatoire :p

_________________
                 
Revenir en haut Aller en bas
En ligne
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Mar 6 Fév 2018 - 8:45

Multiplication et division 8bits:



_________________
                 
Revenir en haut Aller en bas
En ligne
arthuro
Utilisateur confirmé: Rang ****
avatar

Messages : 1351
Localisation : Grenoble / Méribel
Projet Actuel : CBNA

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Jeu 8 Fév 2018 - 22:46

C'est assez magnifique! J'adore voir les animations!

_________________

D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Ven 9 Fév 2018 - 22:07

Une ALU (Unité arithmétique et logique) 8 bits, qui permet de faire (presque) tous les calculs de base:


Je vais pouvoir commencer les choses sérieuses avec ça Very Happy

_________________
                 
Revenir en haut Aller en bas
En ligne
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Mer 14 Fév 2018 - 20:03

Mon premier chipset programmable (pas super utile, mais fonctionnel):


Le plus dur était surtout de faire tout tenir ensemble, gérer les sleeps et le fetch correctement.
Prochaine étape: ajouter des registres (afin de rendre les calculs un peu plus utiles) et des sauts conditionnels.

_________________
                 
Revenir en haut Aller en bas
En ligne
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Jeu 15 Fév 2018 - 20:48

Un nouveau chipset plus élaboré:


Plus qu'a ajouter du branching et j'aurais un truc Turing complet a priori.

_________________
                 
Revenir en haut Aller en bas
En ligne
arthuro
Utilisateur confirmé: Rang ****
avatar

Messages : 1351
Localisation : Grenoble / Méribel
Projet Actuel : CBNA

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Sam 17 Fév 2018 - 13:24

C'est vraiment cool!

L’exécutable fonctionne très bien sous linux.
Pourquoi ne donner que l’exécutable et pas les sources?
ça serait difficile de le faire fonctionner avec WebAssembly sur une page web?

_________________

D'autres jeux :
In The Cube
In the cube 2
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8949
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: TICS - The Integrated Circuit Simulator   Lun 19 Fév 2018 - 10:44

Merci :p

C'est simple, le git est fait pour les circuits, pas le logiciel. En fait les circuits ont pris vraiment beaucoup de temps a être designé, et le code est pas vraiment intéressant, c'est implémentable en 2-3h si on a une classe d'image et un workflow de base.
Et le programme est fait avec mon workflow personnel du coup il ne pourra pas être compilé vu que je ne le distribue pas (bien que ça doit pas être dur a porter sur SDL2).
Enfin je pourrais toujours poster un snippet si ça t’intéresse, mais c'est pas vraiment la partie centrale du truc.

Pour un export web je pense pas qu'il y ai de soucis. Mais comme c'est juste un interpréteur sans édition c'est pas très intéressant pour le moment.
Je travaille petit a petit sur un éditeur complet, je pense que je me pencherais sur l'export web quand il sera fini, la ce sera bien plus intéressant.

Sinon hier j'ai fait ma première chipset turring complete (si on omet la limite de mémoire actuelle):

Petite démo avec la suite de Fibonacci qui se calcule dessus: https://i.imgur.com/I6tdx8A.gif

Je retravaillerais l'architecture pour ajouter un carry flag, et la multiplication 8 bit (qui est un peu chiante car elle doit output dans 2 registres, vu que le résultat est en 16 bits).
Avec un peu plus d'instructions et de registres on pourra commencer a programmer des choses intéressantes avec.


Mais pour vous donner un peu une idée au niveau de la suite, quand l'éditeur de circuit logiques sera finis, il y aura un éditeur de circuits électroniques ou l'on pourra utiliser ses puces sous forme de boîtiers DIP (avec les I/O), des protocoles de communication entre les chipsets (comme I2C), un assembleur universel avec un interpréteur C intégré pour pouvoir créer ses propres assembleurs, et ainsi pouvoir coder ses chipsets personnalisés facilement (actuellement je rentre tout en binaire directement dans la cellule de mémoire, mais ce sera pas possible une fois la puce "crée" dans son boîtier DIP, il faudra lui envoyer le code).
Une fois tout cela finis ça me permettra de faire un jeu complet et ludique pour apprendre les bases de la logique combinatoire en situation relativement "réelle", mais aussi certains aspects de l’électronique (au niveau de la prog des puces et leur communication).

Bref, y a encore pas mal de taf au niveau soft (faire les GUI etc), mais y a aussi beaucoup de taf encore au niveau du design des circuits logiques.
Il faut que je fasse des protocoles de communication, que je crée des architectures pratiques a programmer (j'aimerais bien avoir un truc qui ressemble a de l'AVR a la fin), et que j'ai un gros proof of concept qui sera utilisé dans le jeu en lui même (le joueur aura accès a des chipsets tous prets pour pouvoir s'amuser avec).

_________________
                 
Revenir en haut Aller en bas
En ligne
Contenu sponsorisé




MessageSujet: Re: TICS - The Integrated Circuit Simulator   

Revenir en haut Aller en bas
 
TICS - The Integrated Circuit Simulator
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Vos enfants ont-ils des tics?????
» Le "circuit Guillaume" sur son portable.
» Tics faciaux
» COUPE CIRCUIT COBRA SRA4* .:VENDU:.
» Tics nerveux

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: