[ Accueil ] [ CONTACT ] [ PLAN du Site ] [ RCNV ] [ Publications ] [ Chantiers Bateaux ] [ Technique Modélisme ] [ Electronique ] [ Radios Vintage ] [ Multi-Switch ] [ Vrac ] [ Astuces ] [ Liens ] [ Base ] [ Compteur ]
 

        ... rgl

 

Résolution facile des équations logiques

d’un système logique

sur base de sa table de vérité

avec Inlab® PROLOGIC Compiler

 

Systèmes logiques  -  Application MicroContrôleur

(c) Roger LEGAT jr 

 

La fin des années 70 a vu le développement des composants programmables PAL et GAL (Programmable Array Logic et Generic Array Logic) faisant partie de la grande famille des P.L.D. (Programmable Logic Device).

Ces circuits permettaient de réaliser, de manière très compacte, une ou plusieurs fonctions logiques, ou systèmes  logiques combinatoires/séquentielles exploitant diverses variables d’entrée.

Aujourd'hui, les MicroContrôleurs (PIC, AVR, ...) se sont imposés de par leur énorme polyvalence, leur large diffusion, leur démocratisation et leur très grande facilité de programmation que ne proposaient pas vraiment les PAL/GAL !

 

Inlab avait développé un logiciel de programmation des PAL/GAL, PROLOGIC Compiler, dont une version bridée, qui tenait sur une disquette, a été distribuée (gratuitement) par Texas Instrument. Cette version se limitait cependant aux seuls composants commercialisés par Texas Instrument. 

 

     Ce programme et son mode d'emploi sont téléchargeables au bas de cette page  :-)   

 

Si je fais référence aujourd'hui à ce logiciel c'est parce qu'il peut encore nous être d'une grande utilité pour la résolution des équations logiques d'un système logique complexe réalisé, notamment, avec un MicroContrôleur, simplement d'après sa table de vérité (TDV) traduisant les réponses attendues en sortie du système.

 

Pour votre information, PROLOGIC peut exploiter trois types de fichiers sources: les équations Booléennes, les tables de vérité et les diagrammes d'état.

Outre un compilateur (LC.exe), ce logiciel est également pourvu d'un simulateur (LS.exe) permettant de tester le composant et sa réponse en regard du fichier de programmation sur base de l'écriture de "vecteurs de test".

Vous trouverez dans le répertoire téléchargeable (bas de cette page) un petit fichier Word qui vous en dira un tout petit peu plus à ce sujet.

 

Nous allons donc juste nous intéresser ici au compilateur et aux tables de vérité et voir l'utilisation très intéressante qu'en fait encore pour nous PROLOGIC Compiler.

 

Il est très facile, et nécessaire, au début d'un projet de développement d'un système logique (décodeur, ...) d'en établir la table de vérité.

Il nous est ensuite indispensable de traduire l'ensemble des états de sortie en équations logiques, combinant les entrées, pour finalement les intégrer dans le programme du µC.

 

Certes, les spécialistes de l'algèbre de Boole ou des diagrammes de Karnaught s'en tireront après quelques cogitations et autres ronds sur le papier mais avec PROLOGIC Compiler, un simple fichier texte, saisi avec un éditeur de textes, traduira une table de vérité en autant d'équations logiques que compte de sorties le système... et cela,  en quelques secondes !

 

On prendra soin d'établir une table de vérité complète, ne négligeant pas les états "inutiles" (Don't Care) qui risqueraient toujours de se présenter, notamment lors du démarrage du système.

En fait, la table de vérité doit donc toujours compter autant de lignes que 2 exposant le nombre d'entrées. (Exemple: 3 entrées: 2^3=8 états possibles; 4 entrées: 2^4 = 16 états possibles, ...).

 

 

 

1) Saisie du fichier source

 

On évitera l'usage des majuscules (qui "plante" le compilateur) et le fichier sera sauvé avec une extension ".pld"

 

Les infos/remarques en magenta ne doivent pas être saisies dans le fichier source !

 

 

 

title {Test1 ---> Traduire une table de vérité en équations logiques -  R.LEGAT (c)2012}   titre du fichier qui apparaîtra dans le fichier final de compilation reprenant les équations optimisées

 

