Partage
  • Partager sur Facebook
  • Partager sur Twitter

Circuit "diviseur"

Sujet résolu
    15 janvier 2014 à 20:03:27

    Bonjour,

    Voilà il y a un petit exercice que je n'ai pas très bien compris si quelqu'un peut m'aider s'il vous plait, ça serait gentil, merci

    Enoncé : Donner les tables de vérités d'un circuit diviseur :

                  Entrées : A et b,  codées sur 2 bits chacun a1 a0 et  b1  b0.

                  Sorties :  D et M, codées sur 2 bits chacun d1 d0 et m1 m0 représentation par position.

                                  D = A DIV B

                                  M = A MOD B

                                  en cas de division par 0 choisir la meilleur minimisation.

    a1   a0  b1   b0   d1  d0   m1     m0

    0     0     0     0      x      x      x       x

    0     0     0     1      0      0     0       0

    0     0     1     0      0      0     0       0

    0     0     1     1      0      0     0       0

    0     1     0     0      x      x      x       x 

    0     1     0     1      0      1     0       0

    0     1     1     0      0      0     0       1

    0     1     1     1      0      0     0       1                                         A : 00 : 0

    1     0     0     0      x      x      x       x                                              01 : 1

    1     0     0     1      1      0     0       0                                              10 : 2

    1     0     1     0      0      1     0       0                                              11 : 3

    1     0     1     1      0      0     1       0

    1     1     0     0      x      x      x       x

    1     1     0     1      1      1     0       0

    1     1     1     0      0      1     0       1

    1     1     1     1      0      1     0       0

    Donc voilà là l'exercice est fait mais voilà ce que j'ai pas compris c'est comment on trouve D et M, par exemple pour trouver d1 je fais 0 DIV 0 puis 0 DIV 1 , 0 DIV 2, 0 DIV 3 , là pour les 4 premiers chiffres de d1 ça tombe bien ensuite quand A = 1 , je fais 1 DIV 0, 1 DIV 1 = 0 mais dans l'exercice il y a 0, donc voilà je suis un peu perdu, merci de m'aider s'il vous plait.

     PS : Désolé pour le tableau en le regardant je trouve qu'il est lourd, mais je n'avais pas d'autre moyen de le faire.

    -
    Edité par Wear 15 janvier 2014 à 23:05:33

    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2014 à 8:57:31

      OK je viens de comprendre ton incompréhension... Ouf...

      Bon, en fait, tu as A = a1a0 donc les valeurs 00, 01, 10, 11 (Donc en décimal, 0, 1, 2, 3)

      B vaut b1b0, donc également les valeurs 00, 01, 10, 11 (donc en décimal, 0, 1, 2, 3 aussi)

      Ensuite, on fait la division de A par B. On met le résultat dans D.

      Et c'est là ton erreur, D ne vaut pas d1 mais d1d0, je m'explique :

      Quand tu fais A divisé par B, tu fais a1a0 divisé par b1b0 et tu ranges le résultat dans d1d0.

      Exemples :

      A = 01 (donc 1 en décimal)

      B = 01 (donc 1 en décimal)

      On sait que 1/1 = 1 (Yeah ! On a appris quelque chose !)

      Donc D, le résultat vaut 1, soit 01 en binaire, soit, d1=0 et d0=1

      (Au passage, comme le reste de la division est nul, M=0, donc m1 = 0 et m0 = 0)

      Autre exemple :

      prenons 3/2

      donc A = 11

      et B = 10

      3/2 = 1 (en division entière) et il reste 1 (3=2x1+1)

      Donc D=1 et M=1, soit d1=0, d0=1 et m1=0, m0=1

      Le tableau semble juste.

      As-tu compris mes explications ?

      A++,

      Thierry

      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2014 à 11:28:36

        Salut Thierry, merci pour ton explication j'ai tout compris, mais il y a un autre exercice mais complément à 2 que je n'ai pas compris, peux tu m'aider s'il te plait.

        J'arrive à faire l'exercice en rep/position mais en complément à 2 je ne sais pas, merci de m'aider s'il te plait.

        Enoncé : Donner la table de vérité d'un circuit comparateur de 2 entier codées chacun sur 2 bits en complément à 2.

                           entrées A : a1  a0

                                        B : b1 b0

                           Sortie  1 si A > B 

                                       0 sinon

        a1   a0  b1   b0    s

        0     0     0     0     0

        0      0    0     1     0     

        0     0     1     0     1

        0     0     1     1     1

        0     1     0     0     1

        0     1     0     1     0

        0     1     1     0     1

        0     1     1     1     1                                       

        1     0     0     0     0                                         

        1     0     0     1     0                                      

        1     0     1     0     0                                   

        1     0     1     1     0

        1     1     0     0     0

        1     1     0     1     0

        1     1     1     0     1

        1     1     1     1     0

        • Partager sur Facebook
        • Partager sur Twitter
          16 janvier 2014 à 16:00:11

          Coucou Wear,

          je ne suis pas sûr de bien comprendre ton exercice mais je vais essayer tout de même...

          Alors, voilà, comme tu ne l'as pas compris, on va revenir un petit coup sur le complément à 2.

          Le complément à deux est entre autres une astuce pour coder des nombres négatifs avec du binaire et surtout de faire des opérations avec.

          Si on regarde les exemples sur Wikipédia, c'est tout à fait parlant.

          Reprenons leur exemple :

          Un nombre positif sera codé 0xxxxxxx et un nombre négatif par 1xxxxxxx

          Imaginons que l'on veuille ajouter 3 à -4, c'est à dire : 00000011 (C'est à dire 3) + 10000100 (-4)

          Si tu ajoutes bit à bit, tu obtiens 3+(-4) = 10000111, c'est à dire -7 !

          Et là, comme tu es bon en maths, tu te dis, 3+(-4) étant égal à -1, alors on a un problème !

          C'est pour éviter ce genre de problème que les compléments à 2 ont été inventés.

          Autrement dit :

          Les nombres positifs sont codés comme précédemment, donc +3 sera bien représenté par 00000011

          Par contre, pour créer un nombre négatif, on prendra son équivalent en positif et il sera complété à 2, ce qui veut dire que chacun de ses bits sera inversé et on ajoute 1 au résultat obtenu, on ne tient pas compte d'un quelconque bit de dépassement.

          Ainsi pour coder -4, on prend +4 c'est à dire 00000100 et on le complète à 2 (on inverse ses bits et on ajoute 1).

          Il devient 11111011+1 donc : 11111100 (c'est à dire -4)

          D'ailleurs, si tu regardes bien, ce nombre obtenu : 11111100, si tu lui ajoutes 4 (00000100) qu'obtiens-tu ?

          1 00000000 (On ne tient pas compte du dépassement à gauche du 1, il reste 00000000)

          Quel est le nombre qui ajouté à 4 donne 0 ? Eh bien, c'est bien -4 ! CQFD, donc le nombre 11111100 peut bien être considéré comme -4.

          Maintenant, que tout ceci est expliqué, que dire de ton exercice ?

          C'est simple prenons, quelques lignes dans l'ordre :

          00 signifie effectivement la valeur 0,

          01 représente la valeur +1

          10 représente la valeur -2 (Suivant mes explications des compléments à 2 ci-dessus)

          11 représente la valeur -1 (Suivant mes explications des compléments à 2 ci-dessus)

          Donc ton tableau s'éclaire :

          Exemple de ligne : A=11 B=10

          A vaut alors -1 et B vaut alors -2. Comme -1>-2, la sortie vaut 1.

          Autre exemple : A=01 B=10

          A vaut alors +1, B vaut -2 donc A>B amène la sortie à 1

          Autre exemple : A=00 B=01

          A=0 et B vaut+1, la sortie reste à 0 (Car A<=B)

          Et dernier exemple :A = 00, B=10

          A vaut 0 et B vaut -2 (suivant les explications des compléments à 2)

          Donc A>B, la sortie passe à 1.

          Voilà comment je comprends ton tableau.

          A++,

          Thierry

          • Partager sur Facebook
          • Partager sur Twitter
            16 janvier 2014 à 16:19:14

            Super, merci pour toutes ces explications.
            • Partager sur Facebook
            • Partager sur Twitter

            Circuit "diviseur"

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown