logical_editor
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| logical_editor [2025/12/08 10:44] – mistert2 | logical_editor [2025/12/12 14:07] (Version actuelle) – mistert2 | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| {{ :: | {{ :: | ||
| - | SimuLogic — Simulateur logique | + | SimuLogic — Simulateur logique |
| *Lazarus / FreePascal — Octobre 2025* | *Lazarus / FreePascal — Octobre 2025* | ||
| Ligne 12: | Ligne 12: | ||
| 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, | + | |
| - | - 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' | ||
| - | --- | + | L’objectif est un outil pédagogique puissant, simple d' |
| **Philosophie du logiciel** | **Philosophie du logiciel** | ||
| Ligne 31: | Ligne 22: | ||
| 1. Le concret d’abord | 1. Le concret d’abord | ||
| - | SimuLogic rend visibles : | + | 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. | ||
| Ligne 48: | Ligne 39: | ||
| 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, | ||
| - | |||
| - | Chaque composant du micro-contrôleur est représenté par un bloc : | ||
| - | |||
| - | - 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. | ||
| - | |||
| Ligne 70: | Ligne 45: | ||
| L' | L' | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| Chaque bloc possède : | Chaque bloc possède : | ||
| - | | + | |
| - | | + | |
| - | | + | |
| 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. | ||
| Ligne 91: | Ligne 66: | ||
| **Simulation** | **Simulation** | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| 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/ | + | |
| - | - Il offre une visualisation interne du micro-contrôleur, | + | |
| - | - 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/ | ||
| - | - Interaction avec microcontrôleurs réels via liaison série | ||
logical_editor.1765190640.txt.gz · Dernière modification : de mistert2
