Curriculum and Labs for Engineering Education

cancel
Showing results for 
Search instead for 
Did you mean: 

Challenge mathématiques #9 : Réparation d’une horloge 7 segments avec des portes logiques

Bonjour,

Nous voilà parti ce novembre dans un casse tête logique et de dessins optimisés dans le diagramme.

Toujours dans les cas concrets, une horloge à LED « un peu ancienne » de type 7 segments à besoin d’être réparée !

Pour cela il lui faut des fonctions logiques booléennes.

Des tables de vérité, tableaux de Karnaugh ou méthodes de Mac Cluskey seront nécessaires pour résoudre quelques optimisations du nombre de portes qui devront êtres utilisées.

Normalement c’est du binaire pur qui est en entrée des circuits logiques et des données booléennes en ressort pour l’allumage des segments séparément.

Mais l’horloge n'est plus fonctionnelle et les valeurs du tableau sont légèrement différentes. (À vous de trouver lesquelles, petit piège...).

Le challenge de ce mois de novembre est de réparer l’horloge en affichant correctement l’heure sur les 7 segments et en utilisant uniquement la palette « booléen » avec les fonctions logiques.

(Seul les fonctions de la ligne 3 ne seront pas utilisables. Voir image)

Pour départager les résultats, le VI qui prendra le moins de taille dans le diagramme gagnera. Donc celui qui utilisera le moins de portes logiques et dont les optimisations logiques seront les meilleures.

Le gagnant pourra passer une certification de son choix gratuitement.

Règles :

- Pas de sous-VI, tout doit être dans le VI « 7 segments.vi » (c’est là qu’il faut bien dessiner les fils, fastidieux je sais, mais c'est ça aussi le challenge)

- Pas d’autres fonctions que celle de la palette « booléen » avec les fonctions de la ligne 3 en moins.

Retournez-moi juste le vi « 7 segments_votre pseudo.vi » (emmanuel.roset@ni.com) avant le 1er décembre 2013.

Voici les images des segments à allumer pour la validation :

chiffres.png

et voici l'image de la palette à utiliser sans les fonctions de la ligne 3

fonctions.jpg

Ci-joint le fichier des programmes sous format projet depuis la version 2010 à 2013 pour couvrir le plus de personnes...

Bonne chance.

N'hésitez pas à poser des questions

Précisions 06/11/2013

- Ne pas modifier la face avant ni les objets du diagramme fourni afin de comparer les différents codes (seul le nombre de fonctions/connexions est mesuré)

- L'affichage est avec les "0" à gauche par ex. 00 01 pour minuit et une minute

- L'affichage est en mode 24h

- Ne pas utiliser les valeurs par défaut des objets commandes et indicateurs booléens

3/12/2013 Résulats du défi

Alors, je pensais que cela sera serré entre les participants, mais finalement les utilisations optimisées des portes logiques ont produits pas mal de versions différentes pour chacun.

Finalement c'est la version 6 du code de Cisco qui est le plus optimisé. Bravo, il remporte cette épreuve (encore) et a réussi à réparer le plus efficacement l'horloge 7 segments.

Je tiens aussi a féliciter les autres participants qui ont envoyé également des codes ultra optimisés.

J'ai reçu cependant des codes plus "bruts..." que je ne dévoilerai pas en ligne, car ils font parti des codes d'exemples spaggetti 😉 mais tout le monde est le bienvenu pour envoyer des codes et leur anonymat sera respecté. L'important est de participer et de s'amuser.

Alors voici les codes en pièce jointe ainsi que le tableau des résultats et une copie du diagramme de Cisco (je me demande encore comment ca peut fonctionner...)

image résulat cicso.png

cicso9905
Nico_EMC10849
Yann_5016138
Bleses17643
didje00718005
SebMichaud20292
Jules140321949
Xavhendrix55653Plus de 120 fonctions

Bientôt noel et les lutins...

Comments
Nico_EMC
Member
Member
on

Bonjour Emmanuel.

Pas de sous-vi, ça veut dire qu'on fait 4 fois la même chose (aux 'bugs' du tableau près ) ?

emmanuel-fr
Member
Member
on

Bonsoir,

Il est possible d'optimiser le nombre de fonctions en utilisant les portes logiques des autres chiffres, même "bug" inclus. Par exemple des tableaux de Karnaugh à plus de 4 variables. Ici on peut faire de l'optimisation "FPGA" à la main. ou alors utiliser 4 fois les même équations logiques pour chaque chiffre sans optimiser. Si tout le monde plafonne avec le même nombres de portes, je serai amené à relancer le challenge avec petit défi complémentaire.

Nico_EMC
Member
Member
on

OK, effectivement, je suis passé à coté d'une bonne partie de l'optimisation !!

Nico_EMC
Member
Member
on

Il me vient, dans ce cas, deux autres questions :

  • Quel est le format de l'heure : 12 ou 24 ? (visiblement, c'est 24h)
  • Doit-on afficher le 0 à gauche (9:21 ou 09:21) ?
Cisco
Active Participant
Active Participant
on

Apparemment, c'est plutôt 24h, puisque l'horloge binaire en panne fournie est au format 24h... quand au zéro à gauche, il me semble que oui il faut l'afficher, cf l'image de ce post qui montre "les images des segments à allumer pour la validation"...

Francis M
emmanuel-fr
Member
Member
on

Bonjour, en effet l'horloge est en 24h et on affiche le 0 à gauche.

Sinon, précision, il est demandé de ne pas modifier la face avant afin de pouvoir bien comparer les tailles des diagrammes (ne pas enlever les indicateurs booléens proposés dans le diagramme d'origine, ne pas supprimer les affichages des objets de FA, taille des fonctions tableau déjà fournis etc..) merci. Normalement la taille mémoire de la face-avant est de 47402 octets.

En effet, la mesure de la taille du diagramme est liée au chargement mémoire de la face-avant dans la propriété Taille du diagramme.

J'ai reçu 2 codes déjà et les résultats sont assez différents sur les choix des optimisations, ca s'annonce bien . Ca va être serré

Jules1403
Member
Member
on

Code envoyé !!!

en respectant les précisions du 6/11/2013.

smi38
Member
Member
on

Code envoyé.

Beaucoup de fils, beaucoup de portes, je sèche un peu pour une bonne optimisation...

Cisco
Active Participant
Active Participant
on

Code envoyé

Francis M
emmanuel-fr
Member
Member
on

Bonjour les challengers, merci pour vos codes. Je vous confirme qu'il y a bien des différences dans les résulats du nombre de portes que vous avez utilisés. Donc pour le moment pas d'égalité. Juste une précision car je viens de faire une passe sur tous les codes. Il n'est pas permis de changer les valeurs par défaut en face avant et d'enregistrer celle-ci. Cela met ainsi tout le monde sur la même base des codes reçus. (Je vous rassure ça ne touche presque personne)

Merci encore !

emmanuel-fr
Member
Member
on

Résulats publiés

Contributors