Outils pour utilisateurs

Outils du site


logical_editor

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
logical_editor [2025/12/08 10:37] mistert2logical_editor [2025/12/12 14:07] (Version actuelle) mistert2
Ligne 3: Ligne 3:
 {{ ::logicaleditor.png |}} {{ ::logicaleditor.png |}}
  
-SimuLogic — Simulateur logique et micro-contrôleur pédagogique  +SimuLogic — Simulateur logique 
 *Lazarus / FreePascal — Octobre 2025* *Lazarus / FreePascal — Octobre 2025*
  
---- 
  
-## Objectif du projet+ 
 +**Objectif du projet**
  
 SimuLogic est un environnement développé sous Lazarus / FreePascal permettant : SimuLogic est un environnement développé sous Lazarus / FreePascal permettant :
  
-de construire et simuler des circuits logiques combinatoires et séquentiels ; +  * de construire et simuler des circuits logiques combinatoires et séquentiels ;
-- de composer progressivement un micro-contrôleur rudimentaire, avec : +
-  - un gestionnaire de bus, +
-  - une mémoire ROM contenant un programme, +
-  - une RAM 8 bits, +
-  - un registre d’instruction (IR), +
-  - un registre accumulateur (A), +
-  - une unité arithmétique et logique (ALU), +
-  - un compteur ordinal (PC), +
-  - un contrôleur / unité de commande capable de décoder les instructions.+
  
-L’objectif est un outil pédagogique puissant, simple d'accès, adapté à l’enseignement des systèmes logiques, des microarchitectures et de la programmation bas-niveau. 
  
----+L’objectif est un outil pédagogique puissant, simple d'accès, adapté à l’enseignement des systèmes logiques.
  
-## Philosophie du logiciel 
  
-### 1. Le concret d’abord+**Philosophie du logiciel**
  
-SimuLogic rend visibles :+1. Le concret d’abord 
 + 
 +SimuLogic rend visibles :   
 + 
 +  * la propagation des bits, 
 +  * le rôle des bascules et des fronts d’horloge, 
 +  * la circulation des données dans les bus.
  
-- la propagation des bits, 
-- le rôle des bascules et des fronts d’horloge, 
-- la circulation des données dans les bus, 
-- le fonctionnement interne d’un micro-contrôleur. 
  
 L’élève observe le système fonctionner étape par étape, ce qui ancre les concepts abstraits dans l’expérience concrète. L’élève observe le système fonctionner étape par étape, ce qui ancre les concepts abstraits dans l’expérience concrète.
  
-### 2. Une logique unifiée : combinatoire + séquentielle+2. Une logique unifiée : combinatoire + séquentielle
  
 Le moteur interne repose sur deux passes : Le moteur interne repose sur deux passes :
  
-1. Passage séquentiel — traitement des signaux mémorisés (@signal) +  1. Passage séquentiel — traitement des signaux mémorisés (@signal) 
-2. Passage combinatoire — propagation logique instantanée+  2. Passage combinatoire — propagation logique instantanée
  
 Cette architecture clarifie la différence entre mémoire et logique et permet de créer des circuits fiables et pédagogiques. Cette architecture clarifie la différence entre mémoire et logique et permet de créer des circuits fiables et pédagogiques.
  
-### 3. Construire un micro-contrôleur, brique par brique 
  
-Chaque composant du micro-contrôleur est représenté par un bloc : +**Construction de circuits**
- +
-- PC (compteur ordinal) +
-- IR (registre d’instruction) +
-- A (accumulateur) +
-- ALU (arithmétique et logique) +
-- ROM (programme) +
-- RAM (mémoire de données) +
-- BUS (sélection de sources) +
-- CTRL (décodage d’instruction) +
- +
-L’utilisateur peut câbler son propre micro-contrôleur et observer son fonctionnement interne, ce qu'un matériel réel ne permet pas de manière aussi transparente. +
- +
---- +
- +
-## Construction de circuits+
  
 L'utilisateur dispose de nombreux composants : L'utilisateur dispose de nombreux composants :
  