include p16r8;    déclaration du composant PAL au logiciel (P16R8: 8 entrées, 8 sorties à bascules)

 

define i1=pin2;     personnalisation des noms des pins d'entrée (on n'utilise que 4 entrées)
define i2=pin3;
define i4=pin4;
define i8=pin5;

 

define s1=pin12.d;   personnalisation des noms des pins de sortie (on emploie ici les 8 sorties)
define s2=pin13.d;   on utilise les pins "D" des bascules (latche/mémorisation de l'état de sortie)
define s3=pin14.d;
define s4=pin15.d;
define s5=pin16.d;
define s6=pin17.d;
define s7=pin18.d;
define s8=pin19.d;

 

Truth_table {       déclaration de la table de vérité complète  (2^in = 2^4= 16 états, soit 16 lignes à définir complètement. Dans ce cas, le système compte 4 entrées et 8 sorties)

i8  i4  i2  i1 : s1 s2 s3 s4 s5 s6 s7 s8;
0   0   0   0  :  0  0  0  0  0  0  0  0;
0   0   0   1  :  0  0  0  0  0  0  0  1;
0   0   1   0  :  0  0  0  0  0  0  1  0;
0   0   1   1  :  0  0  0  0  0  1  0  0;
0   1   0   0  :  0  0  0  0  1  0  0  0;
0   1   0   1  :  0  0  0  1  0  0  0  0;
0   1   1   0  :  0  0  1  0  0  0  0  0;
0   1   1   1  :  0  1  0  0  0  0  0  0;
1   0   0   0  :  1  0  0  0  0  0  0  0;
1   0   0   1  :  1  1  0  0  0  0  0  0;
1   0   1   0  :  1  0  1  0  0  0  0  0;
1   0   1   1  :  1  0  0  1  0  0  0  0;
1   1   0   0  :  1  0  0  0  1  0  0  0;
1   1   0   1  :  1  0  0  0  0  1  0  0;
1   1   1   0  :  1  0  0  0  0  0  1  0;
1   1   1   1  :  1  1  1  1  1  1  1  1;

}   fin de code

 

 

 

Certains pins du P16R8 ont des fonctions particulières qui doivent être déclarées au programme grâce à un suffixe placé après le n° du pin ; ainsi :

 

  pinxx.d entrée de bascule utilisée en verrou (D flip-flop with internal feedback)
  pinxx.q sortie de bascule
 !pinxx.q sortie complémentaire (inversée) de bascule
  pinxx.oe fonction de validation (out enable)

 

Pour l'édition "papier" du fichier, je vous recommande d'utiliser la police d'écriture Courrier pour la table de vérité.

Elle permet un alignement parfait des caractères indépendamment de la taille sélectionnée. :-))

 

 

2) Compilation

 

On lancera la commande LC <nom du fichier>.

 

L'usage d'un petit fichier batch placé dans le répertoire de travail facilitera l'opération.

Il sera réduit à sa plus simple expression:

 

  rem Fichier de lancement GO.bat

    LC Test1

    Pause

 

La commande Pause, qui s'exécutera en fin de compilation, a l'avantage de vous donner les informations finales du compilateur et vous présenter les éventuelles erreurs d'écriture.

 

 

3) Les équations logiques optimisées

 

Elles ont été crées lors de la compilation et se trouvent maintenant dans le fichier portant l'extension .lst

Voici comment il se présente:

 

proLogic Compiler      1ère partie du fichier: les équations logiques optimisées. Elles utilisent les fonctions de base AND (&), OR () et INVERSE (!)
Texas Instruments V1.97
Copyright (C) 1989 INLAB, Inc.
Signal Specifications


pin19.d=
   pin5 & pin4 & pin3 & pin2
 | !pin5 & !pin4 & !pin3 & pin2

 

pin18.d=
   !pin5 & !pin4 & pin3 & !pin2
 | pin5 & pin4 & pin3

 

pin17.d=
   !pin5 & !pin4 & pin3 & pin2
 | pin5 & pin4 & pin2

 

pin16.d=
   pin5 & pin4 & pin3 & pin2
 | pin4 & !pin3 & !pin2

 

pin15.d=
   !pin5 & pin4 & !pin3 & pin2
 | pin5 & pin3 & pin2

 

pin14.d=
   pin5 & pin4 & pin3 & pin2
 | pin5 & !pin4 & pin3 & !pin2
 | !pin5 & pin4 & pin3 & !pin2

 

pin13.d=
   pin5 & !pin4 & !pin3 & pin2
 | pin4 & pin3 & pin2

 

pin12.d=
   pin5

 


proLogic Compiler   La 2ème partie du fichier ne nous intéresse pas. Elle donne la configuration de programmation des "fusibles" du PAL P16R8

Texas Instruments V1.97
Copyright (C) 1989 INLAB, Inc.
Fuse Plot

 

       Test1 ---> Traduire une table de vérité en équations logiques - R.LEGAT (c)2012

 

p16r8 revision 89.2.11

 

                11 1111 1111 2222 2222 2233
    0123 4567 8901 2345 6789 0123 4567 8901

 

  0 X--- X--- X--- X--- ---- ---- ---- ----   +
  1 X--- -X-- -X-- -X-- ---- ---- ---- ----   +
  2 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
  3 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin19.d
  4 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
  5 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
  6 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
  7 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

  8 -X-- X--- -X-- -X-- ---- ---- ---- ----   +
  9 ---- X--- X--- X--- ---- ---- ---- ----   +
 10 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 11 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin18.d
 12 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 13 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 14 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 15 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 16 X--- X--- -X-- -X-- ---- ---- ---- ----   +
 17 X--- ---- X--- X--- ---- ---- ---- ----   +
 18 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 19 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin17.d
 20 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 21 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 22 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 23 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

 24 X--- X--- X--- X--- ---- ---- ---- ----   +
 25 -X-- -X-- X--- ---- ---- ---- ---- ----   +
 26 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 27 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin16.d
 28 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 29 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 30 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 31 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

 32 X--- -X-- X--- -X-- ---- ---- ---- ----   +
 33 X--- X--- ---- X--- ---- ---- ---- ----   +
 34 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 35 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin15.d
 36 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 37 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 38 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 39 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

 40 X--- X--- X--- X--- ---- ---- ---- ----   +
 41 -X-- X--- -X-- X--- ---- ---- ---- ----   +
 42 -X-- X--- X--- -X-- ---- ---- ---- ----   +
 43 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin14.d
 44 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 45 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 46 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 47 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

 48 X--- -X-- -X-- X--- ---- ---- ---- ----   +
 49 X--- X--- X--- ---- ---- ---- ---- ----   +
 50 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 51 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin13.d
 52 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 53 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 54 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 55 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

 

 56 ---- ---- ---- X--- ---- ---- ---- ----   +
 57 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 58 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 59 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +   pin12.d
 60 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 61 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 62 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +
 63 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX   +

    | |  | |  | |  | |  | |  | |  | |  | |
 pin2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |
      |    |    |    |    |    |    |    |
    pin1   18   17   16   15   14   13   11

 

 Legend:

   X  : Cell intact     (JEDEC 0)
   -  : Cell programmed (JEDEC 1)

   X- : True input term, Complement register term
   -X : Complement input term, True register term
   XX : Any XX pair in a product term yields product term LOW.
   -- : No input term (don't care).  A product term comprised
        entirely of -- yields product term HIGH.

 



 

  - Comment passer d'une table de vérité à une équation logique

  - Comment convertir une table de vérité en équations logiques

  - Equation logique d'après la table de vérité
  - Equation logique correspondant à une table de vérité

  - Simplification des équations logiques

  - Résolution facile des équations logiques

 

        
---> Download Téléchargez Texas Instrument PROLOGIC Compiler !

 

 

Texas Instrument proLogic Compiler User's Guide

  Le mode d'emploi complet (v.1-1991 / 171 pages) de Prologic Compiler est archivé à cette adresse: 

     

https://ia600405.us.archive.org/5/items/TexasInstruments-TI-TheprologicCompilerUsersGuideOCR/TexasInstruments-TI-TheprologicCompilerUsersGuideOCR.pdf

 

 

 

   Trafic Visiteurs:  

 
[ Electronique ]
Copyright © Roger LEGAT - 2008 - Tous Droits réservés - (Thds V2)