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 :

code perforation en VHDL


Sujet :

VHDL

  1. #1
    Candidat au Club
    Femme Profil pro
    1
    Inscrit en
    Mai 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : 1
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2
    Points : 4
    Points
    4
    Par défaut code perforation en VHDL
    Bonsoir,

    Je suis Etudiante en mastère de recherche et je suis entrain de faire mon mémoire.j'ai besoin de vous aide et urgent .mon probleme lorsque je develpoe avec vhdl j'ai rencontre des problemes.brv mon procesus est la suivant: j'ai 3 tableau un tableau s'appelle entree ,code_punct et sortie.donc je fait un test sur le tableau de code_punct element par element si code_punct vaut 1 donc sortie(i) va prendre entree(i) sinon(c.a.d code_punct =0) sortie(i) va prendre 0 .le test se fait tout au long de taille de code_punct c.a.d lorsque le tableau de code_punct se fini et le tableau de l'entree pas encore le test se refaire de le debut de tableau de code_punct.exemple entree :111111111 :code_punct: 1101 sortie donc vaut:110111011.voici mon essai .svp quelqu'un m'aider .mon probleme ce que comment retourne le test dés le debut si code_punct se termine ?

    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
    library ieee;
    use ieee.std_logic_1164.all;
    use ieee.numeric_std.all;
    use ieee.std_logic_arith.all;
    use ieee.numeric_bit.all;
    use ieee.numeric_std.all;
    entity essaii is 
     
    port (
    entree : in std_logic_vector(0 to 8);
    RST : in std_logic;
    CLK: in std_logic;
    sortie : out std_logic_vector(0 to 8)
     
    );
    end essaii;
    architecture arch_punctring of essaii is
    signal code_punct:std_logic_vector(0 to 3); --2/3
    signal tmp: std_logic_vector(0 to 8);
    signal n:integer range 0 to 8;
    begin
    U1 : process ( Clk, RST)
    Variable j:integer range 0 to 8 :=0;
    variable i:integer range 0 to 3:=0;
    Begin
    If ( RST='1') then 
    code_punct<= (others =>'0');
    sortie <= (others =>'0');
    tmp<=(others=>'0');
     
    elsif (Clk='1' and Clk'event) then
    n <= entree' length ;
    if (code_punct ="1101") then
    n <= entree' length ;
    for q in 0 to (entree'length ) loop
    if (j = code_punct'length) then
    j:=0;
    else 
    j:=j+1;
    end if;
    end loop;
    for i in 0 to (n - 1) loop
    if (code_punct(i) ='1') then
    tmp(i) <= entree(i);
    i:=i+1;
    else
    tmp(j)<='0';
     
    end if;
     
    end loop;
    end if;
    sortie<=tmp;
    end if;
    end process U1;
    end arch_punctring;

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 61
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Supprimez les bibliothèques suivantes (incompatibles avec la "numeric_std" qui est une VRAIE ieee, contrairement aux std_logic_arith et std_logic_unsigned). Je sais, on tape "ieee.xxx" mais c'est de la publicité mensongère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    use ieee.std_logic_arith.all;
    use ieee.numeric_bit.all;
    use ieee.numeric_std.all;
    Votre code est trop orienté "software". Le VHDL est un langage "hardware", évitez les integer, natural & compagnie pour les objets dynamiques ("port" et "signal"). Enfin, les variables sont elles aussi à éviter.

    Cordialement,

Discussions similaires

  1. Convertir un code C en VHDL
    Par mariyouma dans le forum VHDL
    Réponses: 7
    Dernier message: 04/04/2019, 12h23
  2. Adapter du code SystemC en VHDL
    Par Gefroren dans le forum VHDL
    Réponses: 4
    Dernier message: 15/04/2015, 10h41
  3. Convertir du code Matlab en VHDL
    Par okitrinaw dans le forum VHDL
    Réponses: 2
    Dernier message: 14/05/2012, 20h03

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