-portes logiques (AND, OR, XOR, NOT…) +  * portes logiques (AND, OR, XOR, NOT…) 
-multiplexeurs +  multiplexeurs 
-bascules (RS, JK, D, T) +  bascules (RS, JK, D, T) 
-compteurs +  compteurs 
-bus 4 ou 8 bits +  bus 4 ou 8 bits 
-registres +  registres 
-RAM et ROM +  RAM et ROM 
-afficheurs (LED, 7 segments) +  afficheurs (LED, 7 segments) 
-labels (renommage et routage local) +  labels (renommage et routage local) 
-notes+  notes
  
 Chaque bloc possède : Chaque bloc possède :
  
-des entrées et sorties nommées, +  * des entrées et sorties nommées, 
-des équations logiques internes en notation RPN, +  des équations logiques internes en notation RPN, 
-un préfixe automatique évitant les collisions de noms.+  un préfixe automatique évitant les collisions de noms.
  
 Les connexions se font intuitivement par clic, même dans des circuits complexes. Les connexions se font intuitivement par clic, même dans des circuits complexes.
  
----+**Simulation**
  
-## Simulation+  * Simulation en temps réel via timer ou en mode pas-à-pas. 
 +  * Affichage direct de : 
 +    * l’état des bits, 
 +    * les valeurs des bus, 
 +    * l’état des registres, 
 +    * le cycle d'exécution d’une instruction.
  
-- Simulation en temps réel via timer ou en mode pas-à-pas. 
-- Affichage direct de : 
-  - l’état des bits, 
-  - les valeurs des bus, 
-  - l’état des registres, 
-  - le cycle d'exécution d’une instruction. 
  
 La mémoire interne peut être inspectée et figée pour analyser un cycle. La mémoire interne peut être inspectée et figée pour analyser un cycle.
  
---- 
- 
-## Simulation d’un micro-contrôleur rudimentaire 
- 
-### Pipeline minimal 
- 
-1. **FETCH** 
-   - PC fournit l’adresse 
-   - ROM renvoie l’octet d’instruction 
-   - IR se charge 
- 
-2. **DECODE** 
-   - Le contrôleur active LOAD_A, ALU_SEL, BUS_SEL, RAM_RW, etc. 
- 
-3. **EXECUTE** 
-   - ALU calcule 
-   - Accumulateur ou RAM mis à jour selon l’instruction 
- 
-### Jeu d’instructions typique 
- 
-- LDA imm : charger une constante 
-- ADD imm : addition immédiate 
-- STA addr : stocker A en RAM 
-- LDA addr : charger depuis la RAM 
-- JMP addr : saut inconditionnel 
- 
-L’élève voit littéralement les signaux s’activer et le bus commuter, ce qui concrétise la micro-architecture. 
- 
---- 
- 
-## Public visé 
- 
-- Enseignants en sciences de l’ingénieur (STI2D / SSI) 
-- Étudiants en électronique ou informatique 
-- Makers souhaitant comprendre l’intérieur d’un CPU 
-- Élèves débutants en logique numérique 
  
----+  * Enseignants en sciences de l’ingénieur (STI2D / SSI) 
 +  * Étudiants en électronique ou informatique 
 +  * Élèves débutants en logique numérique
  
-## Pourquoi ce logiciel est unique ?+**Pourquoi ce logiciel est unique ?**
  
-Il combine éditeur visuel, simulateur logique, gestion des bus et micro-architecture complète+  * Il combine éditeur visuel, simulateur logique, gestion des bus. 
-Il est basé sur Lazarus/FreePascal : libre, modifiable, pédagogiquement clair. +  Il est basé sur Lazarus/FreePascal : libre, modifiable, pédagogiquement clair. 
-Il offre une visualisation interne du micro-contrôleur, habituellement invisible+  Il évite les connexions par câble nombreuses et privélègie une approche systèmique par blocs
-Sa logique interne simple mais cohérente est idéale pour la formation.+  Sa logique interne simple mais cohérente est idéale pour la formation.
  
---- 
  
-## Évolutions possibles 
  
-- Breakpoints et debug instruction par instruction 
-- Registres supplémentaires 
-- ALU paramétrable 
-- Jeu d’instructions étendu 
-- Export en VHDL/Verilog 
-- Interaction avec microcontrôleurs réels via liaison série 
  
---- 
  
  
logical_editor.1765190243.txt.gz · Dernière modification : de mistert2