IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VHDL Discussion :

calcul parité matrice


Sujet :

VHDL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut calcul parité matrice
    Bonjour à tous,

    Voila mon problème,
    j'ai en entrée plusieurs registres que je veux mettre sous forme de matrice,

    je voudrais ensuite vérifier la parité horizontale et verticale de cette matrice.

    par exemple en entrée j'ai 4 registres 0000, 0001, 0010, 1111

    je veux les mettre dans une matrice de tel sorte qu'ils soient:
    0000
    0001
    0010
    1111
    pour pouvoir ensuite calculé la parité de chaque ligne et de chaque colonne.
    Si quelqu'un à une idée je suis preneurs.
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    ----------------------------------------------------------------------------------
    -- Company: 
    -- Engineer: 
    -- 
    -- Create Date:    14:02:50 05/21/2013 
    -- Design Name: 
    -- Module Name:    parity_matrice - Behavioral 
    -- Project Name: 
    -- Target Devices: 
    -- Tool versions: 
    -- Description: 
    --
    -- Dependencies: 
    --
    -- Revision: 
    -- Revision 0.01 - File Created
    -- Additional Comments: 
    --
    ----------------------------------------------------------------------------------
    library IEEE;
    use IEEE.STD_LOGIC_1164.ALL;
     
    -- Uncomment the following library declaration if using
    -- arithmetic functions with Signed or Unsigned values
    --use IEEE.NUMERIC_STD.ALL;
     
    -- Uncomment the following library declaration if instantiating
    -- any Xilinx primitives in this code.
    --library UNISIM;
    --use UNISIM.VComponents.all;
     
    entity test is
      generic ( 	size_i : integer :=4;
    					size_j : integer :=4
    				);
    end test;
     
    architecture behave of test is
    type dataout is array (size_i downto 0,size_j downto 0) of std_logic;
    signal a : dataout := ("0000", "1111", "1010","0100");
    signal b_i : bit;
    signal b_j : bit;
    begin  -- behave
      process
    variable parite_i : bit;
    variable parite_j : bit; 
     
      begin  -- process
     parite_i :='1';
     parite_j :='1';
        for i in 0 to size_i loop
          for j in 0 to size_j loop
            if a(i) ='1' then
    		parite_i := not parite_i;
    		end if;
    		  if a(j) ='1' then
    		parite_j := not parite_j;
    		end if;
     
     
          end loop;  -- j
        end loop;  -- i
    	b_i <= parite_i;
    	b_j <= parite_j;
        wait;
      end process;
     
    end behave;
    merci à tous

  2. #2
    Membre expérimenté

    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2010
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2010
    Messages : 545
    Points : 1 431
    Points
    1 431
    Par défaut
    Bonjour,

    Je pense que les tableaux a 2 dimensions n'existent pas en VHDL.
    Il faut que tu passes par des tableaux de tableaux.
    Ce ne sera certainement pas synthétisable.
    Jette un coup d’œil sur le mot clef record ce peut intéresser.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    Merci de ta réponse je vais voir ça et je vous tiens au courant.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Points : 15
    Points
    15
    Par défaut
    bonjour à tous,

    Alors, on peut effectivement faire un tableau à 2 dimensions comme je l'ai fait dans mon code. Mon code est fonctionnel, en fait je ne faisait qu'afficher la parité de la dernière ligne et de la dernière colonne.
    J'ai simplement rajouter deux registres pour sauvegarder la parité de chaque ligne et de chaque colonne.
    Voila

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. algorithme qui calcul la matrice de coocurence
    Par takfa2008 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 13/11/2008, 09h41
  2. Calcul de matrice jacobienne
    Par malikakika dans le forum C++Builder
    Réponses: 1
    Dernier message: 04/05/2008, 02h17
  3. Calculer une matrice avec la méthode de EULER
    Par lematlabeur dans le forum MATLAB
    Réponses: 7
    Dernier message: 05/11/2007, 18h22
  4. Moteur 2D: Pb de calcul de Matrice de transformation
    Par themadmax dans le forum Algorithmes et structures de données
    Réponses: 14
    Dernier message: 29/06/2006, 11h22
  5. calcul de matrice
    Par harsh dans le forum OpenGL
    Réponses: 1
    Dernier message: 08/03/2005, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo